    /* ════════════════════════════════════════════════
       FORTA LUXURY — monochrome rebuild
       black #1C1C20 on warm white #FFF8ED
       Jost (display) + Newsreader (serif body)
    ════════════════════════════════════════════════ */
    :root{
        --ink:#1C1C20;
        --paper:#FFF8ED;
        --line:rgba(28,28,32,0.16);
        --mute:rgba(28,28,32,0.55);
        --display:'Archivo',-apple-system,BlinkMacSystemFont,sans-serif;
        --serif:'Fraunces',Georgia,serif;
        --gut:clamp(22px,5vw,96px);
    }
    *{margin:0;padding:0;box-sizing:border-box}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
    body{
        background:var(--paper);
        color:var(--ink);
        font-family:var(--serif);
        font-weight:400;
        line-height:1.6;
        overflow-x:hidden;
        -webkit-font-smoothing:antialiased;
    }
    img,video{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}

    /* display / label primitives ───────────────────── */
    .kicker{
        font-family:var(--display);
        font-weight:400;
        text-transform:uppercase;
        letter-spacing:0.32em;
        font-size:0.72rem;
        color:var(--mute);
    }
    .display{
        font-family:var(--display);
        font-weight:400;
        text-transform:uppercase;
        letter-spacing:0.18em;
        line-height:1.12;
    }
    .label-line{display:flex;align-items:center;gap:16px;margin-bottom:26px}
    .label-line::before{content:"";width:34px;height:1px;background:var(--ink);opacity:.5}

    /* buttons ────────────────────────────────────────── */
    .btn{
        display:inline-flex;align-items:center;gap:12px;
        font-family:var(--display);font-weight:400;
        text-transform:uppercase;letter-spacing:0.28em;
        font-size:0.74rem;
        padding:17px 30px;
        border:1px solid var(--ink);
        background:transparent;color:var(--ink);
        cursor:pointer;
        transition:background .4s ease,color .4s ease;
    }
    .btn:hover,.btn:focus-visible{background:var(--ink);color:var(--paper)}
    .btn svg path{stroke:currentColor}
    .btn-light{border-color:var(--paper);color:var(--paper)}
    .btn-light:hover,.btn-light:focus-visible{background:var(--paper);color:var(--ink)}
    :focus-visible{outline:2px solid var(--ink);outline-offset:3px}

    /* ── NAV ─────────────────────────────────────────── */
    header{
        position:fixed;top:0;left:0;right:0;z-index:100;
        display:flex;align-items:center;justify-content:space-between;
        padding:20px var(--gut);
        transition:background .4s ease,padding .4s ease,border-color .4s ease;
        border-bottom:1px solid transparent;
    }
    header.scrolled{
        background:rgba(255,248,237,0.92);
        backdrop-filter:saturate(150%) blur(10px);
        border-bottom-color:var(--line);
        padding-top:14px;padding-bottom:14px;
    }
    .brand{display:flex;align-items:center;gap:14px;color:var(--paper)}
    header.scrolled .brand,header.scrolled .nav a,header.scrolled .burger span{color:var(--ink)}
    header.scrolled .brand .mark rect{stroke:var(--ink)}
    header.scrolled .brand .mark text{fill:var(--ink)}
    .mark{width:34px;height:34px;flex:none}
    .mark rect{stroke:var(--paper);transition:stroke .4s ease}
    .mark text{fill:var(--paper);transition:fill .4s ease;font-family:'Jost',sans-serif;font-weight:400}
    .wordmark{
        font-family:var(--display);font-weight:400;
        text-transform:uppercase;letter-spacing:0.34em;
        font-size:0.86rem;white-space:nowrap;
    }
    .nav{display:flex;align-items:center;gap:38px}
    .nav a{
        font-family:var(--display);font-weight:400;
        text-transform:uppercase;letter-spacing:0.22em;
        font-size:0.72rem;color:var(--paper);
        position:relative;padding-bottom:4px;
    }
    .nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .35s ease}
    .nav a:hover::after,.nav a:focus-visible::after{width:100%}
    .burger{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:6px}
    .burger span{width:26px;height:1.4px;background:var(--paper);transition:.35s ease}
    .burger.open span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
    .burger.open span:nth-child(2){opacity:0}
    .burger.open span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}

    /* ── HERO ────────────────────────────────────────── */
    .hero{position:relative;height:100svh;min-height:600px;display:flex;align-items:center;overflow:hidden}
    .hero-media{position:absolute;inset:0;z-index:0}
    .hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
    .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.25) 38%,rgba(0,0,0,.55) 100%)}
    .hero-inner{position:relative;z-index:2;width:100%;padding:0 var(--gut);color:var(--paper)}
    .hero-eyebrow{
        font-family:var(--display);font-weight:400;
        text-transform:uppercase;letter-spacing:0.42em;
        font-size:clamp(0.78rem,1.4vw,0.95rem);
        color:rgba(255,248,237,.85);
        margin-bottom:26px;
    }
    .hero-statement{
        font-family:var(--serif);font-weight:400;
        font-size:clamp(2.6rem,7vw,5.4rem);
        line-height:1.04;letter-spacing:-0.01em;
        max-width:16ch;
    }
    .hero-statement em{font-style:italic}
    .hero-cta{margin-top:42px}
    .hero-scroll{
        position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
        z-index:2;font-family:var(--display);font-weight:400;
        text-transform:uppercase;letter-spacing:0.3em;font-size:0.62rem;
        color:rgba(255,248,237,.8);display:flex;flex-direction:column;align-items:center;gap:10px;
    }
    .hero-scroll::after{content:"";width:1px;height:42px;background:rgba(255,248,237,.6);animation:scrolldrop 2.2s ease-in-out infinite}
    @keyframes scrolldrop{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}}

    /* ── SECTION SHELL ───────────────────────────────── */
    section{padding:clamp(54px,8vw,116px) var(--gut)}
    .sec-head{max-width:740px;margin-bottom:clamp(28px,4vw,52px)}
    .sec-title{font-size:clamp(1.9rem,4.6vw,3.4rem)}
    .sec-intro{font-family:var(--serif);font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--mute);margin-top:22px;max-width:56ch}
    .sec-intro em{font-style:italic;color:var(--ink)}

    /* ── WORK / TIERS ────────────────────────────────── */
    #work{border-top:1px solid var(--line)}
    .tier{margin-bottom:clamp(60px,9vw,120px)}
    .tier:last-child{margin-bottom:0}
    .tier-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:34px}
    .tier-name{font-size:clamp(1.5rem,3.4vw,2.5rem)}
    .tier-note{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:1.02rem;max-width:42ch}
    .tier-rank{font-family:var(--display);font-weight:400;letter-spacing:0.24em;font-size:0.66rem;color:var(--mute);text-transform:uppercase}

    /* a centered single horizontal feature (flagship) */
    .feature{max-width:1040px;margin:0 auto}
    /* two vertical clips side by side */
    .twoup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,48px);max-width:840px;margin:0 auto}

    /* video tile ─────────────────────────────────────── */
    .vtile{position:relative}
    .vframe{
        position:relative;aspect-ratio:16/9;overflow:hidden;background:#0d0d0d;
        cursor:pointer;border:1px solid var(--line);
    }
    .vframe.v-tall{aspect-ratio:9/16}
    .vframe img,.vframe video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .vframe video{opacity:0;transition:opacity .5s ease}
    .vframe.playing video{opacity:1}
    .vframe img{transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .5s ease}
    .vframe:hover img{transform:scale(1.04)}
    .vframe.playing img{opacity:0}
    .vframe::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.5));pointer-events:none;opacity:1;transition:opacity .5s ease}
    .vframe.playing::after{opacity:0}
    .play{
        position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
        width:62px;height:62px;border:1px solid rgba(255,248,237,.85);border-radius:50%;
        display:flex;align-items:center;justify-content:center;
        background:rgba(0,0,0,.12);backdrop-filter:blur(2px);
        transition:background .4s ease,opacity .4s ease,transform .4s ease;z-index:2;
    }
    .vframe:hover .play{background:rgba(0,0,0,.32)}
    .vframe.playing .play{opacity:0;pointer-events:none}
    .play svg{width:18px;height:18px;margin-left:3px;fill:var(--paper)}
    .vplaceholder{display:flex;align-items:center;justify-content:center;background:#111}
    .vplaceholder .ph-name{font-family:var(--display);font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,248,237,.5);font-size:0.8rem;text-align:center;padding:0 18px}
    .vcap{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:14px}
    .vname{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.16em;font-size:0.82rem}
    .vmeta{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:0.92rem}

    /* ── ABOUT ───────────────────────────────────────── */
    #about{border-top:1px solid var(--line)}
    .about-grid{display:grid;grid-template-columns:0.82fr 1.18fr;gap:clamp(34px,5vw,84px);align-items:center}
    .about-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
    .about-photo img{width:100%;height:100%;object-fit:cover}
    .about-cap{display:flex;flex-direction:column;gap:3px;margin-top:16px}
    .about-name{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:0.82rem}
    .about-loc{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:0.95rem}
    .about-heading{font-size:clamp(1.9rem,4.4vw,3.2rem);margin:10px 0 26px}
    .about-heading em{font-style:italic}
    .about-text{font-family:var(--serif);font-size:1.08rem;color:var(--mute);margin-bottom:18px;max-width:56ch}
    .about-text em{font-style:italic;color:var(--ink)}
    .about-cite{font-size:0.92rem;color:rgba(28,28,32,.45)}
    .about-rule{height:1px;background:var(--line);margin:32px 0 28px}
    .about-stats{display:flex;gap:clamp(34px,6vw,72px)}
    .stat-n{font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:0.03em}
    .stat-l{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.18em;font-size:0.62rem;color:var(--mute);margin-top:7px}

    /* ── SPLIT SECTIONS (photography / webdesign) ────── */
    .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
    .split-media{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
    .split-media img{width:100%;height:100%;object-fit:cover}
    .stack{display:flex;flex-direction:column;gap:0}

    /* web design example cards */
    .sites{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px);margin-top:14px}
    .site-card{display:block;border:1px solid var(--line);background:var(--paper);transition:transform .5s ease,box-shadow .5s ease}
    .site-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -32px rgba(28,28,32,.5)}
    .site-shot{aspect-ratio:16/10;overflow:hidden;background:#ece5d8}
    .site-shot img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
    .site-card:hover .site-shot img{transform:scale(1.05)}
    .site-foot{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}
    .site-url{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.16em;font-size:0.78rem}
    .site-kind{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:0.9rem}

    /* ── FOLLOW ──────────────────────────────────────── */
    #follow{text-align:center;border-top:1px solid var(--line)}
    .follow-rows{display:flex;flex-direction:column;max-width:760px;margin:40px auto 0;border-top:1px solid var(--line)}
    .follow-row{
        display:flex;align-items:center;justify-content:space-between;gap:18px;
        padding:26px 8px;border-bottom:1px solid var(--line);
        transition:padding-left .4s ease;
    }
    .follow-row:hover{padding-left:20px}
    .follow-handle{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:clamp(1.1rem,2.4vw,1.6rem)}
    .follow-sub{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:0.95rem;text-align:left}
    .follow-row svg{flex:none;transition:transform .4s ease}
    .follow-row:hover svg{transform:translateX(6px)}

    /* ── TESTIMONIALS ────────────────────────────────── */
    #testimonials{background:var(--ink);color:var(--paper)}
    #testimonials .kicker{color:rgba(255,248,237,.55)}
    #testimonials .label-line::before{background:var(--paper)}
    .t-head{text-align:center;max-width:680px;margin:0 auto clamp(44px,6vw,72px)}
    .t-head .label-line{justify-content:center}
    .t-head .sec-title{color:var(--paper)}
    .t-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,30px);max-width:1040px;margin:0 auto}
    .t-card{border:1px solid rgba(255,248,237,.18);padding:clamp(28px,3vw,42px)}
    .t-stars{letter-spacing:3px;font-size:0.9rem;color:var(--paper);margin-bottom:18px}
    .t-quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.65;color:rgba(255,248,237,.94)}
    .t-author{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:0.72rem;margin-top:22px;color:rgba(255,248,237,.7)}
    .t-rating{text-align:center;margin-top:48px}
    .t-rating .stars{letter-spacing:4px;color:var(--paper);font-size:1rem}
    .t-rating .line{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.22em;font-size:0.74rem;color:rgba(255,248,237,.7);margin-top:12px}
    .t-rating .line strong{font-weight:400;color:var(--paper)}

    /* ── CONTACT ─────────────────────────────────────── */
    #contact{border-top:1px solid var(--line)}
    .contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px)}
    .contact-heading{font-size:clamp(2rem,4.6vw,3.4rem)}
    .contact-text{font-family:var(--serif);font-size:1.12rem;color:var(--mute);margin:24px 0 38px;max-width:46ch}
    .contact-meta{display:flex;flex-direction:column;gap:18px;border-top:1px solid var(--line);padding-top:30px}
    .meta-row{display:flex;gap:18px;align-items:baseline}
    .meta-label{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:0.66rem;color:var(--mute);min-width:78px}
    .meta-val{font-family:var(--serif);font-size:1.02rem}
    .meta-val a{border-bottom:1px solid var(--line);padding-bottom:1px}
    .meta-val a:hover{border-color:var(--ink)}
    .phone{position:relative;display:inline-block}
    .phone-trigger{font-family:inherit;font-size:inherit;background:none;border:none;color:inherit;cursor:pointer;border-bottom:1px solid var(--line);padding:0 0 1px}
    .phone-menu{display:none;position:absolute;top:130%;left:0;background:var(--paper);border:1px solid var(--line);z-index:5;min-width:120px}
    .phone-menu a{display:block;padding:10px 16px;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.16em;font-size:0.66rem}
    .phone-menu a:hover{background:var(--ink);color:var(--paper)}
    .phone.open .phone-menu{display:block}

    .contact-form{display:flex;flex-direction:column;gap:22px}
    .fg{display:flex;flex-direction:column;gap:9px}
    .fg label{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:0.66rem;color:var(--mute)}
    .fg input,.fg textarea{
        font-family:var(--serif);font-size:1.02rem;color:var(--ink);
        background:transparent;border:none;border-bottom:1px solid var(--line);
        padding:10px 0;transition:border-color .35s ease;
    }
    .fg input::placeholder,.fg textarea::placeholder{color:rgba(28,28,32,.35)}
    .fg input:focus,.fg textarea:focus{outline:none;border-bottom-color:var(--ink)}
    .fg textarea{resize:vertical;min-height:90px}
    .form-notice{font-family:var(--serif);font-style:italic;font-size:0.95rem;min-height:1px}
    .form-notice.ok{color:#1f7a3d}.form-notice.err{color:#a32525}
    .form-btn{margin-top:6px;align-self:flex-start}

    /* ── FOOTER ──────────────────────────────────────── */
    footer{background:var(--ink);color:var(--paper);padding:clamp(54px,7vw,84px) var(--gut) 40px}
    .f-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid rgba(255,248,237,.16)}
    .f-word{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.3em;font-size:1.1rem}
    .f-tag{font-family:var(--serif);font-style:italic;color:rgba(255,248,237,.6);margin-top:12px}
    .f-links{display:flex;flex-wrap:wrap;gap:14px 30px;align-content:flex-start}
    .f-links a{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.18em;font-size:0.68rem;color:rgba(255,248,237,.8)}
    .f-links a:hover{color:var(--paper)}
    .f-social{display:flex;gap:16px}
    .f-social a{width:38px;height:38px;border:1px solid rgba(255,248,237,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .4s,color .4s}
    .f-social a:hover{background:var(--paper);color:var(--ink)}
    .f-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.16em;font-size:0.64rem;color:rgba(255,248,237,.6)}

    /* ── REVEAL ──────────────────────────────────────── */
    .reveal{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
    .reveal.in{opacity:1;transform:none}
    .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

    /* ── RESPONSIVE ──────────────────────────────────── */
    @media(max-width:900px){
        .nav{
            position:fixed;inset:0 0 0 auto;width:min(80vw,340px);
            flex-direction:column;justify-content:center;gap:34px;
            background:var(--paper);transform:translateX(100%);
            transition:transform .45s cubic-bezier(.5,0,.2,1);z-index:90;
        }
        .nav.open{transform:none}
        .nav a{color:var(--ink);font-size:0.86rem}
        .burger{display:flex;z-index:95}
        header.scrolled .burger span{background:var(--ink)}
        .split{grid-template-columns:1fr}
        .split-media{aspect-ratio:16/11;order:-1}
        .about-grid{grid-template-columns:1fr}
        .about-photo{aspect-ratio:16/12;max-width:560px}
        .contact-wrap{grid-template-columns:1fr}
        .t-grid{grid-template-columns:1fr}
    }
    @media(max-width:560px){
        .sites{grid-template-columns:1fr}
        .twoup{gap:12px}
        .tier-head{flex-direction:column;gap:8px}
        .f-bottom{flex-direction:column;gap:8px}
    }

    /* ── REDUCED MOTION ──────────────────────────────── */
    @media(prefers-reduced-motion:reduce){
        *{animation:none!important;scroll-behavior:auto!important}
        .reveal{opacity:1;transform:none;transition:none}
        .hero-scroll::after{animation:none}
    }

    /* ════════════════════════════════════════════════
       HOMEPAGE REDESIGN — editorial layout
       (reuses the Jost + Newsreader monochrome system)
    ════════════════════════════════════════════════ */

    /* brand logo (wordmark image) — white over the video hero, inverts to black on scroll */
    .brand-logo{height:104px;width:auto;display:block;filter:drop-shadow(0 2px 12px rgba(0,0,0,.55));transition:filter .4s ease,height .4s ease}
    header.scrolled .brand-logo{filter:invert(1);height:44px}
    @media(max-width:560px){.brand-logo{height:84px}header.scrolled .brand-logo{height:38px}}
    .nav-ig{display:inline-flex;align-items:center;padding-bottom:0}
    .nav-ig::after{display:none}

    /* blank media placeholders (real media added later) */
    .media-ph{position:relative;background:#efe9dd;border:1px solid var(--line);overflow:hidden}
    .media-ph::after{content:attr(data-ph);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
        font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.26em;
        font-size:0.62rem;color:var(--mute);text-align:center;padding:0 16px}

    /* dark media placeholder (full-screen video hero area) */
    .media-ph-dark{background:#1C1C20;border:none}
    .media-ph-dark::after{color:rgba(255,248,237,.5)}

    /* ── 1b · INTRO (what we do) ── */
    .intro-ed{text-align:center}
    .intro-ed .label-line{justify-content:center}
    .intro-statement{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2.4vw,1.85rem);line-height:1.6;
        max-width:820px;margin:0 auto;letter-spacing:0}
    .intro-statement em{font-style:normal;font-weight:600}
    .intro-statement .hero-nowrap{white-space:nowrap}

    /* ── TRUSTED BY (client logo marquee) ── */
    .trust{padding:clamp(40px,5vw,62px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .trust-label{text-align:center;font-family:var(--serif);font-size:1rem;color:var(--mute);margin-bottom:clamp(24px,3vw,36px)}
    .trust-label em{font-style:italic;color:var(--ink)}
    .brand-strip{overflow:hidden;width:100%;
        -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
        mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
    .brand-track{display:flex;align-items:center;width:max-content;animation:brandscroll 40s linear infinite}
    .brand-strip:hover .brand-track{animation-play-state:paused}
    @keyframes brandscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
    .brand-mark-link{flex:none;margin-right:clamp(40px,6vw,92px);display:inline-flex;align-items:center}
    .brand-mark{height:clamp(28px,4vw,48px);width:auto;object-fit:contain;display:block;
        opacity:.8;transition:opacity .3s ease}
    .brand-mark-link:hover .brand-mark{opacity:1}
    @keyframes logoflash{0%{opacity:.3}9%{opacity:1}24%{opacity:.3}100%{opacity:.3}}

    /* ── 2 · CREDIBILITY / STATS ── */
    .stats-strip{border-top:1px solid var(--line);padding:clamp(48px,6vw,80px) var(--gut)}
    .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,40px)}
    .stat-block{text-align:center;border-left:1px solid var(--line);padding:6px 12px}
    .stat-block:first-child{border-left:none}
    .stat-fig{font-family:var(--display);font-weight:400;font-size:clamp(2.3rem,5vw,3.9rem);line-height:1;letter-spacing:0.02em}
    .stat-cap{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;
        font-size:0.62rem;color:var(--mute);margin-top:14px}
    .stat-link{display:block;color:inherit}
    .stat-link .stat-cap{transition:color .3s ease}
    .stat-link:hover .stat-cap,.stat-link:focus-visible .stat-cap{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

    /* ── 3 · SERVICES (split, full-bleed media) ── */
    .services{padding:0;border-top:1px solid var(--line)}
    .services-split{display:grid;grid-template-columns:1.02fr 0.98fr;align-items:stretch}
    .services-media{position:relative;min-height:clamp(420px,58vw,760px)}
    .services-media .media-ph{position:absolute;inset:0;border:none;border-right:1px solid var(--line)}
    .services-body{padding:clamp(64px,9vw,130px) var(--gut);display:flex;flex-direction:column;justify-content:center}
    .svc-list{margin-top:clamp(34px,5vw,54px);border-top:1px solid var(--line)}
    .svc-item{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
    .svc-name{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.16em;
        font-size:clamp(1.05rem,1.8vw,1.4rem)}
    .svc-note{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:0.96rem;text-align:right;max-width:34ch}
    .services-cta{margin-top:clamp(40px,5vw,56px)}

    /* ── 4 · FEATURED WORK (alternating rows) ── */
    .featured{border-top:1px solid var(--line)}
    .frow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;margin-bottom:clamp(60px,8vw,110px)}
    .frow:last-of-type{margin-bottom:0}
    .frow.flip .frow-media{order:2}
    .frow-media{position:relative;aspect-ratio:4/3}
    .frow-media .media-ph{position:absolute;inset:0}
    .frow-body{max-width:48ch}
    .frow-title{font-size:clamp(1.7rem,3.6vw,2.7rem);margin:14px 0 20px}
    .frow-copy{font-family:var(--serif);font-size:1.06rem;color:var(--mute)}
    .frow-copy em{font-style:italic;color:var(--ink)}
    .frow-link{display:inline-flex;align-items:center;gap:11px;margin-top:26px;font-family:var(--display);font-weight:400;
        text-transform:uppercase;letter-spacing:0.22em;font-size:0.72rem;border-bottom:1px solid var(--ink);padding-bottom:5px}
    .frow-link svg path{stroke:currentColor}

    /* ── 5 · PULL QUOTE ── */
    .pullquote{position:relative;border-top:1px solid var(--line);text-align:center;overflow:hidden;color:var(--paper)}
    .pq-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
    .pq-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,16,16,.66),rgba(16,16,16,.74))}
    .pullquote > .reveal{position:relative;z-index:2}
    .pq-mark{font-family:var(--serif);font-style:italic;font-size:2.6rem;color:rgba(255,248,237,.6);line-height:1;margin-bottom:8px}
    .pq-quote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.4rem,2.7vw,2.2rem);
        line-height:1.44;max-width:min(940px,92%);margin:0 auto;letter-spacing:-0.01em;color:var(--paper)}
    .pq-attr{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.24em;
        font-size:0.72rem;color:rgba(255,248,237,.82);margin-top:clamp(30px,4vw,44px)}
    .pq-carousel{position:relative}
    .pq-slides{display:grid}
    .pq-slide{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .8s ease;pointer-events:none}
    .pq-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
    .pq-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:clamp(26px,3.4vw,40px)}
    .pq-arrow{width:34px;height:34px;background:none;border:none;color:rgba(255,248,237,.55);
        font-family:var(--serif);font-size:2rem;line-height:1;cursor:pointer;transition:color .3s}
    .pq-arrow:hover{color:var(--paper)}
    .pq-dots{display:flex;gap:11px}
    .pq-dot{width:7px;height:7px;padding:0;border:none;border-radius:50%;cursor:pointer;
        background:rgba(255,248,237,.30);transition:background .3s,transform .3s}
    .pq-dot.is-active{background:rgba(255,248,237,.92);transform:scale(1.25)}

    /* ── 6 · DUAL MARKET ── */
    .markets{padding:0;border-top:1px solid var(--line)}
    .markets-grid{display:grid;grid-template-columns:1fr 1fr}
    .market{position:relative;min-height:clamp(420px,54vw,640px);display:flex;align-items:flex-end;overflow:hidden;
        border-right:1px solid var(--line)}
    .market:last-child{border-right:none}
    .market .media-ph{position:absolute;inset:0;border:none}
    .market-cap{position:relative;z-index:2;padding:clamp(30px,4vw,54px);width:100%}
    .market-label{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.22em;
        font-size:clamp(1.3rem,2.6vw,2rem)}
    .market-desc{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:1rem;margin-top:12px;max-width:34ch}

    /* ── 7 · CONTACT / CTA (minimal closer) ── */
    .closer{border-top:1px solid var(--line);text-align:center}
    .closer-line{font-family:var(--serif);font-size:clamp(1.6rem,3.4vw,2.6rem);max-width:24ch;margin:0 auto 30px}
    .closer-line em{font-style:italic}
    .closer-email{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.22em;
        font-size:0.8rem;border-bottom:1px solid var(--ink);padding-bottom:6px;display:inline-block;margin-bottom:24px}
    .closer-phones{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;
        font-family:var(--serif);font-size:1.05rem;margin-bottom:clamp(42px,6vw,58px)}
    .closer-phones .phone-sep{color:var(--mute)}
    .closer-form{max-width:620px;margin:0 auto;text-align:left}

    /* ── redesign responsive ── */
    @media(max-width:900px){
        .services-split{grid-template-columns:1fr}
        .services-media{min-height:clamp(300px,60vw,440px);order:-1}
        .services-media .media-ph{border-right:none;border-bottom:1px solid var(--line)}
        .services-body{padding:clamp(40px,8vw,64px) var(--gut)}
    }
    @media(max-width:560px){
        .hero-services{gap:10px 20px}
    }

    /* ── Recent Work — desktop: alternating rows ── */
    .work-carousel{display:flex;flex-direction:column;gap:clamp(48px,7vw,100px)}
    .work-card{display:flex;flex-direction:row;align-items:center;gap:clamp(30px,5vw,72px)}
    .work-card:nth-child(even){flex-direction:row-reverse}
    .work-media{position:relative;display:block;flex:0 0 50%;aspect-ratio:4/3;overflow:hidden}
    .work-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
    .work-media:hover img{transform:scale(1.05)}
    .work-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35))}
    .work-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;
        border:1px solid rgba(255,248,237,.85);border-radius:50%;display:flex;align-items:center;justify-content:center;
        background:rgba(0,0,0,.2);backdrop-filter:blur(2px);z-index:2;transition:background .4s ease}
    .work-media:hover .work-play{background:rgba(0,0,0,.4)}
    .work-play svg{width:17px;height:17px;fill:var(--paper);margin-left:2px}
    .work-body{flex:1;display:flex;flex-direction:column;max-width:48ch}
    .work-title{font-size:clamp(1.7rem,3.4vw,2.6rem);margin:12px 0 16px}
    .work-copy{font-family:var(--serif);font-size:1.06rem;color:var(--mute)}
    .work-copy em{font-style:italic;color:var(--ink)}
    .work-body .frow-link{margin-top:24px;align-self:flex-start}
    .work-more{text-align:center;margin-top:clamp(40px,5vw,64px)}

    /* ── Mobile only: stats cube + Recent Work carousel ── */
    @media(max-width:700px){
        .stats-row{grid-template-columns:1fr 1fr;gap:0;max-width:420px;margin:0 auto;border:1px solid var(--line)}
        .stat-block{border-top:1px solid var(--line);padding:clamp(22px,6vw,34px) 10px}
        .stat-block:nth-child(1),.stat-block:nth-child(2){border-top:none}
        .stat-block:nth-child(odd){border-left:none}
        .stat-block:nth-child(even){border-left:1px solid var(--line)}

        .work-carousel{flex-direction:row;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
            -webkit-overflow-scrolling:touch;padding-bottom:16px;scrollbar-width:thin}
        .work-carousel::-webkit-scrollbar{height:6px}
        .work-carousel::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
        .work-card,.work-card:nth-child(even){flex:0 0 84%;flex-direction:column;align-items:stretch;
            scroll-snap-align:start;border:1px solid var(--line);gap:0}
        .work-media{flex:none;width:100%}
        .work-body{padding:20px 22px 24px;max-width:none}
        .work-title{font-size:1.5rem;margin:10px 0 10px}
        .work-copy{font-size:0.98rem}
        .work-body .frow-link{margin-top:16px}
    }

    /* fullscreen video modal (featured work) */
    .vmodal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;background:rgba(10,10,10,.95)}
    .vmodal.open{display:flex}
    .vmodal video{max-width:92vw;max-height:88vh;background:#000}
    .vmodal-close{position:absolute;top:1.1rem;right:1.4rem;width:46px;height:46px;border:none;border-radius:50%;background:rgba(255,248,237,.14);color:var(--paper);font-size:1.7rem;line-height:1;cursor:pointer;transition:background .3s}
    .vmodal-close:hover{background:rgba(255,248,237,.28)}

/* ════════════════════════════════════════════════
   UX PASS — multi-page nav, pricing, planner
════════════════════════════════════════════════ */

/* ── header: dropdown nav + Book a Shoot ── */
.nav{gap:34px}
.nav-item{position:relative;display:flex;align-items:center;gap:6px}
.nav-caret{background:none;border:none;color:var(--paper);cursor:pointer;padding:4px;display:inline-flex;transition:transform .3s ease}
.nav-caret svg{width:10px;height:10px}
.nav-caret svg path{stroke:currentColor}
header.scrolled .nav-caret{color:var(--ink)}
.nav-drop{
    position:absolute;top:calc(100% + 14px);left:-22px;min-width:240px;
    background:var(--paper);border:1px solid var(--line);
    padding:12px 0;display:none;flex-direction:column;
    box-shadow:0 24px 50px -30px rgba(28,28,32,.45);
}
.nav-drop::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-item:hover .nav-drop,.nav-item:focus-within .nav-drop,.nav-item.open .nav-drop{display:flex}
.nav .nav-drop a{color:var(--ink);padding:11px 22px;font-size:0.68rem;letter-spacing:0.2em}
.nav .nav-drop a::after{display:none}
.nav .nav-drop a:hover,.nav .nav-drop a:focus-visible{background:rgba(28,28,32,.05)}
.nav-drop .drop-sep{height:1px;background:var(--line);margin:8px 22px}
.nav .btn-book{
    border:1px solid currentColor;padding:12px 20px;letter-spacing:0.24em;
    transition:background .35s ease,color .35s ease,border-color .35s ease;
}
.nav .btn-book::after{display:none}
.nav .btn-book:hover,.nav .btn-book:focus-visible{background:var(--paper);color:var(--ink)}
header.scrolled .nav .btn-book{color:var(--ink)}
header.scrolled .nav .btn-book:hover{background:var(--ink);color:var(--paper)}
.brand-logo-wrap{display:flex}

/* sub-pages: smaller logo, no giant mark over a short banner */
body.sub .brand-logo{height:64px}
body.sub header.scrolled .brand-logo{height:44px}

/* ── page banner (sub-pages) ── */
.pbanner{position:relative;min-height:clamp(340px,52vh,520px);display:flex;align-items:flex-end;padding:0 var(--gut) clamp(40px,6vw,72px);overflow:hidden;color:var(--paper)}
.pbanner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.pbanner::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.2) 45%,rgba(0,0,0,.6) 100%)}
.pbanner-inner{position:relative;z-index:2;max-width:760px}
.pbanner h1{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.24em;font-size:clamp(1.6rem,4vw,2.8rem);line-height:1.15}
.pbanner p{font-family:var(--serif);font-size:clamp(1.02rem,1.5vw,1.2rem);color:rgba(255,248,237,.86);margin-top:16px;max-width:52ch}

