:root{--bg:#07080b;--ink:#f4f1e8;--muted:#989aa3;--soft:#171a20;--line:rgba(244,241,232,.13);--gold:#c8b783;--gold2:#8e7c4b;--max:1280px;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");z-index:20}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.top{position:fixed;top:0;left:0;right:0;height:78px;z-index:30;display:flex;align-items:center;border-bottom:1px solid transparent;transition:.45s var(--ease);background:linear-gradient(180deg,rgba(7,8,11,.88),rgba(7,8,11,0))}.top.scrolled{height:68px;border-color:var(--line);background:rgba(7,8,11,.84);backdrop-filter:blur(18px)}.nav{display:flex;align-items:center;justify-content:space-between}.brand{font-size:14px;letter-spacing:.22em;font-weight:800}.brand span{color:var(--gold)}.links{display:flex;gap:30px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#b9bac0}.links a{transition:.25s}.links a:hover,.links a.active{color:var(--ink)}.menu{display:none;border:0;background:none;color:var(--ink);font-size:24px}.mobile{display:none}.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700}.display{font-size:clamp(64px,10vw,154px);line-height:.78;letter-spacing:-.07em;font-weight:500;margin:0}.display em{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.08em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:0 20px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800;transition:.35s var(--ease)}.btn:hover{border-color:rgba(244,241,232,.5);transform:translateY(-2px);background:#111318}.btn.primary{background:var(--ink);color:#090a0d;border-color:var(--ink)}.btn.primary:hover{background:var(--gold);border-color:var(--gold)}.section{padding:140px 0}.rule{height:1px;background:var(--line)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:60px}.muted{color:var(--muted);line-height:1.75}.hero{min-height:100svh;position:relative;display:grid;align-items:end;padding:150px 0 70px;isolation:isolate;overflow:hidden}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 67% 44%,rgba(110,92,45,.13),transparent 25%),linear-gradient(90deg,rgba(7,8,11,.92) 0%,rgba(7,8,11,.45) 45%,rgba(7,8,11,.1) 100%)}.hero-copy{max-width:950px}.hero-copy .eyebrow{margin-bottom:35px}.hero-copy .display{max-width:900px}.hero-copy .lead{max-width:560px;margin:40px 0;color:#c5c3bc;line-height:1.65;font-size:15px}.hero-meta{display:flex;justify-content:space-between;align-items:end;margin-top:90px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#7e8088}.scroll{animation:bob 2.2s infinite}@keyframes bob{50%{transform:translateY(6px)}}.statement{padding:110px 0 130px}.statement h2{font-size:clamp(42px,6vw,86px);line-height:.98;letter-spacing:-.055em;font-weight:450;max-width:1050px;margin:20px 0}.statement h2 em{font-family:Georgia,serif}.statement p{max-width:550px;color:var(--muted);line-height:1.8;margin-left:auto}.work-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.work-head h2{font-size:42px;letter-spacing:-.04em;font-weight:500;margin:0}.work-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.work-card{position:relative;min-height:480px;overflow:hidden;background:#101218;border:1px solid var(--line)}.work-card.small{min-height:360px}.work-art{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(200,183,131,.16),transparent 23%),linear-gradient(145deg,#171a21,#090a0d 70%)}.work-art:before{content:"";position:absolute;width:55%;aspect-ratio:1;left:23%;top:18%;border:1px solid rgba(200,183,131,.22);border-radius:50%;box-shadow:0 0 80px rgba(200,183,131,.08),inset 0 0 80px rgba(200,183,131,.04)}.work-art:after{content:"";position:absolute;width:35%;height:1px;left:32%;top:50%;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:rotate(-27deg)}.work-info{position:absolute;left:25px;right:25px;bottom:24px;display:flex;justify-content:space-between;align-items:end}.work-info strong{font-size:22px;font-weight:500}.work-info small{color:#999aa0;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:80px 1fr 1fr 28px;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:.3s}.service-row:hover{padding-left:10px;background:linear-gradient(90deg,rgba(200,183,131,.045),transparent)}.service-row .num{font-size:10px;color:var(--gold)}.service-row h3{font-size:25px;font-weight:500;margin:0}.service-row p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.plus{color:#888}.pricing{background:#0b0d11}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.price-card{min-height:390px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.price-card.featured{background:#111318}.price-top{display:flex;justify-content:space-between;gap:15px}.price-card h3{font-size:25px;font-weight:500;margin:0}.price{font-size:14px;color:var(--gold);white-space:nowrap}.price-card ul{list-style:none;padding:0;margin:30px 0 0;color:#a5a6ad;font-size:12px;line-height:2}.price-card li:before{content:"— ";color:var(--gold)}.cta{padding:150px 0}.cta-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:65px 0;display:flex;justify-content:space-between;align-items:end;gap:30px}.cta h2{font-size:clamp(45px,7vw,100px);line-height:.85;letter-spacing:-.06em;font-weight:450;margin:20px 0 0}.footer{border-top:1px solid var(--line);padding:28px 0 45px;color:#777982;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.footer .row{display:flex;justify-content:space-between;gap:20px}.page-hero{padding:190px 0 90px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(65px,11vw,145px);line-height:.8;letter-spacing:-.075em;font-weight:500;margin:25px 0}.page-hero p{max-width:600px;color:var(--muted);line-height:1.75}.split{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}.split h2{font-size:48px;letter-spacing:-.05em;font-weight:500;margin:0}.manifesto{font-size:clamp(30px,4vw,56px);line-height:1.05;letter-spacing:-.04em}.manifesto em{font-family:Georgia,serif}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:25px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:16px}summary::-webkit-details-marker{display:none}details p{max-width:700px;color:var(--muted);line-height:1.7}.form-shell{padding:70px 0 130px}.progress{height:2px;background:#1a1c21;margin-bottom:55px}.progress i{display:block;height:100%;background:var(--gold);width:10%;transition:.4s}.step{display:none}.step.active{display:block;animation:in .45s var(--ease)}@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.step h2{font-size:clamp(36px,5vw,65px);font-weight:450;letter-spacing:-.05em;max-width:800px;margin:0 0 12px}.step>p{color:var(--muted);margin:0 0 35px}.choices{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.choice{min-height:105px;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.choice input{position:absolute;opacity:0}.choice label{display:block;height:100%;cursor:pointer}.choice b{font-size:14px;font-weight:500;display:block;margin-bottom:7px}.choice span{font-size:11px;color:#858790;line-height:1.5}.choice:has(input:checked){background:#14161b;box-shadow:inset 0 0 0 1px var(--gold)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#8d8f96}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#0d0f13;color:var(--ink);padding:16px;outline:none}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(200,183,131,.6)}.form-nav{display:flex;justify-content:space-between;margin-top:30px}.form-nav button{border:1px solid var(--line);background:none;color:var(--ink);padding:13px 18px;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.form-nav .next{background:var(--ink);color:#08090b;border-color:var(--ink)}.review{white-space:pre-wrap;border:1px solid var(--line);padding:25px;color:#b9bac0;line-height:1.7;font-size:12px;background:#0b0d11}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-list{border-top:1px solid var(--line)}.contact-item{padding:24px 0;border-bottom:1px solid var(--line)}.contact-item small{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.15em;font-size:9px;margin-bottom:9px}.contact-item a{font-size:18px}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end}.person{border:1px solid var(--line);background:#0d0f13}.person.center{transform:translateY(-35px)}.portrait{aspect-ratio:4/5;background:radial-gradient(circle at 50% 40%,#27282d,#111216 48%,#08090c);display:grid;place-items:center;color:#555861;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.person-body{padding:20px}.person-body small{color:var(--gold);text-transform:uppercase;letter-spacing:.13em;font-size:9px}.person-body h3{font-size:21px;font-weight:500;margin:8px 0}.person-body p{font-size:11px;color:#777982;line-height:1.6}.not-found{min-height:100svh;display:grid;place-items:center;text-align:center}.not-found h1{font-size:clamp(100px,20vw,250px);letter-spacing:-.1em;margin:0}.not-found p{color:var(--muted)}@media(max-width:800px){.wrap{width:min(var(--max),calc(100% - 30px))}.links{display:none}.menu{display:block}.mobile{position:fixed;inset:68px 0 auto 0;background:rgba(7,8,11,.97);border-bottom:1px solid var(--line);padding:18px 15px;z-index:29}.mobile.open{display:grid}.mobile a{padding:16px 0;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.13em;font-size:11px}.hero{padding-top:125px;min-height:100svh}.hero:after{background:linear-gradient(90deg,rgba(7,8,11,.95),rgba(7,8,11,.55)),radial-gradient(circle at 70% 45%,rgba(110,92,45,.12),transparent 30%)}.hero-copy .lead{font-size:14px}.hero-meta{margin-top:60px}.grid2,.work-grid,.split,.contact-grid{grid-template-columns:1fr;gap:45px}.price-grid,.board{grid-template-columns:1fr}.price-card{min-height:320px}.service-row{grid-template-columns:45px 1fr 18px}.service-row p{grid-column:2/-1}.section{padding:95px 0}.cta{padding:100px 0}.cta-box{display:block}.cta-box .btn{margin-top:35px}.page-hero{padding:145px 0 70px}.page-hero h1{font-size:clamp(62px,19vw,110px)}.choices,.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.person.center{transform:none}.portrait{aspect-ratio:1/1}.footer .row{flex-direction:column}.statement p{margin-left:0}.work-card,.work-card.small{min-height:340px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ORYVEK CINEMATIC MOTION SYSTEM — V7 */
:root{--gold-rgb:200,183,131;--motion:cubic-bezier(.16,1,.3,1)}
html{background:#050608}
body{opacity:0;animation:site-in 1.05s .08s var(--motion) forwards}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:19;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.035),transparent 34%);mix-blend-mode:screen;opacity:.45}
@keyframes site-in{from{opacity:0}to{opacity:1}}
.top{transform:translateY(-12px);opacity:0;animation:nav-in .9s .55s var(--motion) forwards}
@keyframes nav-in{to{transform:none;opacity:1}}
.brand{position:relative}.brand:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--motion)}.brand:hover:after{transform:scaleX(1)}
.links a{position:relative}.links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:right .4s var(--motion)}.links a:hover:after,.links a.active:after{right:0}
.hero{min-height:100svh;height:100svh;align-items:center;padding:100px 0 40px}
.hero:before{content:"";position:absolute;inset:-20%;z-index:-2;background:radial-gradient(circle at 68% 48%,rgba(200,183,131,.09),transparent 18%),radial-gradient(circle at 78% 72%,rgba(54,62,100,.12),transparent 27%);animation:ambient 12s ease-in-out infinite alternate}
@keyframes ambient{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(-1%,1%,0)}}
.hero-copy{position:relative;z-index:2;transform:translate3d(0,18px,0);opacity:0;animation:hero-copy-in 1.25s .45s var(--motion) forwards}
.hero-copy .eyebrow{animation:hero-rise 1s .65s var(--motion) both}.hero-copy .display{animation:hero-rise 1.2s .76s var(--motion) both}.hero-copy .lead{animation:hero-rise 1s .95s var(--motion) both}.hero-copy .btn{animation:hero-rise 1s 1.05s var(--motion) both}.hero-meta{animation:hero-rise 1s 1.2s var(--motion) both}
@keyframes hero-copy-in{to{transform:none;opacity:1}}@keyframes hero-rise{from{opacity:0;transform:translateY(28px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
.hero-canvas{opacity:0;animation:scene-in 2.2s .4s ease forwards;transform:scale(1.03)}@keyframes scene-in{to{opacity:1;transform:none}}
.home-number{opacity:.5;animation:number-in 1s 1.3s var(--motion) both}@keyframes number-in{from{transform:translateY(15px);opacity:0}to{transform:none;opacity:.5}}
.statement,.section,.cta,.page-hero{position:relative}
[data-reveal]{opacity:0;transform:translateY(42px);transition:opacity .95s var(--motion),transform 1.1s var(--motion)}[data-reveal].seen{opacity:1;transform:none}
.work-card,.price-card,.principle,.service-row,.person,.contact-item,.choice{transition:transform .75s var(--motion),border-color .45s ease,background .6s ease,box-shadow .75s ease}
.work-card:hover{transform:translateY(-8px)!important;border-color:rgba(200,183,131,.34);box-shadow:0 35px 90px rgba(0,0,0,.38)}
.work-art{transition:transform 1.2s var(--motion),filter 1.2s ease}.work-card:hover .work-art{transform:scale(1.055);filter:brightness(1.15)}
.work-art:before{animation:slow-orbit 14s linear infinite}.work-art:after{animation:beam 4s ease-in-out infinite alternate}@keyframes slow-orbit{to{transform:rotate(360deg)}}@keyframes beam{from{opacity:.2;transform:rotate(-27deg) scaleX(.7)}to{opacity:.75;transform:rotate(-27deg) scaleX(1.15)}}
.btn{position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.22) 48%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--motion)}.btn:hover:before{transform:translateX(120%)}.btn span,.btn{z-index:1}
.price-card:hover{transform:translateY(-6px);border-color:rgba(200,183,131,.28);box-shadow:0 30px 70px rgba(0,0,0,.28)}
.person{transform-origin:center bottom}.person.center{animation:board-float 5s ease-in-out infinite}.person:not(.center):hover{transform:translateY(-7px)}.person.center:hover{transform:translateY(-42px) scale(1.012)}@keyframes board-float{50%{transform:translateY(-42px)}}
.page-hero{overflow:hidden}.page-hero:after{content:"";position:absolute;width:60vw;height:60vw;right:-28vw;top:-20vw;border:1px solid rgba(200,183,131,.1);border-radius:50%;box-shadow:0 0 100px rgba(200,183,131,.04);animation:page-orbit 22s linear infinite}@keyframes page-orbit{to{transform:rotate(360deg)}}
.progress i{box-shadow:0 0 16px rgba(200,183,131,.35)}
.choice:hover{background:rgba(255,255,255,.025);transform:translateY(-2px)}
.footer{position:relative}.footer:before{content:"";position:absolute;left:0;top:-1px;width:22%;height:1px;background:var(--gold);transform-origin:left;animation:footer-line 2s var(--motion) both}@keyframes footer-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.reveal-line{overflow:hidden}.reveal-line>*{transform:translateY(105%);transition:transform 1.1s var(--motion)}.reveal-line.seen>*{transform:none}
.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;pointer-events:none;z-index:18;background:radial-gradient(circle,rgba(200,183,131,.065),transparent 68%);transform:translate(-50%,-50%);mix-blend-mode:screen;transition:opacity .4s ease}
@media(max-width:800px){.hero{height:auto;min-height:100svh;align-items:end;padding:125px 0 35px}.hero-copy{padding-bottom:0}.hero:after{background:linear-gradient(90deg,rgba(7,8,11,.96),rgba(7,8,11,.62)),radial-gradient(circle at 72% 44%,rgba(110,92,45,.12),transparent 32%)}.page-hero:after{width:100vw;height:100vw;right:-70vw;top:-20vw}.person.center{animation:none}}
@media(prefers-reduced-motion:reduce){body,.top,.hero-copy,.hero-canvas,.home-number,.hero-copy .eyebrow,.hero-copy .display,.hero-copy .lead,.hero-copy .btn,.hero-meta{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}.cursor-glow{display:none}[data-reveal]{opacity:1;transform:none;transition:none}.work-art:before,.work-art:after,.person.center{animation:none!important}}


