
    :root{
      --ink:#11110f;
      --charcoal:#1a1917;
      --stone:#6e6a64;
      --line:#d8d2ca;
      --paper:#f3f0ea;
      --paper-2:#ebe6df;
      --white:#fffdf9;
      --accent:#8b7761;
      --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
      --sans:"Manrope","Segoe UI",Arial,sans-serif;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:var(--paper);
      color:var(--ink);
      font-family:var(--sans);
      line-height:1.45;
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    button{color:inherit}
    .container{width:min(1320px,calc(100% - 72px));margin:0 auto}
    .section{padding:138px 0}
    .section-dark{background:var(--ink);color:var(--white)}
    .eyebrow{
      font-size:10px;
      text-transform:uppercase;
      letter-spacing:.24em;
      font-weight:700;
      color:var(--stone);
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:20px
    }
    .eyebrow::before{content:"";width:36px;height:1px;background:currentColor}
    .section-dark .eyebrow{color:#9e978f}
    h1,h2,h3,p{margin-top:0}
    h1{
      font-size:clamp(58px,7.4vw,116px);
      line-height:.89;
      letter-spacing:-.065em;
      font-weight:500;
      max-width:1080px;
      margin-bottom:0
    }
    h2{
      font-size:clamp(44px,5.1vw,80px);
      line-height:.95;
      letter-spacing:-.055em;
      font-weight:500;
      max-width:1040px;
      margin-bottom:0
    }
    h3{font-size:20px;line-height:1.15;letter-spacing:-.02em}
    .serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.02em}
    .lead{font-size:clamp(18px,1.75vw,23px);color:var(--stone);max-width:780px}
    .section-dark .lead{color:#aaa39a}
    .line{height:1px;background:var(--line)}

    /* NAV */
    .nav{
      position:fixed;top:0;left:0;right:0;z-index:50;
      border-bottom:1px solid rgba(17,17,15,.08);
      backdrop-filter:blur(18px);
      background:rgba(243,240,234,.9)
    }
    .nav-inner{
      height:94px;
      display:grid;
      grid-template-columns:auto 1fr auto auto;
      gap:22px;
      align-items:center
    }
    .brand{
      font-size:16px;
      font-weight:900;
      letter-spacing:.15em;
      white-space:nowrap
    }
    .brand-dot{color:#b99558}
    .nav .container{width:min(1480px,calc(100% - 40px))}
    .brand-logo{display:flex;align-items:center;line-height:1;white-space:normal}
    .brand-lockup{
      display:grid;
      grid-template-columns:66px auto;
      column-gap:14px;
      align-items:end
    }
    .brand-mark{
      display:block;
      width:66px;
      height:auto;
      grid-row:1;
      grid-column:1;
      align-self:end
    }
    .brand-text{
      grid-column:2;
      min-width:0;
      height:66px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      align-self:stretch;
      padding:0
    }
    .brand-name{
      display:block;
      font-size:22px;
      line-height:1;
      font-weight:800;
      letter-spacing:.035em;
      white-space:nowrap;
      color:var(--ink);
      transform:translateY(17px)
    }
    .brand-quality{
      background:linear-gradient(90deg,#9f783f 0%,#c9a86a 32%,#dfc07b 52%,#b68d4e 78%,#967039 100%);
      -webkit-background-clip:text;background-clip:text;color:transparent
    }
    .brand-subtitle{
      display:block;
      margin:0;
      font-size:13px;
      line-height:1.05;
      letter-spacing:.055em;
      text-transform:uppercase;
      font-weight:500;
      color:#6b655e;
      white-space:nowrap;
      align-self:flex-start
    }



    .nav-links{display:flex;justify-content:center;gap:30px}
    .nav-links a{
      font-size:14px;
      line-height:1;
      font-weight:500;
      text-transform:none;
      letter-spacing:.035em;
      color:#4b4741
    }
    .cta{
      min-height:50px;
      border:1px solid var(--ink);
      padding:0 22px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      background:var(--ink);
      color:white;
      font-size:10px;
      text-transform:uppercase;
      letter-spacing:.16em;
      font-weight:800;
      cursor:pointer;
      transition:.25s ease
    }
    .cta:hover{background:transparent;color:var(--ink)}
    .cta-light{background:transparent;color:var(--ink);border-color:#bcb5ad}
    .cta-light:hover{border-color:var(--ink)}
    .cta-invert{background:white;color:var(--ink);border-color:white}
    .cta-invert:hover{background:transparent;color:white}


    .phone-link{font-size:14px;font-weight:600;white-space:nowrap;letter-spacing:.025em;color:#4f4a44;transition:.2s ease}
    .phone-link:hover{color:var(--ink)}
    .nav .cta{
      background:#b08a52;
      border-color:#b08a52;
      color:#17140f;
      box-shadow:none
    }
    .nav .cta:hover{
      background:#9f7a49;
      border-color:#9f7a49;
      color:#17140f
    }


    .menu-toggle{
      display:none;
      width:44px;
      height:44px;
      padding:0;
      border:1px solid rgba(78,72,65,.24);
      background:transparent;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      gap:5px;
      cursor:pointer;
      color:var(--ink)
    }
    .menu-toggle span{
      display:block;
      width:18px;
      height:1px;
      background:currentColor;
      transition:transform .25s ease,opacity .2s ease
    }
    .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
    .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
    .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
    .mobile-nav-panel{
      position:fixed;
      top:94px;
      left:0;
      right:0;
      z-index:68;
      background:rgba(246,243,238,.985);
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(18px);
      opacity:0;
      visibility:hidden;
      transform:translateY(-8px);
      transition:opacity .22s ease,transform .22s ease,visibility .22s ease
    }
    .mobile-nav-panel.is-open{opacity:1;visibility:visible;transform:none}
    .mobile-nav-inner{padding:28px 0 30px;display:grid;gap:0}
    .mobile-nav-inner>a:not(.mobile-nav-cta){
      min-height:52px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      border-bottom:1px solid var(--line);
      font-size:17px;
      font-weight:500;
      letter-spacing:.025em;
      color:var(--ink)
    }
    .mobile-nav-inner>a:not(.mobile-nav-cta)::after{content:"↗";font-size:13px;color:#8a8177}
    .mobile-nav-phone{margin-top:10px}
    .mobile-nav-cta{
      margin-top:18px;
      min-height:52px;
      background:#b08a52;
      border-color:#b08a52;
      color:#17140f
    }
    body.mobile-menu-open{overflow:hidden}

    .cta-row{display:flex;gap:10px;flex-wrap:wrap}
    .inline-cta{margin-top:36px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px}
    .inline-cta p{margin:0;color:var(--stone);font-size:14px}
    .review-source{display:inline-flex;margin-top:10px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--line);padding-bottom:3px}
    .step-label{margin-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--stone)}
    .answer span{display:block}
    .answer small{display:block;margin-top:5px;color:var(--stone);font-size:11px;line-height:1.35;padding-right:26px}
    .answer.selected small{color:#c7c2ba}
    .mobile-bar{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;background:rgba(17,17,15,.96);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px);padding:8px;gap:8px}
    .mobile-bar a{flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
    .mobile-call{background:white;color:var(--ink)}
    .mobile-quiz{background:var(--accent);color:white}

    /* HERO */
    .hero{
      padding:94px 0 0;
      min-height:100svh;
      display:flex;
      align-items:stretch;
      position:relative;
      overflow:hidden;
      isolation:isolate
    }
    .hero-grid{
      position:relative;
      min-height:calc(100svh - 94px);
      display:flex;
      align-items:center
    }
    .hero-copy{
      position:relative;
      z-index:3;
      width:min(650px,48%);
      padding:68px 0 58px
    }
    .hero h1 .serif{
      background:none;
      color:#b08a52
    }
    .hero-note{
      margin-top:34px;
      display:grid;
      grid-template-columns:1fr .9fr;
      gap:56px;
      align-items:end
    }
    .hero-text{
      font-size:20px;
      line-height:1.55;
      color:#3d3933;
      max-width:630px
    }
    .hero-actions{display:flex;gap:28px;flex-wrap:wrap;align-items:center}
    .hero-project-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:14px;
      padding:10px 0 8px;
      font-size:15px;
      line-height:1;
      font-weight:500;
      letter-spacing:.025em;
      color:#2f2c28
    }
    .hero-project-link::after{
      content:"";
      position:absolute;
      left:0;right:0;bottom:0;
      height:1px;
      background:#b8afa4;
      transform-origin:left center;
      transition:transform .25s ease,background .25s ease
    }
    .hero-project-link:hover{color:#17140f}
    .hero-project-link:hover::after{background:#b08a52;transform:scaleX(.72)}
    .hero-project-link span{font-size:17px;color:#b08a52;transition:transform .25s ease}
    .hero-project-link:hover span{transform:translateX(3px)}
    .hero-frame{
      position:absolute;
      z-index:1;
      top:0;
      bottom:0;
      left:calc((100vw - 100%) / -2);
      right:calc((100vw - 100%) / -2);
      min-height:0;
      background:#d9d4cd;
      overflow:hidden;
      border:0
    }
    .hero-frame img{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      transition:transform .7s ease
    }
    .hero-frame:hover img{transform:scale(1.008)}
    .hero-frame::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:2;
      background:
        linear-gradient(90deg,
          rgba(243,240,234,1) 0%,
          rgba(243,240,234,.99) 18%,
          rgba(243,240,234,.94) 27%,
          rgba(243,240,234,.76) 36%,
          rgba(243,240,234,.46) 44%,
          rgba(243,240,234,.18) 51%,
          rgba(243,240,234,0) 59%),
        linear-gradient(180deg,rgba(17,17,15,0) 68%,rgba(17,17,15,.12) 100%);
      pointer-events:none
    }
    .hero-label,.hero-caption{display:none}


    /* FACTUAL TRUST STRIP */
    .proof-strip{border-top:1px solid rgba(17,17,15,.10);border-bottom:1px solid rgba(17,17,15,.10);background:#f3f0ea}
    .proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin:0 auto}
    .proof-item{display:flex;align-items:baseline;gap:16px;padding:22px 0}
    .proof-item + .proof-item{border-left:1px solid rgba(17,17,15,.10);padding-left:42px;margin-left:42px}
    .proof-value{font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.4vw,38px);font-weight:500;line-height:1;color:#24221f}
    .proof-label{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.14em;color:#756e66}

    /* PORTFOLIO */
    .head-split{
      display:grid;grid-template-columns:1.2fr .8fr;gap:72px;align-items:end;margin-bottom:62px
    }
    .head-split .lead{margin-bottom:0}
    .portfolio{
      display:grid;
      grid-template-columns:1.18fr .82fr;
      gap:18px
    }
    .p-card{
      position:relative;overflow:hidden;background:#bbb4aa;min-height:690px;
      border:1px solid #c9c2b9;cursor:pointer;padding:0;text-align:left;width:100%;
      font-family:inherit
    }
    .p-stack{display:grid;gap:18px}
    .p-stack .p-card{min-height:336px}
    .p-card img{
      position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
      transition:transform .7s cubic-bezier(.2,.7,.2,1)
    }
    .p-card::after{
      content:"";position:absolute;inset:0;
      background:linear-gradient(180deg,rgba(0,0,0,0) 54%,rgba(12,12,11,.52) 100%);
      pointer-events:none
    }
    .p-card:hover img{transform:scale(1.025)}
    .p-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
    .p-tag{
      position:absolute;top:18px;left:18px;z-index:2;
      font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.8)
    }
    .p-meta{
      position:absolute;left:24px;right:24px;bottom:22px;z-index:2;
      padding-top:12px;border-top:1px solid rgba(255,255,255,.28);
      display:block;color:white
    }
    .p-meta h3{font-size:22px;font-weight:500;margin:0;letter-spacing:-.01em}
    .p-meta p{display:none}
    .p-no{font-family:var(--serif);font-style:italic;font-size:30px;color:#d6c0a9}

    /* PROJECT GALLERY */
    body.gallery-open{overflow:hidden}
    .gallery{
      position:fixed;inset:0;z-index:100;background:rgba(12,12,11,.96);
      color:white;display:none
    }
    .gallery.active{display:grid;grid-template-rows:auto 1fr auto}
    .gallery-head{
      min-height:78px;padding:18px 28px;border-bottom:1px solid rgba(255,255,255,.12);
      display:flex;align-items:center;justify-content:space-between;gap:24px
    }
    .gallery-title{min-width:0}
    .gallery-title strong{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em}
    .gallery-title span{display:block;margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#99938b}
    .gallery-close{
      width:44px;height:44px;border:1px solid rgba(255,255,255,.2);background:transparent;color:white;
      font-size:24px;line-height:1;cursor:pointer
    }
    .gallery-stage{
      min-height:0;display:grid;grid-template-columns:60px 1fr 60px;align-items:center;gap:14px;
      padding:24px 20px
    }
    .gallery-main{
      min-width:0;min-height:0;height:100%;display:flex;align-items:center;justify-content:center;
      position:relative
    }
    .gallery-main img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
    .gallery-arrow{
      width:50px;height:50px;border:1px solid rgba(255,255,255,.18);background:transparent;color:white;
      cursor:pointer;font-size:22px
    }
    .gallery-foot{
      padding:14px 22px 18px;border-top:1px solid rgba(255,255,255,.12);
      display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center
    }
    .gallery-count{font-family:var(--serif);font-style:italic;font-size:24px;color:#d6c0a9;white-space:nowrap}
    .gallery-thumbs{display:flex;gap:8px;overflow:auto;padding-bottom:2px;scrollbar-width:thin}
    .gallery-thumb{
      width:74px;height:54px;flex:0 0 auto;padding:0;border:1px solid transparent;background:#222;cursor:pointer;opacity:.52
    }
    .gallery-thumb.active{opacity:1;border-color:#d6c0a9}
    .gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
    html.js .project-static{display:none}
    .gallery-main{touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:zoom-in}
    .gallery-main img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;pointer-events:none}
    .gallery-arrow:disabled{opacity:.22;cursor:default}
    .gallery-swipe-hint{display:none}

    /* STATIC PROJECT PAGES — works without JavaScript in ChatGPT/iOS preview */
    .p-card{display:block;text-decoration:none;color:inherit}
    .project-static{scroll-margin-top:90px;background:#11110f;color:#fff;padding:110px 0}
    .project-static + .project-static{padding-top:28px}
    .project-static .project-head{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:44px}
    .project-static .project-kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#b7a692;margin-bottom:14px}
    .project-static h2{font-size:clamp(34px,5vw,72px);line-height:.98;margin:0;letter-spacing:-.04em;font-weight:500}
    .project-static .project-sub{color:#aaa39a;max-width:520px;margin:0 0 16px}
    .project-static .back-projects{display:inline-block;color:#d6c0a9;text-decoration:none;border-bottom:1px solid rgba(214,192,169,.5);padding-bottom:4px;font-size:12px}
    .project-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .project-photo{margin:0;background:#222;min-height:440px;overflow:hidden}
    .project-photo:first-child{grid-column:1/-1;min-height:760px}
    .project-photo img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover}
    .project-photo figcaption{display:none}
    @media (max-width:760px){
      .project-static{padding:78px 0}
      .project-static .project-head{grid-template-columns:1fr;gap:20px;margin-bottom:28px}
      .project-photos{grid-template-columns:1fr;gap:10px}
      .project-photo,.project-photo:first-child{grid-column:auto;min-height:0}
      .project-photo img{height:auto;min-height:0;object-fit:contain}
    }

    /* APPROACH */
    .approach-list{margin-top:62px;border-top:1px solid rgba(255,255,255,.13)}
    .approach-row{
      display:grid;grid-template-columns:92px .8fr 1.2fr;
      gap:34px;padding:44px 0;border-bottom:1px solid rgba(255,255,255,.13);align-items:start
    }
    .approach-no{
      font-family:var(--serif);
      font-style:italic;
      font-size:26px;
      color:rgba(192,170,147,.72)
    }
    .approach-row h3{
      font-size:19px;
      line-height:1.25;
      font-weight:500;
      text-transform:none;
      letter-spacing:.005em
    }
    .approach-row p{margin:0;color:#aaa39a;max-width:620px}

    /* PROCESS */
    .process{
      margin-top:60px;
      display:grid;
      grid-template-columns:repeat(3,1fr)
    }
    .process-item{
      min-height:268px;
      padding:30px 28px 32px;
      border-top:1px solid var(--line);
      background:transparent
    }
    .process-item:not(:nth-child(3n)){border-right:1px solid var(--line)}
    .process-no{
      font-family:var(--serif);
      font-style:italic;
      font-size:28px;
      color:rgba(176,138,82,.68)
    }
    .process-item h3{
      margin-top:54px;
      font-size:19px;
      line-height:1.25;
      font-weight:500;
      text-transform:none;
      letter-spacing:.005em
    }
    .process-item p{
      font-size:13px;
      line-height:1.65;
      color:var(--stone);
      margin-top:14px;
      max-width:300px
    }

    /* REVIEWS */
    .reviews-grid{
      display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start
    }
    .review-list{border-top:1px solid var(--line)}
    .review{
      display:grid;grid-template-columns:72px 1fr;gap:26px;
      padding:30px 0;border-bottom:1px solid var(--line)
    }
    .quote{font-family:var(--serif);font-style:italic;font-size:58px;line-height:.8;color:var(--accent)}
    .review p{font-family:var(--serif);font-size:28px;line-height:1.25;margin-bottom:16px}
    .review footer{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}

    /* CONTROL */
    .control-grid{
      display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:start
    }
    .control-list{border-top:1px solid var(--line)}
    .control-row{
      display:grid;grid-template-columns:42px 210px 1fr;gap:24px;
      padding:32px 0;border-bottom:1px solid var(--line);align-items:start
    }
    .control-no{
      font-family:var(--serif);
      font-style:italic;
      color:rgba(176,138,82,.68);
      font-size:22px
    }
    .control-row strong{
      font-size:19px;
      line-height:1.25;
      font-weight:500;
      letter-spacing:.005em;
      text-transform:none
    }
    .control-row p{margin:0;font-size:13px;line-height:1.65;color:var(--stone)}

    /* PRICE */
    .price{
      background:#b6aa9a;
      color:var(--ink)
    }
    .price-grid{
      display:grid;grid-template-columns:1.08fr .92fr;gap:82px;align-items:end
    }
    .price .eyebrow{
      color:#48423c;
      font-weight:500;
      letter-spacing:.16em
    }
    .price .lead{color:#443f39}
    .price-card{
      position:relative;overflow:hidden;border:1px solid rgba(17,17,15,.24);
      background:rgba(255,255,255,.10);padding:34px 34px 36px
    }
    .price-card::before{
      content:"";position:absolute;right:-90px;top:-120px;width:300px;height:300px;border-radius:50%;
      border:1px solid rgba(17,17,15,.08);pointer-events:none
    }
    .price-kicker{
      padding-bottom:18px;border-bottom:1px solid rgba(17,17,15,.20);
      font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#48423c
    }
    .price-copy{
      max-width:470px;margin:30px 0 0;font-size:14px;line-height:1.65;
      letter-spacing:.005em;color:#3f3a35
    }
    .price-value{
      display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:14px;
      letter-spacing:-.055em;white-space:nowrap;color:#171715
    }
    .price-value strong{font-size:clamp(64px,6.8vw,100px);line-height:.88;font-weight:500}
    .price-value span{font-size:clamp(25px,2.6vw,38px);line-height:1;font-weight:500;padding-bottom:7px;letter-spacing:-.035em}
    .price-note{
      margin-top:30px;padding-top:20px;border-top:1px solid rgba(17,17,15,.20);
      font-size:12px;line-height:1.7;color:#443f39;max-width:540px
    }
    .price-transition{
      margin:18px 0 0;
      font-size:13px;
      line-height:1.65;
      color:#3f3a35;
      max-width:520px
    }

    /* QUIZ */
    .quiz-head{
      display:grid;grid-template-columns:.85fr 1.15fr;gap:76px;align-items:end;margin-bottom:56px
    }
    .quiz-shell{
      display:grid;grid-template-columns:230px 1fr;
      border:1px solid rgba(17,17,15,.12);
      background:rgba(255,253,249,.34);
      min-height:560px
    }
    .quiz-side{
      padding:30px 28px;border-right:1px solid rgba(17,17,15,.12);
      display:flex;flex-direction:column;justify-content:space-between
    }
    .count{
      font-family:var(--serif);font-style:italic;font-size:30px;
      line-height:1;color:rgba(139,119,97,.72)
    }
    .progress{margin-top:24px;height:1px;background:rgba(17,17,15,.12);position:relative}
    .progress span{
      position:absolute;left:0;top:0;height:1px;
      background:rgba(139,119,97,.78);width:20%;transition:.25s
    }
    .quiz-side p{font-size:11px;color:var(--stone);margin:0}
    .quiz-main{padding:54px 58px;display:flex;flex-direction:column}
    .q{display:none;flex:1}
    .q.active{display:block}
    .q h3{font-size:31px;font-weight:500;letter-spacing:-.035em;max-width:760px}
    .hint{font-size:12px;color:var(--stone);margin-top:10px}
    .answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}
    .answer{
      min-height:70px;padding:20px 46px 20px 20px;text-align:left;
      border:1px solid rgba(17,17,15,.14);
      background:rgba(255,253,249,.10);
      cursor:pointer;transition:.2s;position:relative
    }
    .answer::after{
      content:"";width:7px;height:7px;border:1px solid rgba(110,106,100,.70);border-radius:50%;
      position:absolute;right:19px;top:50%;transform:translateY(-50%)
    }
    .answer:hover{background:rgba(255,253,249,.52);border-color:rgba(17,17,15,.22)}
    .answer.selected{background:var(--ink);color:white;border-color:var(--ink)}
    .answer.selected::after{background:#bba58e;border-color:#bba58e}
    .quiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:28px}
    .quiz-nav .cta:disabled{opacity:.35;cursor:not-allowed}
    .contact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
    input{height:56px;border:1px solid var(--line);background:transparent;padding:0 15px;outline:none}
    input:focus{border-color:var(--accent)}
    .privacy{font-size:10px;color:var(--stone);margin-top:14px}
    .success{display:none;padding:70px 56px}
    .success.active{display:block}
    .success h2{font-size:clamp(40px,4.5vw,66px)}

    /* FOOTER */
    .footer{background:#0e0e0d;color:white;padding:72px 0 34px}
    .footer-top{
      display:grid;grid-template-columns:1fr 1fr;gap:80px;
      align-items:end;padding-bottom:54px
    }
    .footer-brand-subtitle{
      max-width:360px;margin-top:18px;
      font-size:13px;line-height:1.55;color:#aaa39b
    }
    .footer-meta{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-self:end}
    .footer-meta p{font-size:12px;line-height:1.7;color:#aaa39b;margin:0}
    .footer-label{
      display:block;margin-bottom:8px;
      font-size:9px;font-weight:600;text-transform:uppercase;
      letter-spacing:.16em;color:#ddd6ce
    }
    .footer-phone{
      display:inline-block;color:#fff;text-decoration:none;
      font-size:18px;line-height:1.25;font-weight:500;letter-spacing:-.015em
    }
    .footer-phone:hover{color:#c2aa8e}
    .footer-bottom{
      border-top:1px solid rgba(255,255,255,.12);padding-top:22px;
      display:flex;justify-content:flex-start;gap:20px;
      font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#77716b
    }

    /* REVEAL */
    .reveal{opacity:1;transform:none}
    .reveal.visible{opacity:1;transform:none}

    
    @media(max-width:1180px){
      .nav-links{display:none}
      .nav-inner{grid-template-columns:auto 1fr auto auto;gap:14px}
      .phone-link{justify-self:end}
      .nav .cta{display:none}
      .menu-toggle{display:inline-flex}
    }

    @media(max-width:1060px){
      .brand-lockup{grid-template-columns:58px auto;column-gap:10px;align-items:end}
      .brand-mark{width:52px}
      .brand-name{font-size:20px;transform:translateY(13px)}
      .brand-text{height:52px;padding:0;display:flex;flex-direction:column;justify-content:space-between;align-self:stretch}
      .brand-subtitle{font-size:10.9px;letter-spacing:.045em;line-height:1.05;font-weight:500}
      .nav-inner{height:82px}

      .container{width:min(100% - 44px,1320px)}
      .nav-links{display:none}
      .nav-inner{grid-template-columns:auto 1fr auto auto;gap:12px}
      .phone-link{justify-self:end}
      .nav .cta{display:none}
      .mobile-nav-panel{top:82px}
      .head-split,.reviews-grid,.control-grid,.price-grid,.quiz-head{grid-template-columns:1fr}
      .hero{padding-top:82px}
      .hero-grid{min-height:auto;display:block}
      .hero-copy{width:100%;padding:44px 0 34px}
      .hero-frame{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:calc(100% + 44px);margin-left:-22px;min-height:520px}
      .hero-frame::after{background:linear-gradient(180deg,rgba(243,240,234,.08) 0%,rgba(17,17,15,.08) 100%)}
      .hero-note{grid-template-columns:1fr;gap:26px}
      .portfolio{grid-template-columns:1fr}
      .p-stack{grid-template-columns:1fr 1fr}
      .process{grid-template-columns:repeat(2,1fr)}
      .process-item{border-right:0}
      .process-item:nth-child(odd){border-right:1px solid var(--line)}
      .quiz-shell{grid-template-columns:190px 1fr}
    }
    @media(max-width:700px){
      .proof-grid{grid-template-columns:1fr}
      .proof-item{padding:16px 0}
      .proof-item + .proof-item{border-left:0;border-top:1px solid rgba(17,17,15,.10);padding-left:0;margin-left:0}
      .proof-value{font-size:26px}

      .nav .container{width:min(100% - 24px,1480px)}
      .brand-lockup{grid-template-columns:42px auto;column-gap:8px;align-items:center}
      .brand-mark{width:38px}
      .brand-name{font-size:15px;letter-spacing:.025em;transform:none}
      .brand-text{height:auto;align-self:center}
      .brand-subtitle{display:none}

      .container{width:min(100% - 24px,1320px)}
      .section{padding:88px 0}
      body{padding-bottom:78px}
      .nav-inner{height:68px;grid-template-columns:1fr auto;gap:10px}
      .brand{font-size:13px}
      .phone-link{display:none}
      .menu-toggle{width:42px;height:42px}
      .mobile-nav-panel{top:68px}
      .mobile-nav-inner{padding:20px 0 24px}
      .mobile-nav-inner>a:not(.mobile-nav-cta){font-size:16px;min-height:50px}
      .hero{padding:68px 0 24px;min-height:auto}
      .hero-copy{padding:28px 0 24px}
      .hero-frame{width:calc(100% + 24px);margin-left:-12px;min-height:400px}
      .hero-frame img{object-position:55% center}
      .hero-actions{display:grid;gap:16px}
      .hero-actions .cta{width:100%}
      .hero-project-link{width:max-content;font-size:14px;letter-spacing:.02em;padding-top:6px}
      .p-card{min-height:500px}
      .p-stack{grid-template-columns:1fr}
      .p-stack .p-card{min-height:330px}
      .gallery-head{padding:14px 14px;min-height:68px}
      .gallery-stage{grid-template-columns:1fr;padding:10px 8px 8px}
      .gallery-main{height:calc(100svh - 198px)}
      .gallery-arrow{
        position:absolute;z-index:2;top:50%;transform:translateY(-50%);
        width:42px;height:54px;background:rgba(12,12,11,.55);border-color:rgba(255,255,255,.12)
      }
      #galleryPrev{left:8px}
      #galleryNext{right:8px}
      .gallery-foot{grid-template-columns:1fr;gap:8px;padding:10px 12px 12px}
      .gallery-count{font-size:20px}
      .gallery-thumb{width:64px;height:46px}
      .gallery-swipe-hint{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8f8982;text-align:center;margin-top:2px}
      .approach-row{grid-template-columns:54px 1fr}
      .approach-row p{grid-column:2}
      .process{grid-template-columns:1fr}
      .process-item,.process-item:nth-child(odd){min-height:205px;border-right:0;padding:26px 0 28px}
      .process-item h3{margin-top:44px}
      .review{grid-template-columns:48px 1fr}
      .review p{font-size:23px}
      .control-row{grid-template-columns:38px 1fr;gap:12px 16px;padding:26px 0}
      .control-row strong{font-size:18px}
      .control-row p{grid-column:2}
      .quiz-shell{grid-template-columns:1fr}
      .quiz-side{border-right:0;border-bottom:1px solid rgba(17,17,15,.12);padding:20px;display:grid;grid-template-columns:1fr auto;gap:14px}
      .quiz-side .progress{grid-column:1/-1;margin-top:0}
      .quiz-main{padding:34px 20px}
      .answers,.contact-form{grid-template-columns:1fr}
      .q h3{font-size:25px}
      .footer-top,.footer-meta{grid-template-columns:1fr}
      .footer-top{gap:34px;padding-bottom:40px}
      .footer-meta{gap:24px}
      .footer-brand-subtitle{margin-top:14px}
      .footer-bottom{flex-direction:column}
      .inline-cta{align-items:flex-start;flex-direction:column}
      .price-card{padding:26px 20px 28px}
      .price-kicker{align-items:flex-start;flex-direction:column;gap:7px;padding-bottom:16px}
      .price-copy{margin-top:22px;font-size:12px}
      .price-approx{font-size:25px;margin-top:16px}
      .price-value{gap:8px}
      .price-value strong{font-size:60px}
      .price-value span{font-size:24px;padding-bottom:5px}
      .price-note{margin-top:22px;padding-top:16px;font-size:11px}
      .price-card .cta-row{display:grid;grid-template-columns:1fr;gap:8px}
      .price-card .cta{width:100%}
      .mobile-bar{display:flex}
    }
  

    /* NATIVE PROJECT GALLERY v2 — works even when JavaScript is blocked in preview */
    .native-gallery{
      position:fixed;inset:0;z-index:1000;background:#0c0c0b;color:#fff;
      display:none;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);overflow:hidden
    }
    .native-gallery:has(.native-gallery-slide:target){display:grid}
    body:has(.native-gallery-slide:target){overflow:hidden}
    .native-gallery-head{
      min-height:72px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.12);
      display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0c0c0b;min-width:0;width:100%
    }
    .native-gallery-title{min-width:0}
    .native-gallery-title strong{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .native-gallery-title span{display:block;margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#9c968e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .native-gallery-close{
      width:44px;height:44px;flex:0 0 auto;border:1px solid rgba(255,255,255,.24);display:grid;place-items:center;
      color:#fff;font-size:26px;line-height:1;text-decoration:none;background:rgba(255,255,255,.02)
    }
    .native-gallery-track{
      min-width:0;width:100%;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;
      -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x
    }
    .native-gallery-track::-webkit-scrollbar{display:none}
    .native-gallery-slide{
      flex:0 0 100%;width:100%;min-width:100%;height:100%;min-height:0;scroll-snap-align:start;scroll-snap-stop:always;
      display:grid;grid-template-rows:1fr auto;position:relative;padding:12px 12px 10px
    }
    .native-gallery-visual{min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
    .native-gallery-visual img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
    .native-gallery-hit{position:absolute;top:0;bottom:0;width:50%;z-index:2;display:block;text-decoration:none;-webkit-tap-highlight-color:transparent}
    .native-gallery-prev{left:0;cursor:w-resize}
    .native-gallery-next{right:0;cursor:e-resize}
    .native-gallery-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 4px 2px;color:#b9b2a9}
    .native-gallery-count{font-family:var(--serif);font-style:italic;font-size:24px;color:#d6c0a9;white-space:nowrap}
    .native-gallery-hint{font-size:9px;letter-spacing:.11em;text-transform:uppercase;text-align:right}
    @media (max-width:760px){
      .native-gallery-head{min-height:64px;padding:10px 12px}
      .native-gallery-title strong{font-size:13px}
      .native-gallery-slide{padding:8px 6px 8px}
      .native-gallery-meta{padding:8px 4px 0;align-items:flex-end}
      .native-gallery-count{font-size:21px}
      .native-gallery-hint{max-width:245px;font-size:8px;line-height:1.35}
    }

    .portfolio-more{display:flex;justify-content:center;margin-top:28px}
    .portfolio-more .cta{min-width:260px;text-align:center}
    @media(max-width:720px){.portfolio-more{margin-top:22px}.portfolio-more .cta{width:100%;min-width:0}}
/* Honeypot field remains unavailable to normal visitors but visible to autofill bots. */
.website-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;padding:0!important;margin:-1px!important}