/* "to confirm" marker for drafted facts — remove the span once confirmed */
.tbc{display:inline-block;vertical-align:middle;margin-left:8px;padding:2px 7px;border:1px solid #b5651d;color:#b5651d;
    font-family:var(--display);font-style:normal;font-weight:400;font-size:0.56rem;letter-spacing:0.18em;text-transform:uppercase;line-height:1.4}

/* ── shared small pieces ── */
.text-link{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:400;text-transform:uppercase;
    letter-spacing:0.22em;font-size:0.72rem;border-bottom:1px solid var(--ink);padding-bottom:5px}
.text-link svg path{stroke:currentColor}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn-solid{background:var(--ink);color:var(--paper)}
.btn-solid:hover,.btn-solid:focus-visible{background:transparent;color:var(--ink)}

/* ── HOW IT WORKS (home) ── */
.steps-sec{border-top:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);counter-reset:none}
.step{padding:30px clamp(16px,2vw,30px) 8px 0;border-right:1px solid var(--line);margin-right:clamp(16px,2vw,30px)}
.step:last-child{border-right:none;margin-right:0}
.step-n{font-family:var(--display);font-weight:400;font-size:0.72rem;letter-spacing:0.3em;color:var(--mute)}
.step-t{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.16em;font-size:1.02rem;margin:16px 0 12px}
.step-d{font-family:var(--serif);color:var(--mute);font-size:1rem;max-width:30ch}
.steps-cta{margin-top:clamp(36px,5vw,56px)}

