
  :root{
    --beige:#D6D0C3;
    --beige-2:#E2DDD2;
    --sage:#C5C7B1;
    --olive:#8B8F45;
    --olive-deep:#6E7236;
    --espresso:#2F1B10;
    --charcoal:#3E2A1F;
    --offwhite:#F5F5F3;
    --gold:#C8B27A;
    --rule: rgba(47,27,16,.18);
    --rule-strong: rgba(47,27,16,.4);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html,body{background:var(--offwhite);color:var(--espresso);}
  body{
    font-family:'Manrope', system-ui, sans-serif;
    font-size:16px;
    line-height:1.6;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  ::selection{background:var(--olive);color:var(--offwhite);}

  /* ---------- Type system ---------- */
  .serif{font-family:'Cormorant Garamond', 'Libre Baskerville', Georgia, serif;font-weight:400;letter-spacing:-.005em;}
  .display{
    font-family:'Cormorant Garamond', serif;
    font-weight:300;
    letter-spacing:-.018em;
    line-height:1.02;
  }
  .display em{font-style:italic;font-weight:300;color:var(--olive);}
  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    font-weight:500;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--charcoal);
    opacity:.75;
  }
  .eyebrow .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--olive);vertical-align:middle;margin:0 10px 2px 0;}
  .label-mono{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;}

  /* ---------- Layout ---------- */
  .wrap{max-width:1320px;margin:0 auto;padding:0 40px;}
  @media (max-width:720px){ .wrap{padding:0 22px;} }
  section{position:relative;}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:12px;
    padding:16px 28px;border-radius:999px;
    font-family:'Manrope',sans-serif;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
    text-decoration:none;cursor:pointer;border:1px solid transparent;
    transition: all .35s cubic-bezier(.2,.7,.2,1);
    white-space:nowrap;
  }
  .btn .arrow{display:inline-block;transition:transform .4s cubic-bezier(.2,.7,.2,1);}
  .btn:hover .arrow{transform:translateX(6px);}
  .btn-primary{background:var(--espresso);color:var(--offwhite);}
  .btn-primary:hover{background:var(--olive);}
  .btn-ghost{background:transparent;color:var(--espresso);border-color:var(--rule-strong);}
  .btn-ghost:hover{background:var(--espresso);color:var(--offwhite);border-color:var(--espresso);}
  .btn-onbrown{background:var(--offwhite);color:var(--espresso);}
  .btn-onbrown:hover{background:var(--gold);color:var(--espresso);}
  .btn-ghost-onbrown{background:transparent;color:var(--offwhite);border-color:rgba(245,245,243,.4);}
  .btn-ghost-onbrown:hover{background:var(--offwhite);color:var(--espresso);border-color:var(--offwhite);}

  /* ---------- Header ---------- */
  header.site{
    position:fixed;top:0;left:0;right:0;z-index:50;
    padding:20px 40px;
    transition: background .4s ease, padding .4s ease, border-color .4s ease;
    border-bottom:1px solid transparent;
  }
  header.site.scrolled{
    background:rgba(245,245,243,.86);
    backdrop-filter: blur(14px) saturate(120%);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    padding:14px 40px;
    border-bottom-color:var(--rule);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1400px;margin:0 auto;}
  .brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--espresso);}
  .brand img{height:46px;width:auto;display:block;}
  .brand .wordmark{display:flex;flex-direction:column;line-height:1;}
  .brand .wordmark .n1{font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:.04em;}
  .brand .wordmark .n2{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--charcoal);opacity:.7;margin-top:4px;}
  nav.menu{display:flex;align-items:center;gap:36px;}
  nav.menu .links a{
    font-size:13px;font-weight:400;letter-spacing:.03em;text-decoration:none;color:var(--espresso);
    position:relative;
  }
  nav.menu .links a::after{
    content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--olive);
    transition:right .4s cubic-bezier(.2,.7,.2,1);
  }
  nav.menu .links a:hover::after{right:0;}
  nav.menu .cta{margin-left:8px;}
  @media (max-width:880px){
    nav.menu .links{display:none;}
    header.site{padding:14px 22px;}
  }

  /* ---------- Hero ---------- */
  .hero{
    background:var(--beige);
    padding:160px 0 80px;
    position:relative;overflow:hidden;
    min-height:100vh;
    display:flex;flex-direction:column;justify-content:flex-end;
  }
  .hero::before{
    content:"";position:absolute;inset:0;
    background-image:
      radial-gradient(ellipse at 20% 0%, rgba(245,245,243,.5), transparent 55%),
      radial-gradient(ellipse at 100% 100%, rgba(139,143,69,.08), transparent 50%);
    pointer-events:none;
  }
  .grain{
    position:absolute;inset:0;pointer-events:none;opacity:.45;mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.18  0 0 0 0 0.10  0 0 0 0 0.06  0 0 0 0.07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  }
  .hero-inner{position:relative;z-index:2;}
  .hero-meta{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--rule);padding-top:20px;margin-top:48px;}
  .hero-meta .col{display:flex;flex-direction:column;gap:6px;}
  .hero-meta .col .v{font-family:'Cormorant Garamond',serif;font-size:18px;}
  .hero h1{
    font-size:clamp(48px, 9.4vw, 148px);
    line-height:.98;
    letter-spacing:-.02em;
    max-width:18ch;
  }
  .hero h1 .ornament{
    display:inline-block;width:.42em;height:.42em;border:1px solid var(--espresso);border-radius:50%;
    margin:0 .12em .14em .14em;vertical-align:baseline;
  }
  .hero-row{display:grid;grid-template-columns: 1fr minmax(280px, 380px);gap:60px;align-items:flex-end;margin-top:48px;}
  .hero-row p{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(18px,1.5vw,22px);
    font-weight:400;line-height:1.5;
    color:var(--charcoal);
    max-width:42ch;
  }
  .hero-cta{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
  .hero-cta .btn{width:100%;justify-content:space-between;}
  .hero-eyebrow-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;}
  .hero-eyebrow-row .eyebrow{display:inline-flex;align-items:center;}
  @media (max-width:820px){
    .hero{padding:130px 0 60px;}
    .hero-row{grid-template-columns:1fr;gap:32px;}
    .hero-meta{flex-wrap:wrap;gap:24px;}
  }

  /* mark / watermark logo */
  .watermark{
    position:absolute;pointer-events:none;
    opacity:.08;
    width:580px;height:580px;
  }
  .watermark img{width:100%;height:100%;object-fit:contain;}

  /* ---------- Marquee strip ---------- */
  .strip{
    background:var(--espresso);color:var(--offwhite);
    padding:18px 0;overflow:hidden;border-top:1px solid rgba(245,245,243,.08);
  }
  .strip-track{display:flex;gap:60px;white-space:nowrap;animation:scroll 50s linear infinite;}
  .strip-item{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;letter-spacing:.01em;display:inline-flex;align-items:center;gap:60px;}
  .strip-item::after{content:"✦";color:var(--gold);font-style:normal;font-size:14px;}
  @keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- Intro / About preview ---------- */
  .intro{background:var(--offwhite);padding:140px 0 120px;position:relative;}
  .intro-grid{display:grid;grid-template-columns: 0.9fr 1.4fr;gap:80px;align-items:flex-start;}
  .intro h2{
    font-size:clamp(34px,4.4vw,64px);
    line-height:1.05;
  }
  .intro .body{display:flex;flex-direction:column;gap:24px;}
  .intro .body p{font-size:17px;line-height:1.65;color:var(--charcoal);max-width:54ch;}
  .intro .body p.lede{font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.45;color:var(--espresso);font-weight:400;}
  .pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
  .pill{
    border:1px solid var(--rule-strong);border-radius:999px;
    padding:8px 16px;font-size:12px;letter-spacing:.04em;
    color:var(--charcoal);
  }
  @media (max-width:820px){.intro-grid{grid-template-columns:1fr;gap:32px;}}

  /* ---------- Services ---------- */
  .services{background:var(--beige);padding:140px 0 0;position:relative;overflow:hidden;}
  .services-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:80px;}
  .services-head h2{font-size:clamp(40px,6vw,96px);line-height:1;max-width:14ch;}
  .services-head p{max-width:36ch;color:var(--charcoal);font-size:16px;}
  .service-list{border-top:1px solid var(--rule-strong);}
  .service{
    display:grid;grid-template-columns:80px 1.4fr 2fr 220px;gap:40px;
    padding:42px 0;
    border-bottom:1px solid var(--rule-strong);
    align-items:center;
    transition:background .4s ease, padding .4s ease;
    cursor:pointer;position:relative;
  }
  .service:hover{background:rgba(245,245,243,.4);padding-left:24px;padding-right:24px;}
  .service .num{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--olive-deep);}
  .service h3{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3vw,40px);font-weight:400;letter-spacing:-.01em;line-height:1.05;}
  .service h3 em{font-style:italic;color:var(--olive);}
  .service p{font-size:14px;color:var(--charcoal);line-height:1.6;max-width:46ch;}
  .service .icon{
    width:64px;height:64px;border:1px solid var(--rule-strong);border-radius:50%;
    display:flex;align-items:center;justify-content:center;justify-self:end;
    transition:transform .5s cubic-bezier(.2,.7,.2,1), background .4s ease;
  }
  .service:hover .icon{transform:rotate(-12deg);background:var(--espresso);}
  .service:hover .icon svg *{stroke:var(--offwhite);}
  .service .icon svg{width:30px;height:30px;}
  .service .icon svg *{stroke:var(--espresso);transition:stroke .4s ease;}
  @media (max-width:980px){
    .service{grid-template-columns:60px 1fr 80px;}
    .service p{display:none;}
    .service .icon{width:48px;height:48px;}
  }

  /* ---------- Portfolio ---------- */
  .portfolio{background:var(--offwhite);padding:160px 0 140px;}
  .portfolio-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;gap:40px;}
  .portfolio-head h2{font-size:clamp(40px,6vw,96px);line-height:1;max-width:18ch;}
  .portfolio-head .meta{display:flex;flex-direction:column;gap:8px;text-align:right;}
  .portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:32px 28px;}
  .case{position:relative;cursor:pointer;}
  .case .frame{
    position:relative;width:100%;
    border-radius:6px;overflow:hidden;
    background:var(--beige-2);
    transition:transform .6s cubic-bezier(.2,.7,.2,1);
  }
  .case:hover .frame{transform:translateY(-6px);}
  .case .frame::after{
    content:"";position:absolute;inset:0;
    background-image:repeating-linear-gradient(135deg, rgba(47,27,16,.05) 0 2px, transparent 2px 14px);
    pointer-events:none;
  }
  .case .placeholder-meta{
    position:absolute;left:20px;bottom:20px;color:var(--charcoal);
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
    background:rgba(245,245,243,.92);padding:6px 10px;border-radius:4px;
  }
  .case .placeholder-meta::before{content:"⌘ ";opacity:.5;}
  .case-meta{display:flex;justify-content:space-between;align-items:flex-start;margin-top:16px;gap:16px;}
  .case-meta h4{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;}
  .case-meta .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--olive-deep);}
  .case .num{position:absolute;top:18px;left:20px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;color:var(--charcoal);background:rgba(245,245,243,.9);padding:5px 10px;border-radius:4px;}
  .case-1{grid-column:span 7;}
  .case-1 .frame{aspect-ratio:16/11;}
  .case-2{grid-column:span 5;}
  .case-2 .frame{aspect-ratio:4/5;}
  .case-3{grid-column:span 5;}
  .case-3 .frame{aspect-ratio:4/5;}
  .case-4{grid-column:span 7;}
  .case-4 .frame{aspect-ratio:16/11;}
  .case-1 .frame{background:linear-gradient(135deg,#a89b89, #6e6354);}
  .case-2 .frame{background:linear-gradient(160deg, var(--sage), #8a8d6c);}
  .case-3 .frame{background:linear-gradient(140deg, #d8c4a4, #b89c75);}
  .case-4 .frame{background:linear-gradient(135deg, var(--charcoal), #5a3d2c);}
  @media (max-width:820px){
    .case-1,.case-2,.case-3,.case-4{grid-column:span 12;}
    .case-1 .frame,.case-4 .frame{aspect-ratio:16/12;}
  }

  /* ---------- Why us ---------- */
  .why{background:var(--sage);padding:160px 0;position:relative;overflow:hidden;}
  .why-grid{display:grid;grid-template-columns: 1fr 1.4fr;gap:80px;align-items:flex-start;}
  .why h2{font-size:clamp(40px,5.4vw,84px);line-height:1.02;max-width:14ch;}
  .why-points{display:flex;flex-direction:column;}
  .why-point{
    display:grid;grid-template-columns:54px 1fr;gap:32px;
    padding:32px 0;border-top:1px solid var(--rule-strong);
    align-items:flex-start;
  }
  .why-point:last-child{border-bottom:1px solid var(--rule-strong);}
  .why-point .num{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;color:var(--olive-deep);padding-top:6px;}
  .why-point h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;margin-bottom:8px;letter-spacing:-.005em;}
  .why-point p{font-size:15px;color:var(--charcoal);line-height:1.6;max-width:52ch;}
  @media (max-width:820px){.why-grid{grid-template-columns:1fr;gap:32px;}}

  /* ---------- About ---------- */
  .about{background:var(--offwhite);padding:160px 0;position:relative;}
  .about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;}
  .about-photo{
    aspect-ratio:4/5;
    background:linear-gradient(160deg, var(--beige), #b3a892);
    border-radius:6px;position:relative;overflow:hidden;
  }
  .about-photo::after{
    content:"";position:absolute;inset:0;
    background-image:repeating-linear-gradient(135deg, rgba(47,27,16,.05) 0 2px, transparent 2px 14px);
  }
  .about-photo .placeholder-meta{
    position:absolute;left:20px;bottom:20px;
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
    background:rgba(245,245,243,.92);padding:6px 10px;border-radius:4px;color:var(--charcoal);
  }
  .about h2{font-size:clamp(36px,4.6vw,64px);line-height:1.05;margin-bottom:32px;}
  .about p{font-size:17px;line-height:1.7;color:var(--charcoal);margin-bottom:18px;max-width:54ch;}
  .about p.first{font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.45;color:var(--espresso);}
  .signature{
    margin-top:40px;display:flex;align-items:center;gap:20px;padding-top:28px;border-top:1px solid var(--rule);
  }
  .signature .name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;color:var(--olive);}
  .signature .role{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--charcoal);}
  @media (max-width:820px){.about-grid{grid-template-columns:1fr;gap:40px;} }

  /* ---------- CTA banner ---------- */
  .cta-banner{
    background:var(--espresso);color:var(--offwhite);
    padding:140px 0;position:relative;overflow:hidden;
  }
  .cta-banner .watermark{opacity:.07;width:780px;height:780px;right:-180px;top:-100px;}
  .cta-banner .wrap{position:relative;z-index:2;}
  .cta-banner h2{
    font-family:'Cormorant Garamond',serif;font-weight:300;
    font-size:clamp(44px,7vw,116px);line-height:1;
    letter-spacing:-.02em;max-width:14ch;
  }
  .cta-banner h2 em{font-style:italic;color:var(--gold);}
  .cta-banner .sub{
    font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.5;
    color:rgba(245,245,243,.78);max-width:48ch;margin-top:32px;
  }
  .cta-banner .row{display:flex;gap:14px;flex-wrap:wrap;margin-top:48px;}
  .cta-banner .meta{
    display:flex;justify-content:space-between;align-items:center;
    border-top:1px solid rgba(245,245,243,.18);
    padding-top:24px;margin-top:96px;
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
    color:rgba(245,245,243,.7);
  }

  /* ---------- Footer ---------- */
  footer.site{background:var(--espresso);color:var(--offwhite);padding:64px 0 40px;border-top:1px solid rgba(245,245,243,.1);}
  .footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:48px;}
  .footer-brand{display:flex;flex-direction:column;gap:20px;}
  .footer-brand img{height:88px;width:auto;}
  .footer-brand p{font-family:'Cormorant Garamond',serif;font-size:18px;line-height:1.5;color:rgba(245,245,243,.72);max-width:32ch;}
  .footer-col h4{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,245,243,.55);margin-bottom:18px;}
  .footer-col a, .footer-col p{display:block;color:var(--offwhite);text-decoration:none;font-size:15px;margin-bottom:10px;font-weight:300;}
  .footer-col a:hover{color:var(--gold);}
  .footer-col .name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--gold);margin-bottom:14px;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(245,245,243,.12);margin-top:64px;padding-top:24px;color:rgba(245,245,243,.55);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;}
  @media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}

  /* ---------- Reveal animations ---------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  .reveal.delay-1{transition-delay:.08s;}
  .reveal.delay-2{transition-delay:.16s;}
  .reveal.delay-3{transition-delay:.24s;}
  .reveal.delay-4{transition-delay:.32s;}

  /* small svg icon strokes */
  .ico{stroke-width:1.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}


  /* ---------- Trust bar ---------- */
  .trustbar{background:var(--offwhite);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:32px 0;}
  .trustbar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;align-items:flex-start;}
  .trust-item{display:flex;flex-direction:column;align-items:flex-start;}
  .trust-item .icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--olive);margin-bottom:14px;}
  .trust-item .label{font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.2;color:var(--espresso);font-weight:400;margin-bottom:10px;}
  .trust-item .sub{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--charcoal);opacity:.6;line-height:1.4;}
  @media (max-width:820px){.trustbar-grid{grid-template-columns:1fr 1fr;gap:28px;}}

  /* ---------- Why cards (replaces credibility) ---------- */
  .why-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-strong);margin-top:48px;border:1px solid var(--rule-strong);}
  .why-card{background:var(--sage);padding:36px 32px;display:flex;flex-direction:column;gap:14px;min-height:200px;}
  .why-card .num{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--olive-deep);}
  .why-card h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;line-height:1.15;letter-spacing:-.005em;color:var(--espresso);}
  .why-card p{font-size:14px;line-height:1.55;color:var(--charcoal);}
  @media (max-width:820px){.why-cards{grid-template-columns:1fr;}}

  /* ---------- Pricing preview ---------- */
  .pricing-preview{background:var(--beige);padding:140px 0;position:relative;overflow:hidden;}
  .pricing-preview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:64px;}
  .pricing-preview-head h2{font-size:clamp(40px,5.4vw,84px);line-height:1;max-width:14ch;}
  .pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .price-card{background:var(--offwhite);border:1px solid var(--rule);border-radius:8px;padding:40px 32px;display:flex;flex-direction:column;gap:18px;transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease;}
  .price-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px -30px rgba(47,27,16,.25);}
  .price-card .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--olive-deep);}
  .price-card h3{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:400;line-height:1.05;}
  .price-card .from{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--charcoal);opacity:.7;}
  .price-card .price{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:300;color:var(--espresso);letter-spacing:-.02em;line-height:1;}
  .price-card .price .currency{font-size:24px;vertical-align:top;margin-right:2px;color:var(--olive);}
  .price-card ul{list-style:none;padding:18px 0 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:10px;margin-top:6px;}
  .price-card li{font-size:14px;color:var(--charcoal);padding-left:20px;position:relative;line-height:1.5;}
  .price-card li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1px;background:var(--olive);}
  .price-card.featured{background:var(--espresso);color:var(--offwhite);border-color:var(--espresso);}
  .price-card.featured h3,.price-card.featured .price{color:var(--offwhite);}
  .price-card.featured .price .currency{color:var(--gold);}
  .price-card.featured .tag,.price-card.featured .from{color:rgba(245,245,243,.65);}
  .price-card.featured ul{border-color:rgba(245,245,243,.18);}
  .price-card.featured li{color:rgba(245,245,243,.78);}
  .price-card.featured li::before{background:var(--gold);}
  .pricing-preview-foot{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:32px;border-top:1px solid var(--rule-strong);gap:24px;flex-wrap:wrap;}
  .pricing-preview-foot p{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--charcoal);max-width:38ch;}
  @media (max-width:820px){.pricing-grid{grid-template-columns:1fr;}}

  /* ---------- FAQ (services page) ---------- */
  .faq{background:var(--offwhite);padding:140px 0;}
  .faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:flex-start;}
  .faq h2{font-size:clamp(40px,5.4vw,80px);line-height:1.02;}
  .faq-list{display:flex;flex-direction:column;border-top:1px solid var(--rule-strong);}
  .faq-item{border-bottom:1px solid var(--rule-strong);padding:24px 0;cursor:pointer;}
  .faq-item summary{display:flex;justify-content:space-between;align-items:center;list-style:none;font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;color:var(--espresso);gap:24px;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary .plus{font-family:'JetBrains Mono',monospace;font-size:18px;color:var(--olive);transition:transform .4s ease;flex-shrink:0;}
  .faq-item[open] summary .plus{transform:rotate(45deg);}
  .faq-item .answer{padding:14px 0 4px;font-size:15px;line-height:1.65;color:var(--charcoal);max-width:60ch;}
  @media (max-width:820px){.faq-grid{grid-template-columns:1fr;gap:32px;}}

  /* ---------- Service page hero ---------- */
  .page-hero{background:var(--beige);padding:200px 0 100px;position:relative;overflow:hidden;}
  .page-hero h1{font-size:clamp(48px,7.4vw,120px);line-height:1;letter-spacing:-.02em;max-width:14ch;}
  .page-hero .lede{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,1.7vw,26px);line-height:1.45;color:var(--charcoal);max-width:50ch;margin-top:32px;}
  .page-hero .row{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px;}

  /* ---------- Service page sections ---------- */
  .pkg-section{padding:120px 0;position:relative;}
  .pkg-section.alt{background:var(--beige);}
  .pkg-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px;}
  .pkg-head h2{font-size:clamp(36px,5vw,72px);line-height:1.02;max-width:16ch;}
  .pkg-head p{max-width:34ch;color:var(--charcoal);font-size:15px;}

  .pkg-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--rule-strong);}
  .pkg-row{display:grid;grid-template-columns:80px 1.4fr 2fr 200px;gap:40px;padding:36px 0;border-bottom:1px solid var(--rule-strong);align-items:center;}
  .pkg-row .num{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;color:var(--olive-deep);}
  .pkg-row h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;letter-spacing:-.005em;}
  .pkg-row p{font-size:14px;color:var(--charcoal);line-height:1.55;}
  .pkg-row .price{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--espresso);text-align:right;}
  @media (max-width:820px){.pkg-row{grid-template-columns:1fr;gap:8px;}.pkg-row .price{text-align:left;}}

  .addons{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-strong);border:1px solid var(--rule-strong);}
  .addon{background:var(--offwhite);padding:28px 24px;display:flex;flex-direction:column;gap:8px;}
  .addon .label{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--espresso);}
  .addon .meta{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--olive-deep);text-transform:uppercase;}
  @media (max-width:820px){.addons{grid-template-columns:1fr 1fr;}}

  /* ---------- Reveal animations ---------- */