/* =========================================================
   FINAL MOBILE + RESPONSIVE PASS
   ORYVEK V7 — production mobile optimization
   ========================================================= */

html {
    -webkit-text-size-adjust: 100%;
}

body {
    min-width: 0;
    overflow-x: hidden;
    -webkit-tap-highlight-color: transparent;
}

img,
svg,
canvas,
video {
    max-width: 100%;
}

/* Keep the three board members on one baseline. */
.board {
    align-items: start !important;
}

.person,
.person.center {
    align-self: start !important;
    margin-top: 0 !important;
    top: 0 !important;
    transform: none !important;
}

.person.center {
    animation: none !important;
}

.person.center:hover {
    transform: translateY(-7px) !important;
}

/* Real team photos */
.portrait {
    overflow: hidden;
}

.portrait img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
}

/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 900px) {

    :root {
        --mobile-pad: 18px;
    }

    .wrap {
        width: min(var(--max), calc(100% - 36px));
    }

    /* Header */
    .top {
        height: 68px;
    }

    .top.scrolled {
        height: 62px;
    }

    .links {
        display: none;
    }

    .menu {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        padding: 0;
        border: 1px solid transparent;
        border-radius: 50%;
        font-size: 0;
        line-height: 1;
        position: relative;
        z-index: 42;
    }

    .menu::before,
    .menu::after {
        content: "";
        position: absolute;
        width: 19px;
        height: 1px;
        background: var(--ink);
        left: 50%;
        transition: transform .35s var(--ease), opacity .25s ease;
    }

    .menu::before {
        transform: translate(-50%, -4px);
    }

    .menu::after {
        transform: translate(-50%, 4px);
    }

    .menu[aria-expanded="true"]::before {
        transform: translate(-50%, 0) rotate(45deg);
    }

    .menu[aria-expanded="true"]::after {
        transform: translate(-50%, 0) rotate(-45deg);
    }

    /* Mobile navigation */
    .mobile {
        display: block;
        position: fixed;
        top: 68px;
        left: 0;
        right: 0;
        width: 100%;
        max-height: calc(100svh - 68px);
        overflow-y: auto;
        padding: 12px 0 20px;
        background: rgba(7, 8, 11, .97);
        border-bottom: 1px solid var(--line);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        z-index: 40;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-12px);
        transition:
            opacity .3s var(--ease),
            transform .3s var(--ease),
            visibility .3s ease;
    }

    .mobile.open {
        display: block;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .mobile .wrap {
        width: min(var(--max), calc(100% - 36px));
    }

    .mobile a {
        display: flex;
        align-items: center;
        min-height: 54px;
        padding: 0;
        border-bottom: 1px solid var(--line);
        text-transform: uppercase;
        letter-spacing: .14em;
        font-size: 10px;
        color: #b9bac0;
    }

    .mobile a:last-child {
        border-bottom: 0;
    }

    .mobile a:active,
    .mobile a:hover {
        color: var(--ink);
    }

    body.menu-open {
        overflow: hidden;
    }

    /* Hero */
    .hero {
        min-height: 100svh;
        height: auto;
        padding: 120px 0 34px;
        align-items: end;
    }

    .hero-copy {
        width: 100%;
        max-width: none;
    }

    .hero-copy .eyebrow {
        margin-bottom: 24px;
    }

    .display {
        font-size: clamp(56px, 15.5vw, 92px);
        line-height: .84;
        letter-spacing: -.075em;
        max-width: 100%;
        overflow-wrap: normal;
    }

    .hero-copy .display {
        max-width: 100%;
    }

    .hero-copy .lead {
        max-width: 100%;
        margin: 28px 0 0;
        font-size: 14px;
        line-height: 1.7;
    }

    .hero-copy .btn {
        margin-top: 24px;
        min-height: 50px;
    }

    .hero-meta {
        flex-wrap: wrap;
        gap: 14px 20px;
        margin-top: 52px;
        padding-top: 16px;
        line-height: 1.5;
    }

    .hero-meta > * {
        max-width: 100%;
    }

    .hero .orb {
        width: 95vw;
        right: -32vw;
        top: 26%;
        opacity: .6;
    }

    .hero-canvas {
        opacity: .7;
    }

    /* General sections */
    .section {
        padding: 88px 0;
    }

    .statement {
        padding: 80px 0 95px;
    }

    .statement h2 {
        font-size: clamp(38px, 10vw, 62px);
        line-height: 1;
    }

    .statement p {
        margin-left: 0;
        max-width: 100%;
    }

    .grid2,
    .work-grid,
    .split,
    .contact-grid,
    .service-intro,
    .starter-cols {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    /* Work */
    .work-head {
        display: block;
        margin-bottom: 30px;
    }

    .work-head h2 {
        font-size: 34px;
    }

    .work-head .btn {
        margin-top: 20px;
    }

    .work-card,
    .work-card.small {
        min-height: 330px;
    }

    .work-info {
        left: 18px;
        right: 18px;
        bottom: 18px;
    }

    .work-info strong {
        font-size: 18px;
    }

    /* Services */
    .service-intro h2 {
        font-size: 40px;
    }

    .service-detail {
        grid-template-columns: 38px 1fr;
        gap: 18px;
        padding: 25px 0;
    }

    .service-detail h3 {
        font-size: 23px;
    }

    /* Pricing */
    .price-grid {
        grid-template-columns: 1fr;
    }

    .price-card {
        min-height: 300px;
        padding: 24px;
    }

    .price-top {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    /* Page heroes */
    .page-hero {
        padding: 140px 0 65px;
    }

    .page-hero h1 {
        font-size: clamp(56px, 17vw, 100px);
        line-height: .84;
        overflow-wrap: normal;
    }

    .page-hero p {
        max-width: 100%;
    }

    /* Board */
    .board {
        grid-template-columns: 1fr;
        gap: 38px;
        margin-top: 60px !important;
    }

    .person,
    .person.center {
        width: 100%;
        transform: none !important;
        animation: none !important;
    }

    .person.center:hover,
    .person:hover {
        transform: translateY(-5px) !important;
    }

    .portrait {
        aspect-ratio: 4 / 5;
    }

    /* Starter */
    .starter-box {
        padding: 30px 22px;
    }

    .starter-cols {
        gap: 30px;
    }

    /* Build / questionnaire */
    .build-layout {
        display: block;
    }

    .step-index {
        display: none;
    }

    .form-shell {
        padding: 50px 0 90px;
    }

    .step h2 {
        font-size: clamp(36px, 10vw, 58px);
        line-height: .95;
    }

    .choices,
    .fields {
        grid-template-columns: 1fr;
    }

    .choice {
        min-height: 90px;
        padding: 18px;
    }

    .field.full {
        grid-column: auto;
    }

    .field input,
    .field textarea,
    .field select {
        font-size: 16px;
        border-radius: 0;
    }

    .form-nav {
        gap: 12px;
    }

    .form-nav button {
        min-height: 48px;
        flex: 1;
    }

    .review {
        overflow-wrap: anywhere;
    }

    /* Contact */
    .contact-hero {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .contact-hero h2 {
        font-size: clamp(44px, 12vw, 70px);
    }

    .contact-actions a {
        min-height: 62px;
    }

    /* CTA / footer */
    .cta {
        padding: 95px 0;
    }

    .cta-box {
        display: block;
        padding: 45px 0;
    }

    .cta h2 {
        font-size: clamp(46px, 12vw, 82px);
    }

    .cta-box .btn {
        margin-top: 28px;
    }

    .footer .row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        line-height: 1.6;
    }

    /* Stop hover-only transforms from making touch scrolling feel strange. */
    .work-card:hover,
    .price-card:hover,
    .choice:hover,
    .person:hover,
    .person.center:hover {
        transform: none !important;
        box-shadow: none;
    }
}

/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 420px) {

    .wrap,
    .mobile .wrap {
        width: calc(100% - 28px);
    }

    .hero {
        padding-top: 112px;
    }

    .display {
        font-size: clamp(50px, 15vw, 70px);
    }

    .page-hero {
        padding-top: 125px;
    }

    .page-hero h1 {
        font-size: clamp(50px, 16.5vw, 78px);
    }

    .section {
        padding: 72px 0;
    }

    .btn {
        width: 100%;
    }

    .hero-copy .btn {
        width: 100%;
    }

    .hero-meta {
        font-size: 9px;
    }

    .work-card,
    .work-card.small {
        min-height: 290px;
    }
}

/* =========================================================
   REDUCED MOTION / LOW POWER SAFETY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .mobile,
    .person,
    .person.center,
    .hero-canvas,
    .hero .orb {
        animation: none !important;
        transition: none !important;
    }
}

@media (max-width: 600px) {
    .contact-send-grid {
        grid-template-columns: 1fr !important;
    }
}