/* ── TEAM strip (home) ── */
.team-sec{border-top:1px solid var(--line)}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,4vw,64px);max-width:980px}
.team-card{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}
.team-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);background:#efe9dd}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-photo.media-ph{border:1px solid var(--line)}
.team-name{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:0.95rem}
.team-role{font-family:var(--serif);font-style:italic;color:var(--mute);margin-top:6px}
.team-line{font-family:var(--serif);color:var(--mute);font-size:0.98rem;margin-top:12px}
.team-more{margin-top:clamp(30px,4vw,44px)}

/* ── reviews link under carousel ── */
.pq-links{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.pq-links a{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.22em;font-size:0.66rem;
    color:rgba(255,248,237,.85);border-bottom:1px solid rgba(255,248,237,.5);padding-bottom:4px}
.pq-links a:hover{color:var(--paper);border-color:var(--paper)}

/* ── CONTACT additions ── */
.wa-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:-22px 0 clamp(42px,6vw,58px)}
.btn-wa{padding:13px 22px;font-size:0.68rem;letter-spacing:0.22em}
.btn-wa svg{width:16px;height:16px}
.fg select{
    font-family:var(--serif);font-size:1.02rem;color:var(--ink);background:transparent;border:none;
    border-bottom:1px solid var(--line);padding:10px 0;border-radius:0;appearance:none;-webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231C1C20' stroke-width='1.2'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 2px center;cursor:pointer;
}
.fg select:focus{outline:none;border-bottom-color:var(--ink)}
.fg .opt{font-style:italic;text-transform:none;letter-spacing:0;font-family:var(--serif);font-size:0.85rem}
.form-thanks{display:none;max-width:620px;margin:0 auto;text-align:center;padding:clamp(30px,5vw,56px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.form-thanks h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:clamp(1.2rem,2.4vw,1.6rem)}
.form-thanks p{font-family:var(--serif);color:var(--mute);margin-top:14px;font-size:1.06rem}
.is-sent .contact-form{display:none}
.is-sent .form-thanks{display:block}

/* ── CTA band (sub-pages) ── */
.cta-band{border-top:1px solid var(--line);text-align:center}
.cta-band .closer-line{margin-bottom:16px}
.cta-band p.sub{font-family:var(--serif);color:var(--mute);max-width:46ch;margin:0 auto 32px}
.cta-band .btn-row{justify-content:center}

/* ── SERVICES page ── */
.glance{border-top:1px solid var(--line)}
.glance-table{max-width:980px;border-top:1px solid var(--ink)}
.glance-row{display:grid;grid-template-columns:1.1fr 1.4fr auto;gap:24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}
.glance-row:hover .glance-name{padding-left:6px}
.glance-name{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.16em;font-size:1rem;transition:padding .3s ease}
.glance-desc{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:0.98rem}
.glance-price{font-family:var(--display);font-weight:400;letter-spacing:0.06em;font-size:1rem;text-align:right;white-space:nowrap}
.glance-price small{display:block;font-size:0.72rem;color:var(--mute);letter-spacing:0.08em;margin-top:3px}
.price-note{max-width:980px;margin-top:22px;font-family:var(--serif);font-style:italic;color:var(--mute);font-size:0.98rem}
.svc-block{border-top:1px solid var(--line);scroll-margin-top:90px}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.svc-block:nth-of-type(even) .svc-grid .svc-media{order:2}
.svc-media{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line)}
.svc-media img{width:100%;height:100%;object-fit:cover}
.svc-media.media-ph{position:relative}
.svc-h{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.18em;font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:18px}
.svc-p{font-family:var(--serif);color:var(--mute);font-size:1.06rem;max-width:50ch}
.svc-inc{list-style:none;margin:22px 0 0;border-top:1px solid var(--line);max-width:50ch}
.svc-inc li{font-family:var(--serif);font-size:0.98rem;padding:11px 0;border-bottom:1px solid var(--line)}
.svc-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:26px 0 24px}
.svc-price strong{font-family:var(--display);font-weight:400;font-size:clamp(1.4rem,2.4vw,1.8rem);letter-spacing:0.04em}
.svc-price span{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:0.95rem}

