/* Oak City Sites — about-v2: modern dev studio (Linear/Vercel style) */
:root{
  --bg:#0a0a0c;
  --bg-elev:#111114;
  --bg-elev-2:#17171b;
  --border:rgba(255,255,255,.08);
  --border-strong:rgba(255,255,255,.14);
  --text:#f2efea;
  --text-dim:#a4a0a0;
  --text-mut:#6b6866;
  --rust:#d4875f;
  --rust-dim:#b9785c;
  --brass:#c9a97a;
  --accent-bg:rgba(212,135,95,.08);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}
html{background:#07050a url("images/oak-hero.jpg") center center/cover no-repeat fixed;scroll-behavior:smooth}
body{font-family:"Inter",system-ui,-apple-system,"Space Grotesk",sans-serif;color:var(--text);line-height:1.55;font-size:15px;-webkit-text-size-adjust:100%;min-height:100vh;background:linear-gradient(180deg,rgba(7,5,10,.32) 0%,rgba(7,5,10,.5) 50%,rgba(7,5,10,.66) 100%);position:relative}
@media (max-width:900px){html{background-attachment:scroll;background-position:center top}}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.skip-link{position:absolute;left:12px;top:-60px;z-index:4000;padding:10px 16px;background:var(--text);color:var(--bg);border-radius:6px;transition:top .15s}
.skip-link:focus{top:12px}
.hc-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.hc-narrow{max-width:720px}
.mono{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-ligatures:none}

/* ---------------- nav ---------------- */
.hc-nav{position:relative;z-index:100;background:transparent;border-bottom:1px solid rgba(255,255,255,.08)}
.hc-nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 24px;max-width:1240px;margin:0 auto}
.hc-logo{display:flex;align-items:center;gap:12px;color:#f4ecdc;font-family:"Fraunces",Georgia,serif;font-size:1.25rem;font-weight:400;letter-spacing:-.01em;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.hc-logo b{font-weight:500;color:var(--rust)}
.hc-logo-mark{width:38px;height:38px;color:#f4ecdc;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));flex-shrink:0}
.hc-logo-pic{border-radius:50%;background:#07050a url("images/oak-hero.jpg") 50% 48% / auto 100% no-repeat;box-shadow:0 1px 3px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.14) inset;filter:none}
.hc-links{display:flex;align-items:center;gap:4px}
.hc-links a{color:#e9e0ca;font-size:.9rem;font-weight:500;padding:8px 14px;border-radius:6px;transition:color .15s,background .15s;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.hc-links a:not(.hc-btn):hover{color:#fff;background:rgba(255,255,255,.06)}
.hc-links .hc-btn{margin-left:8px}
@media (max-width:720px){.hc-links a:not(.hc-btn){display:none}}

/* ---------------- buttons ---------------- */
.hc-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:7px;font-family:inherit;font-weight:500;font-size:.88rem;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s,transform .1s;letter-spacing:-.005em}
.hc-btn-ink{background:var(--text);color:var(--bg);border-color:var(--text)}
.hc-btn-ink:hover{background:#fff;border-color:#fff}
.hc-btn-ink:active{transform:translateY(1px)}
.hc-btn-leaf{background:#5a8a2e;color:#f5f1e4;border-color:#5a8a2e;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 4px 14px -4px rgba(90,138,46,.5)}
.hc-btn-leaf:hover{background:#6ba13c;border-color:#6ba13c;box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 6px 20px -4px rgba(107,161,60,.6)}
.hc-btn-leaf:active{transform:translateY(1px)}
.hc-btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}
.hc-btn-ghost:hover{background:var(--bg-elev);border-color:rgba(255,255,255,.22)}
.hc-btn-big{padding:14px 24px;font-size:.98rem;border-radius:9px}

/* ---------------- intro ---------------- */
.hc-intro{padding:clamp(80px,12vw,160px) 0 clamp(60px,8vw,100px);position:relative;overflow:hidden;text-align:left}
.hc-intro::before{content:"";position:absolute;top:-30%;left:50%;width:1200px;height:800px;margin-left:-600px;background:radial-gradient(ellipse,rgba(212,135,95,.08),transparent 60%);pointer-events:none}
.hc-intro .hc-wrap{position:relative}
.hc-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rust);margin-bottom:28px;padding:6px 12px;border:1px solid rgba(212,135,95,.3);border-radius:999px;background:rgba(212,135,95,.06)}
.hc-eyebrow::before{content:"";width:6px;height:6px;background:var(--rust);border-radius:50%;box-shadow:0 0 0 3px rgba(212,135,95,.2)}
.hc-h1{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(2.4rem,6.2vw,5rem);line-height:1.02;letter-spacing:-.03em;color:var(--text);max-width:18ch}
.hc-h1 em{font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:400;color:var(--rust)}
.hc-ink-u{display:inline;position:relative}
.hc-ink-u::after{display:none}
.hc-sub{margin:32px 0 0;max-width:52ch;font-size:1.08rem;color:#e9e0ca;line-height:1.6;text-shadow:0 1px 3px rgba(0,0,0,.5)}

/* ---------------- section headings ---------------- */
.hc-sec-head{display:grid;grid-template-columns:auto 1fr;align-items:start;column-gap:clamp(20px,3vw,40px);row-gap:12px;margin-bottom:clamp(40px,5vw,64px)}
.hc-num{grid-row:1 / span 2;align-self:start;font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:600;font-size:clamp(2rem,3.6vw,2.8rem);line-height:1;color:var(--rust);letter-spacing:-.02em;padding:6px 16px;border:1.5px solid rgba(212,135,95,.35);border-radius:10px;background:rgba(212,135,95,.06);min-width:3.6ch;text-align:center;position:relative;top:4px}
.hc-num::after{content:none}
.hc-h2{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:-.02em;color:var(--text)}
.hc-sec-note{color:var(--text-dim);font-size:.95rem;max-width:60ch;grid-column:2}
@media (max-width:560px){.hc-sec-head{grid-template-columns:1fr;row-gap:16px}.hc-num{grid-row:auto;justify-self:start}.hc-sec-note{grid-column:1}}

/* ---------------- work: browser-chrome cards ---------------- */
.hc-work{padding:clamp(60px,6vw,100px) 0}
.hc-polaroids{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.hc-polaroid{background:transparent;border:1px solid var(--border-strong);border-radius:12px;overflow:hidden;transition:border-color .2s,transform .2s;position:relative}
.hc-polaroid::before{content:"";position:absolute;top:0;left:0;right:0;height:28px;background:transparent;border-bottom:1px solid var(--border-strong);z-index:2}
.hc-polaroid::after{content:"";position:absolute;top:10px;left:14px;width:8px;height:8px;border-radius:50%;background:#3a3a3e;box-shadow:14px 0 0 #3a3a3e,28px 0 0 #3a3a3e;z-index:3}
.hc-polaroid:hover{border-color:rgba(212,135,95,.4);transform:translateY(-3px)}
.hc-ph{aspect-ratio:4/5;overflow:hidden;background:transparent;margin-top:28px}
.hc-ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.hc-polaroid:hover .hc-ph img{transform:scale(1.02)}
.hc-polaroid figcaption{padding:16px 18px;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border)}
.hc-cap-name{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.05rem;color:var(--text);letter-spacing:-.01em}
.hc-cap-kind{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.72rem;color:var(--text-mut);letter-spacing:.04em;text-transform:lowercase}

/* ---------------- how: steps as spec rows ---------------- */
.hc-how{padding:clamp(60px,6vw,100px) 0}
.hc-steps{list-style:none;display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--border-strong);border-radius:12px;overflow:hidden;background:transparent}
.hc-step{position:relative;padding:28px 32px 28px 100px;border-bottom:1px solid var(--border);transition:background .2s}
.hc-step:last-child{border-bottom:none}
.hc-step:hover{background:rgba(255,255,255,.03)}
.hc-step-n{position:absolute;top:28px;left:32px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.78rem;color:var(--rust);letter-spacing:.08em}
.hc-step-n::before{content:"step "}
.hc-step h3{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.15rem;margin-bottom:8px;color:var(--text);letter-spacing:-.01em}
.hc-step p{color:var(--text-dim);font-size:.95rem;line-height:1.55;max-width:70ch}

/* ---------------- pricing ---------------- */
.hc-pricing{padding:clamp(60px,6vw,100px) 0}
.hc-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:stretch}
.hc-plan{position:relative;background:transparent;border:1px solid var(--border-strong);border-radius:14px;padding:28px 24px 24px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.hc-plan:hover{border-color:rgba(255,255,255,.18)}
.hc-plan-pop{background:transparent;border-color:rgba(212,135,95,.6);box-shadow:0 0 0 1px rgba(212,135,95,.3) inset}
.hc-plan-pop:hover{border-color:var(--rust)}
.hc-plan-badge{position:absolute;top:-10px;right:20px;background:var(--rust);color:var(--bg);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.68rem;font-weight:600;padding:3px 10px;border-radius:999px;letter-spacing:.06em;text-transform:uppercase}
.hc-plan-head h3{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.3rem;margin-bottom:4px;color:var(--text);letter-spacing:-.01em}
.hc-plan-tag{font-size:.86rem;color:var(--text-dim);margin-bottom:22px}
.hc-plan-price{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:2.4rem;line-height:1;margin-bottom:22px;position:relative;padding-top:14px;color:var(--text);letter-spacing:-.02em}
.hc-plan-price small{display:block;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:500;margin-top:8px;color:var(--text-mut)}
.hc-plan-price .hc-from{position:absolute;top:0;left:0;font-size:.68rem;font-family:"JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mut)}
.hc-plan-price .hc-currency{font-size:1.2rem;vertical-align:top;margin-right:2px;color:var(--text-dim)}
.hc-plan-feats{list-style:none;margin:0 0 24px;flex:1}
.hc-plan-feats li{padding:9px 0 9px 24px;position:relative;font-size:.9rem;color:var(--text-dim);border-top:1px solid var(--border)}
.hc-plan-feats li:first-child{border-top:none}
.hc-plan-feats li::before{content:"";position:absolute;left:0;top:14px;width:14px;height:8px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 8'><path d='M1 4 L 5 7 L 13 1' fill='none' stroke='%23d4875f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain}
.hc-plan-feats li strong{color:var(--text);font-weight:500}
.hc-plan .hc-btn{align-self:stretch;justify-content:center}
.hc-care{margin-top:24px;padding:20px 24px;background:transparent;border:1px dashed var(--border-strong);border-radius:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.hc-care h4{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.05rem;margin-bottom:4px;color:var(--text)}
.hc-care p{font-size:.88rem;color:var(--text-dim)}
.hc-care-note{color:var(--text-mut);font-size:.82rem;margin-top:4px}
.hc-aside{text-align:center;margin-top:20px;color:var(--text-mut);font-size:.88rem}
.hc-aside a{color:var(--rust);text-decoration:underline;text-decoration-color:rgba(212,135,95,.4);text-underline-offset:3px}

/* ---------------- story ---------------- */
.hc-story{padding:clamp(60px,6vw,100px) 0}
.hc-story-body{max-width:720px}
.hc-pull{font-family:"Fraunces",Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(1.3rem,2.2vw,1.65rem);line-height:1.35;color:var(--text);margin-bottom:28px;letter-spacing:-.01em}
.hc-story-body p+p{margin-top:18px}
.hc-story-body p:not(.hc-pull){color:var(--text-dim);font-size:1rem;line-height:1.7}

/* ---------------- faq ---------------- */
.hc-faq{padding:clamp(60px,6vw,100px) 0}
.hc-faq-list{display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:12px;overflow:hidden;background:transparent}
.hc-q{border-bottom:1px solid var(--border);transition:background .15s}
.hc-q:last-child{border-bottom:none}
.hc-q:hover{background:rgba(255,255,255,.03)}
.hc-q summary{cursor:pointer;padding:20px 24px;font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.02rem;list-style:none;position:relative;padding-right:52px;color:var(--text);letter-spacing:-.01em}
.hc-q summary::-webkit-details-marker{display:none}
.hc-q summary::after{content:"";position:absolute;right:24px;top:50%;width:12px;height:12px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M6 2v8M2 6h8' stroke='%23d4875f' stroke-width='1.5' stroke-linecap='round'/></svg>") no-repeat center/contain;transform:translateY(-50%);transition:transform .2s}
.hc-q[open] summary::after{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 6h8' stroke='%23d4875f' stroke-width='1.5' stroke-linecap='round'/></svg>") no-repeat center/contain}
.hc-q p{padding:0 24px 20px;color:var(--text-dim);font-size:.95rem;line-height:1.6}

/* ---------------- final cta ---------------- */
.hc-cta{padding:clamp(80px,8vw,120px) 0;text-align:center;position:relative;overflow:hidden}
.hc-cta::before{content:"";position:absolute;top:0;left:50%;width:800px;height:400px;margin-left:-400px;background:radial-gradient(ellipse at center top,rgba(212,135,95,.1),transparent 70%);pointer-events:none}
.hc-cta .hc-wrap{position:relative}
.hc-cta .hc-h2{color:var(--text)}
.hc-cta p{color:var(--text-dim);margin:14px auto 28px;max-width:48ch;font-size:1.02rem}
.hc-tel{margin-top:28px!important;font-size:.88rem;color:var(--text-mut)}
.hc-tel a{color:var(--text);text-decoration:underline;text-decoration-color:rgba(212,135,95,.4);text-underline-offset:3px}

/* ---------------- footer ---------------- */
.hc-footer{padding:28px 0;border-top:1px solid var(--border);background:transparent}
.hc-footer .hc-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--text-mut)}
.hc-footer a{color:var(--text-mut)}
.hc-footer a:hover{color:var(--text)}

/* ---------------- reduced motion ---------------- */
@media (prefers-reduced-motion:reduce){.hc-polaroid,.hc-polaroid:hover,.hc-polaroid:hover .hc-ph img,.hc-plan,.hc-plan:hover,.hc-step{transform:none!important;transition:none!important}}

/* ---------------- quote page ---------------- */
.hc-quote{padding:clamp(60px,8vw,120px) 0 clamp(80px,10vw,140px)}
.hc-back{display:inline-flex;align-items:center;gap:8px;color:var(--rust);font-size:.9rem;font-weight:500;margin-bottom:40px;text-shadow:0 1px 3px rgba(0,0,0,.5);transition:color .15s}
.hc-back:hover{color:#f3a978}
.hc-quote-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,80px);align-items:start}
@media (max-width:860px){.hc-quote-grid{grid-template-columns:1fr}}
.hc-quote-copy .hc-h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:20px}
.hc-quote-copy .hc-sub{margin-top:20px}
.hc-quote-note{margin-top:20px;padding:14px 18px;border-left:3px solid var(--rust);background:rgba(212,135,95,.08);color:#f0e8d4;font-size:.95rem;border-radius:0 6px 6px 0;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.hc-quote-note strong{color:var(--text)}
.hc-quote-contact{list-style:none;margin-top:28px;display:flex;flex-direction:column;gap:12px}
.hc-quote-contact a{color:#e9e0ca;font-size:1rem;font-weight:500;display:inline-flex;align-items:center;gap:10px;text-shadow:0 1px 3px rgba(0,0,0,.5);transition:color .15s}
.hc-quote-contact a:hover{color:var(--rust)}
.hc-quote-contact span{color:var(--rust);font-size:1.1rem}

/* form */
.hc-form{display:flex;flex-direction:column;gap:16px}
.hc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hc-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.hc-row{grid-template-columns:1fr}}
.hc-form label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:#e9e0ca;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.4);letter-spacing:.01em}
.hc-req{color:var(--rust)}
.hc-opt{color:var(--text-mut);font-weight:400;text-transform:none;letter-spacing:0;font-size:.76rem}
.hc-form input,.hc-form select,.hc-form textarea{font-family:inherit;font-size:.95rem;color:var(--text);background:rgba(10,8,14,.5);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:12px 14px;transition:border-color .15s,background .15s,box-shadow .15s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hc-form input:hover,.hc-form select:hover,.hc-form textarea:hover{border-color:rgba(255,255,255,.24)}
.hc-form input:focus,.hc-form select:focus,.hc-form textarea:focus{outline:none;border-color:var(--rust);background:rgba(10,8,14,.65);box-shadow:0 0 0 3px rgba(212,135,95,.18)}
.hc-form textarea{resize:vertical;min-height:120px;font-family:inherit}
.hc-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7'><path d='M1 1 L6 6 L11 1' fill='none' stroke='%23d4875f' stroke-width='1.6' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 7px;padding-right:40px}
.hc-form select option{background:#111114;color:var(--text)}
.hc-btn-full{width:100%;justify-content:center}
.hc-err{color:#ff8a7a;font-size:.88rem;min-height:1.2em;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.hc-success{padding:40px 24px;text-align:center;border:1px solid var(--border-strong);border-radius:14px}
.hc-ok{font-size:3rem;color:#5a8a2e;margin-bottom:16px}
.hc-success h3{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.6rem;margin-bottom:8px;color:var(--text)}
.hc-success p{color:#e9e0ca;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.oak-hero{position:relative;overflow:hidden;min-height:min(820px,92vh);display:flex;align-items:center;justify-content:center;isolation:isolate;background:#0a0806}
.oak-stage{position:absolute;inset:0;z-index:0;pointer-events:none}
.oak-sky{position:absolute;inset:0;background:radial-gradient(ellipse 55% 45% at 50% 95%,rgba(220,145,70,.18),transparent 70%),linear-gradient(180deg,#0e0a07 0%,#07050a 55%,#030306 100%)}
.oak-tree{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;opacity:0;transform:scale(.18) translateY(45%);transform-origin:50% 100%;filter:brightness(.85) contrast(1.05);animation:oak-grow 3.2s cubic-bezier(.2,.65,.3,1) 1.5s forwards}
.oak-seed{position:absolute;left:50%;bottom:9%;width:18px;height:22px;margin-left:-9px;background:linear-gradient(135deg,#d9a26a,#6b3f22 55%,#3a2010);border-radius:50% 50% 45% 45%;box-shadow:inset -3px -4px 6px rgba(0,0,0,.45),inset 2px 2px 3px rgba(255,220,170,.35),0 0 24px rgba(240,180,90,.55),0 6px 10px rgba(0,0,0,.6);opacity:0;transform:translateY(-120vh) rotate(-10deg);animation:seed-drop 1.4s cubic-bezier(.5,.05,.4,1) .3s forwards,seed-fade .4s ease-out 1.7s forwards}
.oak-seed::after{content:"";position:absolute;top:-5px;left:50%;width:9px;height:7px;margin-left:-4.5px;background:linear-gradient(180deg,#5a3a24,#2a1810);border-radius:50% 50% 30% 30%;box-shadow:0 1px 0 rgba(255,220,170,.2) inset}
.oak-seed::before{content:"";position:absolute;top:-10px;left:50%;width:2px;height:6px;margin-left:-1px;background:#2a1810;border-radius:2px}
.oak-card{position:absolute;top:14%;left:50%;width:min(280px,70vw);transform:translate(-50%,-10px);background:#efe6d6;border-radius:12px;padding:16px 18px;box-shadow:0 24px 48px -16px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.3);opacity:0;animation:card-bloom .9s cubic-bezier(.2,.8,.3,1) 4.6s forwards;z-index:3}
.oak-card::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#b9785c,#a3644d);border-radius:12px 12px 0 0}
.oak-card-top{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.1rem;color:#1b1612;margin-top:4px}
.oak-card-mid{font-family:"Space Grotesk",sans-serif;font-size:.85rem;color:#6e5a4a;margin-top:4px}
.oak-card-foot{font-family:"Space Grotesk",sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a3644d;margin-top:10px;padding-top:8px;border-top:1px solid rgba(26,22,18,.1)}
.oak-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,8,6,.55) 0%,rgba(10,8,6,.15) 35%,rgba(10,8,6,.25) 70%,rgba(10,8,6,.75) 100%)}
.oak-in{position:relative;z-index:2;text-align:center;max-width:min(760px,90vw);padding:48px 24px}
.oak-in h1{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.04;letter-spacing:-.02em;color:#f6ead4;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.oak-in h1 em{font-style:italic;color:#e8b878}
.oak-tag{margin:18px auto 24px;max-width:50ch;color:#efe4c8;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.5;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.oak-in .hero-cta{display:inline-block}
@keyframes seed-drop{0%{opacity:0;transform:translateY(-120vh) rotate(-10deg)}10%{opacity:1}80%{transform:translateY(-6px) rotate(5deg)}92%{transform:translateY(2px) rotate(-3deg)}100%{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes seed-fade{to{opacity:0;transform:translateY(4px) scale(.6)}}
@keyframes oak-grow{0%{opacity:0;transform:scale(.18) translateY(45%)}30%{opacity:.5}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes card-bloom{0%{opacity:0;transform:translate(-50%,-24px) scale(.85)}60%{opacity:1}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
@media (prefers-reduced-motion:reduce){.oak-tree{opacity:1;transform:none;animation:none}.oak-seed{display:none}.oak-card{opacity:1;transform:translate(-50%,0);animation:none}}


/* ---- landing-msg (small callout under hero on index-v2) ---- */
.landing-msg{text-align:center;max-width:640px;margin:0 auto;padding:60px 24px}
.landing-msg .eyebrow{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rust)}
.landing-msg h2{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.6rem);margin:10px 0 14px;color:#f3ecd8;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.landing-msg p{color:#e9e0ca;font-size:1.05rem;line-height:1.6;margin:0 0 10px;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.landing-msg p:last-of-type{margin-bottom:24px}
.landing-msg .hero-cta{display:inline-block}

/* keep index-v2 hero text-only chrome visible over new bg */
.oak-in .hero-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:9px;font-family:inherit;font-weight:500;font-size:.98rem;background:#5a8a2e;color:#f5f1e4;text-decoration:none;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 4px 14px -4px rgba(90,138,46,.5)}
.oak-in .hero-cta:hover{background:#6ba13c}

/* ---- index-v2 hero override: text only, oak bg comes from html ---- */
.oak-hero{background:transparent!important;min-height:min(78vh,760px);display:flex;align-items:center;justify-content:center;padding:clamp(80px,10vh,140px) 24px;position:relative;overflow:visible}
.oak-hero .oak-in{position:relative;z-index:2;text-align:center;max-width:min(760px,92vw);padding:0}
.oak-hero .oak-in h1{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(2.6rem,6vw,4.8rem);line-height:1.02;letter-spacing:-.03em;color:#f6ead4;text-shadow:0 2px 24px rgba(0,0,0,.75),0 1px 4px rgba(0,0,0,.6);margin:0}
.oak-hero .oak-in h1 em{font-style:italic;font-weight:400;color:#e8b878}
.oak-hero .oak-tag{margin:24px auto 32px;max-width:52ch;color:#f0e6cf;font-size:clamp(1.05rem,1.55vw,1.22rem);line-height:1.5;text-shadow:0 1px 10px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.5)}

/* ---- big brand lockup inside the hero ---- */
.oak-brand{display:inline-flex;align-items:center;gap:clamp(14px,2vw,24px);margin-bottom:clamp(28px,5vh,48px);text-shadow:0 2px 10px rgba(0,0,0,.55)}
.oak-brand-mark{width:clamp(64px,8vw,92px);height:clamp(64px,8vw,92px);flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.18) inset}
.oak-brand-name{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(2rem,4.6vw,3.6rem);letter-spacing:-.02em;color:#f6ead4;line-height:1}
.oak-brand-name b{font-weight:500;color:var(--rust)}

/* ---- big brand lockup pinned top-left of homepage hero ---- */
.oak-brand-corner{position:absolute;top:clamp(78px,10vh,120px);left:clamp(24px,5vw,56px);z-index:3;margin-bottom:0}
@media (max-width:720px){.oak-brand-corner{position:static;margin:0 auto clamp(24px,5vh,40px);justify-content:center}}

/* ---- big nav lockup — homepage only; logo is absolute so nav stays slim ---- */
.hc-logo-xl{position:absolute;top:50%;left:clamp(20px,3.5vw,56px);transform:translateY(-50%);font-size:clamp(1.6rem,2.6vw,2.4rem);gap:16px;z-index:3}
.hc-logo-xl .hc-logo-mark{width:clamp(56px,7vw,76px);height:clamp(56px,7vw,76px)}
.hc-nav:has(.hc-logo-xl){overflow:visible}
.hc-nav:has(.hc-logo-xl) .hc-nav-in{position:relative;overflow:visible;justify-content:flex-end;min-height:calc(clamp(56px,7vw,76px) + 16px)}
@media (max-width:720px){.hc-logo-xl{position:static;transform:none}.hc-nav:has(.hc-logo-xl) .hc-nav-in{justify-content:space-between}}

/* ---- mobile hero video: 9:16 loop under all content ---- */
.oak-bg-video{display:none}
@media (max-width:720px){
  .oak-bg-video{display:block;position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;object-fit:cover;z-index:-1;pointer-events:none}
  html{background-image:none!important;background-color:#07050a}
}

/* ---- mobile burger menu ---- */
.hc-burger{display:none;background:transparent;border:0;width:44px;height:44px;cursor:pointer;position:relative;padding:0;z-index:70}
.hc-burger span{display:block;width:24px;height:2px;background:#f4ecdc;margin:5px auto;transition:transform .25s,opacity .2s;border-radius:1px;box-shadow:0 1px 2px rgba(0,0,0,.6)}
@media (max-width:720px){
  .hc-burger{display:block}
  .hc-nav-in{justify-content:space-between!important}
  .hc-links{position:fixed;top:0;right:0;bottom:0;width:min(82vw,320px);background:rgba(7,5,10,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:84px 24px 40px;flex-direction:column;align-items:stretch;gap:4px;transform:translateX(100%);transition:transform .3s ease;z-index:60;box-shadow:-20px 0 40px rgba(0,0,0,.5);border-left:1px solid rgba(255,255,255,.08)}
  .hc-links.open{transform:translateX(0)}
  .hc-links a{display:block!important;width:100%;padding:14px 16px;font-size:1.05rem;border-radius:8px;color:#f4ecdc;text-shadow:none}
  .hc-links a:not(.hc-btn):hover{background:rgba(255,255,255,.06)}
  .hc-links .hc-btn{margin-top:14px;width:100%;justify-content:center;padding:14px}
  .hc-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hc-burger.open span:nth-child(2){opacity:0}
  .hc-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hc-nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .25s;z-index:55;pointer-events:none}
  .hc-nav-overlay.on{opacity:1;pointer-events:auto}
}


/* ---- mobile nav: compact height ---- */
@media (max-width:720px){
  .hc-nav-in{padding:10px 16px}
  .hc-logo-xl{font-size:1.2rem;gap:10px}
  .hc-logo-xl .hc-logo-mark{width:40px;height:40px}
  .hc-logo{font-size:1.05rem}
  .hc-logo-mark{width:34px;height:34px}
  .hc-burger{width:38px;height:38px}
  .hc-burger span{width:22px;margin:4px auto}
  .hc-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .hc-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}

/* ---- mobile: push nav down a touch from the viewport top edge ---- */
@media (max-width:720px){
  .hc-nav{margin-top:0;padding-top:24px}
}

/* ---- oak-themed scroll cue: acorn + dashed stem + chevron ---- */
.oak-scroll-cue{position:absolute;left:50%;bottom:clamp(16px,4vh,36px);transform:translateX(-50%);display:block;width:32px;height:96px;z-index:3;opacity:.85;text-decoration:none;transition:opacity .2s,transform .3s}
@media (min-width:721px){.oak-scroll-cue{display:none}}
.oak-scroll-cue:hover{opacity:1}
.oak-scroll-cue svg{width:100%;height:100%;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6));animation:oak-bob 2.2s ease-in-out infinite}
@keyframes oak-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.oak-scroll-cue svg{animation:none}}

/* ---- homepage SEO text: services + area served (below the hero) ---- */
.seo-blurb{max-width:720px;padding:10px 24px 80px}
.seo-blurb h2{font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.15}
.seo-blurb p{font-size:1rem}
.seo-blurb strong{color:#f6ead4;font-weight:600}
.seo-areas-label{margin-top:18px!important;font-size:.92rem!important;color:#f0e6cf}
.seo-areas{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 22px;padding:0}
.seo-areas li{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.74rem;letter-spacing:.04em;color:#f0e6cf;padding:6px 12px;border:1px solid rgba(212,135,95,.45);border-radius:999px;background:rgba(7,5,10,.4);text-shadow:none}
.seo-link{color:#e8b878;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.seo-link:hover{color:#f6ead4}
@media (max-width:720px){.seo-blurb{padding:0 20px 64px}.seo-blurb p{font-size:.98rem}}