/* ── WORK page (case studies) ── */
.case{border-top:1px solid var(--line);scroll-margin-top:90px}
.case-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;max-width:1200px}
.case-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.case-media:hover img{transform:scale(1.03)}
.case-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35))}
.case-body{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,5vw,80px);margin-top:clamp(28px,4vw,44px);max-width:1200px}
.case-title{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.18em;font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:16px}
.case-copy{font-family:var(--serif);color:var(--mute);font-size:1.06rem;max-width:52ch}
.case-facts{border-top:1px solid var(--ink)}
.case-fact{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline}
.case-fact dt{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:0.62rem;color:var(--mute)}
.case-fact dd{font-family:var(--serif);font-size:1rem}

/* ── ABOUT page ── */
.story{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(34px,5vw,84px);align-items:start}
.story-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
.story-photo img{width:100%;height:100%;object-fit:cover}
.story-text p{font-family:var(--serif);font-size:1.08rem;color:var(--mute);margin-bottom:18px;max-width:58ch}
.story-text a{color:var(--ink);border-bottom:1px solid var(--line)}
.bio-sec{border-top:1px solid var(--line);scroll-margin-top:90px}
.bios{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px)}
.bio .team-photo{aspect-ratio:4/5;margin-bottom:22px}
.bio p{font-family:var(--serif);color:var(--mute);font-size:1.04rem;margin-top:14px;max-width:52ch}
.facts3{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);border-top:1px solid var(--line)}
.facts3 h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:0.95rem;margin-bottom:16px}
.facts3 p{font-family:var(--serif);color:var(--mute);font-size:1.04rem;max-width:52ch}

/* ── FAQ page ── */
.faq-wrap{display:grid;grid-template-columns:220px 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.faq-toc{position:sticky;top:110px;display:flex;flex-direction:column;gap:14px}
.faq-toc a{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:0.68rem;color:var(--mute)}
.faq-toc a:hover{color:var(--ink)}
.faq-group{margin-bottom:clamp(40px,5vw,64px);scroll-margin-top:100px}
.faq-group h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.22em;font-size:0.8rem;color:var(--mute);margin-bottom:10px}
.faq-group details{border-bottom:1px solid var(--line)}
.faq-group details:first-of-type{border-top:1px solid var(--ink)}
.faq-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;
    font-family:var(--serif);font-size:clamp(1.05rem,1.6vw,1.2rem)}
.faq-group summary::-webkit-details-marker{display:none}
.faq-group summary::after{content:"+";font-family:var(--display);font-weight:400;font-size:1.4rem;line-height:1;transition:transform .3s ease;flex:none}
.faq-group details[open] summary::after{transform:rotate(45deg)}
.faq-group .ans{font-family:var(--serif);color:var(--mute);font-size:1.02rem;padding:0 0 22px;max-width:62ch}
.faq-group .ans a{color:var(--ink);border-bottom:1px solid var(--line)}

/* ── PROJECT PLANNER ── */
.planner{max-width:820px;margin:0 auto}
.pl-progress{display:flex;align-items:center;gap:16px;margin-bottom:clamp(30px,4vw,48px)}
.pl-bar{flex:1;height:1px;background:var(--line);position:relative}
.pl-bar i{position:absolute;left:0;top:-1px;height:3px;background:var(--ink);transition:width .45s ease}
.pl-count{font-family:var(--display);font-weight:400;letter-spacing:0.24em;font-size:0.66rem;color:var(--mute);white-space:nowrap}
.pl-step{display:none}
.pl-step.on{display:block;animation:plin .5s ease}
@keyframes plin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.pl-q{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.25;margin-bottom:10px}
.pl-hint{font-family:var(--serif);font-style:italic;color:var(--mute);margin-bottom:26px}
.pl-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pl-opt{position:relative}
.pl-opt input{position:absolute;opacity:0;pointer-events:none}
.pl-opt span{display:flex;flex-direction:column;gap:4px;min-height:64px;justify-content:center;padding:16px 20px;border:1px solid var(--line);cursor:pointer;
    font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.14em;font-size:0.8rem;transition:border-color .25s,background .25s,color .25s}
.pl-opt span small{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:0;font-size:0.88rem;color:var(--mute)}
.pl-opt span:hover{border-color:var(--ink)}
.pl-opt input:checked + span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pl-opt input:checked + span small{color:rgba(255,248,237,.7)}
.pl-opt input:focus-visible + span{outline:2px solid var(--ink);outline-offset:3px}
.pl-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:clamp(28px,4vw,40px)}
.pl-back{background:none;border:none;cursor:pointer;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.22em;font-size:0.7rem;color:var(--mute);padding:12px 0}
.pl-back:hover{color:var(--ink)}
.pl-back[hidden]{display:block;visibility:hidden}
.pl-err{font-family:var(--serif);font-style:italic;color:#a32525;margin-top:14px;min-height:1px}
.pl-result{border:1px solid var(--ink);padding:clamp(24px,4vw,44px);margin-bottom:clamp(30px,4vw,44px)}
.pl-result .kicker{margin-bottom:12px}
.pl-rec{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.16em;font-size:clamp(1.2rem,2.4vw,1.6rem);line-height:1.3}
.pl-lines{list-style:none;margin-top:22px;border-top:1px solid var(--line)}
.pl-lines li{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--serif)}
.pl-lines li b{font-weight:400;font-family:var(--display);letter-spacing:0.04em;white-space:nowrap}
.pl-lines li b.q{font-family:var(--serif);font-style:italic;color:var(--mute);letter-spacing:0}
.pl-small{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:0.95rem;margin-top:16px}
.pl-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pl-form .fg.full{grid-column:1/-1}
.pl-thanks{text-align:center;padding:clamp(30px,6vw,70px) 0}
.pl-thanks h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0.2em;font-size:clamp(1.4rem,3vw,2rem)}
.pl-thanks p{font-family:var(--serif);color:var(--mute);margin:16px auto 30px;max-width:44ch;font-size:1.06rem}
.pl-thanks .btn-row{justify-content:center}

/* ── responsive (UX pass) ── */
@media(max-width:1100px){
    .nav{gap:24px}
}
@media(max-width:900px){
    .nav{justify-content:flex-start;align-items:stretch;gap:0;padding:96px 30px 40px;overflow-y:auto;width:min(86vw,380px);
}
    .nav.open{box-shadow:-30px 0 60px -40px rgba(0,0,0,.5)}
    .nav > a,.nav-item > a{padding:16px 0;font-size:0.82rem}
    .nav > a,.nav-item{border-bottom:1px solid var(--line)}
    .nav-item{flex-wrap:wrap;justify-content:space-between}
    .nav-caret{color:var(--ink);padding:14px 4px}
    .nav-item.open .nav-caret{transform:rotate(180deg)}
    .nav-drop{position:static;display:none;width:100%;min-width:0;border:none;box-shadow:none;padding:0 0 12px;background:transparent}
    .nav-drop::before{display:none}
    .nav-item:hover .nav-drop,.nav-item:focus-within .nav-drop{display:none}
    .nav-item.open .nav-drop{display:flex}
    .nav .nav-drop a{padding:11px 0 11px 14px;font-size:0.72rem;color:var(--mute)}
    .nav-drop .drop-sep{margin:6px 0 6px 14px}
    .nav .btn-book{margin-top:28px;text-align:center;justify-content:center;padding:16px 20px;color:var(--ink);border-color:var(--ink);display:flex}
    .nav .nav-ig{border-bottom:none;padding-top:22px}
    .steps{grid-template-columns:1fr 1fr}
    .step:nth-child(2){border-right:none;margin-right:0}
    .step{padding-bottom:26px}
    .step:nth-child(n+3){border-top:1px solid var(--line)}
    .team-grid{grid-template-columns:1fr}
    .svc-grid,.case-body,.story,.bios,.facts3{grid-template-columns:1fr}
    .svc-block:nth-of-type(even) .svc-grid .svc-media{order:0}
    .faq-wrap{grid-template-columns:1fr}
    .faq-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:10px 22px}
    .story-photo{aspect-ratio:16/12;max-width:560px}
}
@media(max-width:620px){
    body.sub .brand-logo{height:52px}
    .steps{grid-template-columns:1fr}
    .step{border-right:none;margin-right:0;border-top:1px solid var(--line)}
    .step:first-child{border-top:none}
    .team-card{grid-template-columns:110px 1fr;gap:18px}
    .glance-row{grid-template-columns:1fr auto;gap:6px 16px}
    .glance-desc{grid-column:1/-1;grid-row:2}
    .pl-opts{grid-template-columns:1fr}
    .pl-form{grid-template-columns:1fr}
    .btn{min-height:48px}
    .btn-row .btn{flex:1 1 100%;justify-content:center}
    .wa-row .btn{flex:1 1 calc(50% - 6px);justify-content:center;padding:13px 10px}
    .case-fact{grid-template-columns:90px 1fr}
    .pq-arrow{width:44px;height:44px}
    .closer-phones{flex-direction:column;gap:12px}
    .closer-phones .phone-sep{display:none}
}

/* planner fieldset reset + small fixes */
fieldset.pl-step{border:none;padding:0;margin:0;min-width:0}
fieldset.pl-step legend{padding:0}
a.svc-item{transition:padding .3s ease}
a.svc-item:hover{padding-left:8px}
a.glance-row{color:inherit}
.services-cta .btn-row{gap:26px}
.bio .team-photo{max-width:380px}
.burger.open span{background:var(--ink)}
@media(max-width:620px){.wa-row .btn{font-size:0.62rem;letter-spacing:0.16em;gap:8px}}
.glance-row{grid-template-columns:1.1fr 1.6fr 40px}
.glance-go{justify-self:end;transition:transform .3s ease}
.glance-go svg path{stroke:currentColor}
.glance-row:hover .glance-go{transform:translateX(5px)}
.glance-quote{max-width:980px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:30px}
.glance-quote .price-note{margin:0;max-width:56ch}
.svc-block .btn-row{margin-top:30px}
@media(max-width:620px){.glance-row{grid-template-columns:1fr 30px}.glance-desc{grid-column:1/2}}

/* ── new Forta wordmark (Oct 2026 brand) ── */
.brand-logo{height:auto;width:clamp(120px,11vw,168px);filter:none}
header.scrolled .brand-logo{filter:none;height:auto;width:112px}
.brand-logo--dark{display:none}
header.scrolled .brand-logo--light{display:none}
header.scrolled .brand-logo--dark{display:block}
body.sub .brand-logo{height:auto;width:clamp(110px,9vw,140px)}
body.sub header.scrolled .brand-logo{height:auto;width:112px}
@media(max-width:620px){.brand-logo,body.sub .brand-logo{height:auto;width:104px}header.scrolled .brand-logo,body.sub header.scrolled .brand-logo{height:auto;width:92px}}
.f-logo{width:190px;height:auto;display:block}
.story-photo--wide{aspect-ratio:3/2}
.story{align-items:center}

/* ════════════════════════════════════════════════
   BRAND TYPE (Oct 2026): Ogg Display for headings, Archivo for text.
   Ogg is a licensed font — until web files are added (assets/fonts/ + @font-face),
   Fraunces at display size stands in.
════════════════════════════════════════════════ */
:root{
    --head:'Ogg Display','Ogg','Fraunces',Georgia,serif;
    --serif:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
body{font-family:var(--serif);font-weight:400}
strong,b{font-weight:700}

/* headings: Ogg, sentence case like the wordmark */
.display,.sec-title,.work-title,.frow-title,.tier-name,.about-heading,.contact-heading,
.pbanner h1,.svc-h,.case-title,.closer-line,.pl-q,.pl-rec,.pl-thanks h2,.form-thanks h3,
.intro-statement,.hero-statement,.stat-fig,.stat-n,.facts3 h2{
    font-family:var(--head);font-weight:400;text-transform:none;letter-spacing:-0.01em;
    font-optical-sizing:auto;
}
.sec-title{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.05}
.pbanner h1{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.02}
.svc-h,.case-title{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.08}
.work-title{font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.08}
.closer-line{font-size:clamp(1.9rem,4vw,3rem);line-height:1.12}
.facts3 h2{font-size:1.7rem;margin-bottom:12px}
.pl-rec{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15}
.form-thanks h3,.pl-thanks h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.intro-statement{font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.4}
.intro-statement em{font-style:italic;font-weight:400}
.stat-fig{letter-spacing:0}

/* italic accents: Ogg Italic */
em,.closer-line em,.sec-intro em,.svc-note,.glance-desc,.vmeta,.team-role,.about-loc,.tier-note,
.follow-sub,.market-desc,.site-kind,.f-tag,.pq-quote,.pl-hint,.pl-small,.price-note,.svc-price span,
.work-copy em,.frow-copy em,.about-text em,.trust-label em,.opt{
    font-family:var(--head);font-style:italic;
}
.svc-note,.glance-desc,.team-role{font-size:1.02rem}

/* body copy: Archivo Regular, a touch smaller than the old serif */
.sec-intro,.about-text,.work-copy,.frow-copy,.svc-p,.case-copy,.story-text p,.bio p,.facts3 p,
.step-d,.team-line,.contact-text,.faq-group .ans,.cta-band p.sub,.pbanner p,.form-thanks p,.pl-thanks p,
.svc-inc li,.case-fact dd,.meta-val,.closer-phones,.fg input,.fg textarea,.fg select{
    font-family:var(--serif);font-size:1rem;line-height:1.65;
}
.faq-group summary{font-family:var(--serif);font-size:1.08rem;font-weight:500}

/* vertical reel slot on services */
.svc-media--tall{aspect-ratio:9/16;max-width:340px;width:100%;justify-self:center}
