:root{
  --bone:#ece5d6;--bone-2:#e3dbca;--ink:#232019;--ink-soft:#5f574a;
  --persimmon:#c25a2a;--persimmon-ink:#a8431d;--mustard:#b7895a;--teal:#285a55;
  --line:rgba(35,32,25,.16);--line-2:rgba(35,32,25,.32);
  --maxw:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bone);color:var(--ink);font-family:'Hanken Grotesk',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 44px;position:relative;z-index:5}
a{color:inherit;text-decoration:none}
::selection{background:var(--persimmon);color:var(--bone)}
.mono{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}

/* A11Y — skip link + focus rings */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--bone);font-family:'Space Mono',monospace;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;padding:12px 18px;transition:top .2s}
.skip-link:focus{top:12px}
a:focus-visible,.btn:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.claim a:focus-visible,.claim button:focus-visible,.yap-feature a:focus-visible{outline-color:var(--bone)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,padding .3s;padding:18px 0}
nav.scrolled{background:rgba(236,229,214,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-2);padding:12px 0}
nav .row{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:var(--maxw);margin:0 auto;padding:0 44px}
.brand{display:flex;align-items:center;gap:12px}
.brand .mk{width:30px;height:30px;flex:none}
.brand .name{font-family:'Jost',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.01em;line-height:1;color:var(--ink)}
.brand .name small{display:block;font-family:'Space Mono',monospace;font-weight:400;font-size:.54rem;letter-spacing:.32em;color:var(--persimmon-ink);margin-top:3px}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font-family:'Space Mono',monospace;text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;color:var(--ink-soft);transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-links a.btn{color:var(--bone)}
.nav-links a[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--persimmon-ink);padding-bottom:3px}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Space Mono',monospace;text-transform:uppercase;font-size:.74rem;letter-spacing:.1em;background:var(--ink);color:var(--bone);padding:13px 20px;border:1.5px solid var(--ink);cursor:pointer;transition:.2s}
.btn:hover{background:transparent;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn.ghost:hover{background:var(--ink);color:var(--bone)}
.btn svg{width:13px;height:13px}
.menu-toggle{display:none;background:none;border:none;color:var(--ink);cursor:pointer;z-index:60;padding:4px}
.menu-toggle .ico-close{display:none}
body.menu-open .menu-toggle .ico-open{display:none}
body.menu-open .menu-toggle .ico-close{display:block}
.nav-backdrop{display:none}

/* HERO */
header{min-height:100vh;display:flex;align-items:center;padding-top:72px}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center;width:100%}
.eyebrow{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--persimmon-ink);display:flex;align-items:center;gap:12px;margin-bottom:30px}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--persimmon-ink)}
h1.hero-title{font-family:'Jost',sans-serif;font-weight:700;font-size:clamp(3.1rem,6.6vw,6.6rem);line-height:.92;letter-spacing:-.02em;color:var(--ink)}
h1.hero-title em{font-style:normal;color:var(--persimmon)}
.hero-sub{margin-top:30px;max-width:44ch;font-size:1.2rem;font-weight:300;line-height:1.6;color:#43402f}
.hero-sub b{font-weight:500;color:var(--ink)}
.hero-cta{margin-top:38px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mark-field{position:relative;aspect-ratio:1/1.06;background:var(--teal);overflow:hidden}
.mark-field svg.fieldart{position:absolute;inset:0;width:100%;height:100%}
.mk-lbl{position:absolute;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);opacity:.85}
/* HOME HERO — claim-grid field, subtle "plant the claim" load animation (reduced-motion neutralized by the global rule) */
@keyframes cg-rise{from{opacity:0;transform:translateY(16px) scale(.84)}to{opacity:1;transform:none}}
@keyframes cg-in{from{opacity:0}to{opacity:1}}
@keyframes cg-plant{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}
.mark-field .cg-grid{animation:cg-in .7s ease both .1s}
.mark-field .cg-sun{transform-box:fill-box;transform-origin:center;animation:cg-rise .9s cubic-bezier(.2,.7,.2,1) both .2s}
.mark-field .cg-parcel{animation:cg-in .8s ease both .55s}
.mark-field .cg-stake{transform-box:fill-box;transform-origin:bottom;animation:cg-plant .5s cubic-bezier(.2,.7,.2,1) both .8s}
.mark-field .cg-flag{animation:cg-in .45s ease both 1.1s}

/* BREADCRUMBS (SEO landing pages) */
.crumbs{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:22px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.crumbs a{color:var(--ink-soft);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.crumbs a:hover{color:var(--ink);border-bottom-color:var(--line-2)}
.crumbs .sep{opacity:.45}
.crumbs [aria-current="page"]{color:var(--persimmon-ink)}

/* PAGE HERO (sub-pages) */
.page-hero{min-height:auto;display:block;padding:150px 0 8px}
.page-hero h1{font-family:'Jost',sans-serif;font-weight:700;font-size:clamp(2.6rem,5.6vw,4.8rem);line-height:.98;letter-spacing:-.02em;color:var(--ink);max-width:17ch}
.page-hero h1 em{font-style:normal;color:var(--persimmon)}
.page-hero .lead{margin-top:24px}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.07s}.reveal[data-d="2"]{transition-delay:.14s}.reveal[data-d="3"]{transition-delay:.21s}.reveal[data-d="4"]{transition-delay:.28s}

/* SECTION SHELL */
section{padding:116px 0;position:relative;z-index:5}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:18px;color:var(--ink)}
.sec-head .no{font-family:'Space Mono',monospace;font-size:.74rem;letter-spacing:.2em;white-space:nowrap}
.sec-head .ln{flex:1;height:1px;background:var(--line-2)}
h2{font-family:'Jost',sans-serif;font-weight:700;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1;letter-spacing:-.02em;color:var(--ink);max-width:20ch}
h2 em{font-style:normal;color:var(--persimmon)}
.lead{margin-top:22px;max-width:64ch;font-size:1.15rem;font-weight:300;color:#43402f}
.visit{margin-top:30px;display:inline-flex;align-items:center;gap:8px;color:var(--persimmon-ink);font-family:'Space Mono',monospace;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:1.5px solid var(--persimmon-ink);padding-bottom:3px;transition:gap .25s}
.visit:hover{gap:13px}
.visit svg{width:14px;height:14px}

/* MANIFESTO */
.manifesto{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.manifesto p{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(1.5rem,3.6vw,2.6rem);line-height:1.18;letter-spacing:-.01em;color:var(--ink);max-width:24ch}
.manifesto p em{font-style:normal;color:var(--persimmon)}
.manifesto .small{font-family:'Hanken Grotesk',sans-serif;font-size:1.05rem;font-weight:300;color:var(--ink-soft);max-width:56ch;margin-top:30px;line-height:1.7}
.manifesto .small b{color:var(--ink);font-weight:600}

/* MERIDIAN MASTHEAD + SUITE */
.mast{position:relative;height:210px;overflow:hidden;margin-top:42px;border:1px solid var(--line-2)}
.mast svg{position:absolute;inset:0;width:100%;height:100%}
.mast .fbadge{position:absolute;top:16px;left:16px;z-index:2;font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--mustard);padding:5px 11px;font-weight:700}
.mast .fstat{position:absolute;top:16px;right:16px;z-index:2;font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone);border:1px solid rgba(236,229,214,.5);padding:5px 11px}
.mast .mname{position:absolute;left:20px;bottom:18px;z-index:2;font-family:'Jost',sans-serif;font-weight:700;font-size:2rem;color:var(--bone);letter-spacing:-.01em}
/* masthead sun rises from the horizon up the meridian to high noon (reduced-motion neutralized by the global rule) */
@keyframes mast-rise{from{opacity:0;transform:translateY(108px)}to{opacity:1;transform:none}}
.mast .mast-sun{transform-box:fill-box;transform-origin:center}
.mast.in .mast-sun{animation:mast-rise 1.4s cubic-bezier(.2,.7,.2,1) both .2s}
.suite{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.suite-tool{border:1px solid var(--line-2);background:var(--bone-2);padding:32px 30px;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.suite-tool:hover{border-color:var(--ink);transform:translateY(-3px)}
.suite-tool .ti{width:42px;height:42px;margin-bottom:18px}
.suite-tool .tn{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.16em;color:var(--ink-soft)}
.suite-tool h3{font-family:'Jost',sans-serif;font-weight:600;font-size:1.4rem;color:var(--ink);margin:8px 0 0;letter-spacing:-.01em}
.suite-tool p{color:var(--ink-soft);font-weight:300;margin-top:12px;font-size:.98rem;flex:1}
.suite-tool .feat{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.suite-tool .feat li{position:relative;padding-left:18px;font-size:.92rem;font-weight:300;color:var(--ink-soft);line-height:1.5}
.suite-tool .feat li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--mustard)}
.suite-tool .proof{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-top:18px;align-self:flex-start;border:1px solid var(--line-2);padding:4px 9px}
.suite-tool .proof b{color:var(--persimmon-ink);font-weight:700}

/* SMALL-BUSINESS TOOLS (second tier) */
.subhead{margin-top:64px;padding-top:42px;border-top:1px solid var(--line)}
.subhead h3{font-family:'Jost',sans-serif;font-weight:700;font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.05;letter-spacing:-.02em;color:var(--ink);max-width:18ch}
.subhead p{margin-top:16px;max-width:60ch;font-size:1.1rem;font-weight:300;color:#43402f}
.tools-2up{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}
.tool{border:1px solid var(--line-2);background:var(--bone-2);padding:30px 30px;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.tool:hover{border-color:var(--ink);transform:translateY(-3px)}
.tool .ti{width:42px;height:42px;margin-bottom:18px}
.tool h4{font-family:'Jost',sans-serif;font-weight:600;font-size:1.3rem;color:var(--ink);margin:0;letter-spacing:-.01em}
.tool p{color:var(--ink-soft);font-weight:300;margin-top:12px;font-size:.98rem;flex:1}
.tool .meta{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-top:18px;align-self:flex-start;border:1px solid var(--line-2);padding:4px 9px}
.tool .meta b{color:var(--persimmon-ink);font-weight:700}

/* WHY MERIDIAN — name / meaning section */
.meaning-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
.meaning-copy .lead{max-width:54ch}
.meaning-body{margin-top:20px;max-width:54ch;font-size:1.08rem;font-weight:300;line-height:1.7;color:#43402f}
.meaning-body b{color:var(--ink);font-weight:600}
.meaning-body em{font-style:normal;color:var(--persimmon);font-weight:400}
.meaning-art{position:relative;border:1px solid var(--line-2);overflow:hidden;line-height:0}
.meaning-art svg{display:block;width:100%;height:auto}
.meaning-tag{position:absolute;left:16px;bottom:16px;font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--mustard);padding:5px 10px;line-height:1}

/* BENEFITS — hairline grid */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line-2);margin-top:32px}
.benefit{background:var(--bone-2);padding:32px 30px;display:flex;flex-direction:column}
.benefit .bnum{color:var(--persimmon-ink);font-weight:700;font-size:.72rem}
.benefit h3{font-family:'Jost',sans-serif;font-weight:600;font-size:1.28rem;line-height:1.12;letter-spacing:-.01em;color:var(--ink);margin:12px 0 0}
.benefit p{color:var(--ink-soft);font-weight:300;margin-top:11px;font-size:.97rem;line-height:1.55}

/* HOW IT WORKS — open ruled columns */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:34px}
.step{border-top:2px solid var(--teal);padding-top:22px}
.step .snum{color:var(--teal);font-weight:700;font-size:.66rem}
.step h3{font-family:'Jost',sans-serif;font-weight:600;font-size:1.34rem;letter-spacing:-.01em;color:var(--ink);margin:10px 0 0}
.step p{color:var(--ink-soft);font-weight:300;margin-top:12px;font-size:1rem;line-height:1.6}

/* CREDIBILITY STRIP */
.cred{background:var(--bone-2);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.cred-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:28px;padding:34px 44px}
.cred-item{display:flex;flex-direction:column;gap:7px}
.cred-item .ck{color:var(--ink-soft)}
.cred-item .cv{font-family:'Jost',sans-serif;font-weight:600;font-size:1.18rem;letter-spacing:-.01em;color:var(--ink)}

/* FAQ — native details/summary, no JS */
.faq{margin-top:30px;border-top:1px solid var(--line-2)}
.faq-item{border-bottom:1px solid var(--line-2)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 0;font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(1.1rem,2.1vw,1.42rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex:none;font-family:'Jost',sans-serif;font-weight:600;font-size:1.5rem;line-height:1;color:var(--persimmon-ink);transition:transform .25s}
.faq-item[open] summary::after{content:"\2212"}
.faq-item p{padding:0 44px 26px 0;max-width:74ch;color:var(--ink-soft);font-weight:300;font-size:1.05rem;line-height:1.7}

/* LONG-FORM CONTENT (blog hub + posts) */
.post-meta{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.post-meta .tag{color:var(--persimmon-ink)}
.prose{max-width:68ch}
.prose>p{margin-top:18px;font-size:1.08rem;font-weight:300;line-height:1.75;color:#43402f}
.prose>p b{color:var(--ink);font-weight:600}
.prose a{color:var(--persimmon-ink);border-bottom:1.5px solid var(--persimmon-ink)}
.prose h2{margin-top:48px;font-size:clamp(1.5rem,3vw,2.1rem);max-width:none}
.prose h3{font-family:'Jost',sans-serif;font-weight:600;font-size:1.3rem;letter-spacing:-.01em;color:var(--ink);margin-top:34px}
.prose ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.prose ul li{position:relative;padding-left:20px;font-size:1.02rem;font-weight:300;color:var(--ink-soft);line-height:1.6}
.prose ul li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;background:var(--mustard)}
.prose ul li b{color:var(--ink);font-weight:600}
.prose .callout{margin-top:28px;border-left:3px solid var(--persimmon);background:var(--bone-2);padding:18px 22px;font-family:'Jost',sans-serif;font-weight:600;font-size:1.15rem;color:var(--ink);line-height:1.4}

/* YAP — DEDICATED FEATURE (teal field) */
.bridge{background:var(--teal);color:var(--bone)}
.yap-feature{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.yap-feature .ycopy .eyebrow{color:var(--mustard);margin-bottom:22px}
.yap-feature .ycopy .eyebrow::before{background:var(--mustard)}
.yap-feature h2{color:var(--bone);max-width:18ch}
.yap-feature h2 em{color:var(--mustard)}
.yap-feature p{margin-top:22px;max-width:52ch;font-size:1.12rem;font-weight:300;color:rgba(236,229,214,.86);line-height:1.7}
.yap-feature p em{font-style:normal;color:var(--mustard);font-weight:400}
.yap-feature .tags{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px}
.yap-feature .tags span{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone);border:1px solid rgba(236,229,214,.4);padding:4px 9px}
.yap-feature .visit{color:var(--mustard);border-bottom-color:var(--mustard)}
.yap-shot{position:relative;aspect-ratio:800/573;background:rgba(35,32,25,.18);border:1px solid rgba(236,229,214,.28);padding:16px;overflow:hidden}
.yap-shot picture{display:contents}
.yap-shot img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:cover;object-position:top}
.yap-shot .ytag{position:absolute;top:28px;left:28px;z-index:3;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--mustard);padding:5px 10px}

/* HOME WEB-DESIGN TEASER STRIP */
.thumb-strip{margin-top:42px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.thumb-strip a{position:relative;display:block;aspect-ratio:4/3;background:var(--teal);border:1px solid var(--line-2);overflow:hidden;padding:10px;transition:border-color .3s,transform .3s}
.thumb-strip a:hover{border-color:var(--ink);transform:translateY(-3px)}
.thumb-strip picture{display:contents}
.thumb-strip img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:cover;object-position:top}
.thumb-strip .tslabel{position:absolute;left:0;bottom:0;z-index:2;font-family:'Space Mono',monospace;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bone);background:rgba(35,32,25,.72);padding:4px 8px}

/* WEB DESIGN — GRANULAR CASE BLOCKS */
.cases{margin-top:8px;display:flex;flex-direction:column;gap:80px}
.case{display:grid;grid-template-columns:480px 1fr;gap:52px;align-items:start}
.case:nth-child(even){grid-template-columns:1fr 480px}
.case:nth-child(even) .case-media{order:2}
.case-media{position:sticky;top:104px}
.case-shot{position:relative;aspect-ratio:4/3;background:var(--teal);border:1px solid var(--line-2);padding:16px;overflow:hidden}
.case-shot picture{display:contents}
.case-shot img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:cover;object-position:top}
.case-num{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--ink-soft)}
.case-body .role{font-family:'Space Mono',monospace;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px}
.case-body h2{margin-top:10px;font-size:clamp(1.8rem,3.6vw,2.7rem);max-width:none}
.case-body .facts{margin:16px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.case-body .facts span{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--bone-2);border:1px solid var(--line);padding:4px 9px}
.case-body p{margin-top:16px;color:var(--ink-soft);font-weight:300;font-size:1.05rem;line-height:1.7;max-width:56ch}
.case-body p b{color:var(--ink);font-weight:600}
.case-body .tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.case-body .tags span{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);border:1px solid var(--line-2);padding:4px 9px}
.case-body .visit{margin-top:24px}

/* WEB DESIGN PARCELS (legacy component, retained for reuse) */
.parcels{margin-top:44px;display:flex;flex-direction:column;gap:26px}
.parcel{display:grid;grid-template-columns:440px 1fr;border:1px solid var(--line-2);background:var(--bone-2);transition:border-color .3s,transform .3s}
.parcel:nth-child(even){grid-template-columns:1fr 440px}
.parcel:nth-child(even) .thumb{grid-column:2;grid-row:1;border-right:none;border-left:1px solid var(--line-2)}
.parcel:nth-child(even) .body{grid-column:1;grid-row:1}
.parcel:hover{border-color:var(--ink);transform:translateY(-3px)}
.thumb{position:relative;overflow:hidden;min-height:300px;background:var(--teal);border-right:1px solid var(--line-2);padding:18px}
.thumb picture{display:contents}
.thumb img{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);object-fit:cover;object-position:top}
.pbadge{position:absolute;top:30px;left:30px;z-index:3;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--mustard);padding:5px 10px}
.sbadge{position:absolute;bottom:30px;left:30px;z-index:3;font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone);background:rgba(35,32,25,.7);padding:5px 10px}
.body{padding:38px 42px;display:flex;flex-direction:column}
.body .role{font-family:'Space Mono',monospace;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.body h3{font-family:'Jost',sans-serif;font-weight:700;font-size:1.7rem;color:var(--ink);line-height:1.05;margin-top:10px;letter-spacing:-.01em}
.body p{color:var(--ink-soft);font-weight:300;margin-top:14px;font-size:1.01rem;flex:1}
.body .tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.body .tags span{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);border:1px solid var(--line-2);padding:4px 9px}
.body .visit{margin-top:22px}

/* THE STUDIO */
.about-story{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.22;letter-spacing:-.01em;color:var(--ink);max-width:26ch;margin-top:28px}
.about-story em{font-style:normal;color:var(--persimmon)}
.about-sub{margin-top:26px;max-width:60ch;color:var(--ink-soft);font-weight:300;font-size:1.08rem;line-height:1.7}
.about-sub b{color:var(--ink);font-weight:600}
.creed{margin-top:44px;border-top:1px solid var(--line-2)}
.tenet{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start;padding:28px 4px;border-bottom:1px solid var(--line-2)}
.tenet .tnum{font-family:'Jost',sans-serif;font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:.82;color:var(--persimmon);letter-spacing:-.02em}
.tenet .tlabel{display:block;font-family:'Space Mono',monospace;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:9px}
.tenet p{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(1.25rem,2.3vw,1.85rem);line-height:1.16;letter-spacing:-.01em;color:var(--ink);margin:0}
.tenet p em{font-style:normal;color:var(--persimmon)}
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line-2);margin-top:56px}
.person{background:var(--bone-2);padding:40px 38px}
.person .who{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.person h3{font-family:'Jost',sans-serif;font-weight:700;font-size:1.6rem;color:var(--ink)}
.person .tag{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line-2);padding:4px 9px}
.person p{color:var(--ink-soft);font-weight:300;margin-top:14px;font-size:1.01rem}
.labs{display:flex;align-items:center;gap:20px;margin-top:34px;border:1px solid var(--line-2);padding:22px 26px;background:var(--bone-2)}
.labs svg{width:58px;height:46px;flex:none}
.labs .lt{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.labs h4{font-family:'Jost',sans-serif;font-weight:600;font-size:1.15rem;color:var(--ink);margin-top:4px}
.labs p{color:var(--ink-soft);font-weight:300;font-size:.92rem;margin-top:3px}

/* STUDIO PAGE — journey band + story chapters */
.journey{position:relative;height:300px;overflow:hidden;margin-top:42px;border:1px solid var(--line-2)}
.journey svg{position:absolute;inset:0;width:100%;height:100%}
.journey .jbadge{position:absolute;left:16px;bottom:16px;z-index:2;font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--mustard);padding:5px 11px;font-weight:700}
.story{margin-top:8px;display:flex;flex-direction:column;gap:84px}
.chapter{display:grid;grid-template-columns:520px 1fr;gap:54px;align-items:center}
.chapter:nth-child(even){grid-template-columns:1fr 520px}
.chapter:nth-child(even) .chapter-art{order:2}
.chapter-art{position:relative;aspect-ratio:4/3;background:var(--teal);border:1px solid var(--line-2);overflow:hidden}
.chapter-art svg{position:absolute;inset:0;width:100%;height:100%}
.chapter-art .clabel{position:absolute;top:16px;left:16px;z-index:2;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--mustard);padding:5px 10px}
.chapter-body .ch-num{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.chapter-body h2{margin-top:12px;max-width:16ch}
.chapter-body p{margin-top:16px;color:var(--ink-soft);font-weight:300;font-size:1.08rem;line-height:1.7;max-width:54ch}
.chapter-body p b{color:var(--ink);font-weight:600}
/* STUDIO — barely-there graphic motion. Gated on the reveal .in state (Ascent plays on load; chapters as they scroll in). Global reduced-motion rule neutralizes it. */
@keyframes svg-rise{from{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:1;transform:none}}
@keyframes svg-soft{from{opacity:0}to{opacity:1}}
@keyframes svg-plant{from{opacity:0;transform:scaleY(.62)}to{opacity:1;transform:scaleY(1)}}
@keyframes svg-pop{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}
@keyframes svg-out{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
@keyframes pin-drop{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:none}}
@keyframes radiate{0%{opacity:.55;transform:scale(1)}100%{opacity:0;transform:scale(1.75)}}
.journey .j-sun,.journey .j-line,.journey .j-nodes,.journey .sun-ray,.chapter .ch-sun-b,.chapter .ch-sun-f,.chapter .ch-sun-w,.chapter .sun-ray,.chapter .ch-state,.chapter .ch-plant,.chapter .c2-build path,.chapter .c1-arrows path,.chapter .c1-pin{transform-box:fill-box}
.journey.in .j-line{animation:svg-soft .8s ease both .15s}
.journey.in .j-nodes{animation:svg-soft .8s ease both .55s}
.journey.in .j-arrival{animation:svg-soft .8s ease both .65s}
.journey.in .j-sun{transform-origin:center;animation:svg-rise 1s cubic-bezier(.2,.7,.2,1) both .3s}
/* the sun's radiating glow — a faint ring slowly emanating outward, looping (reads as "radiate," not a scale-pulse) */
.journey.in .sun-ray,.chapter.in .sun-ray{transform-origin:center;animation:radiate 3.4s ease-out 2s infinite}
/* Home (ch3): sun rises; outline settles; claim plants (radiate handled by .sun-ray) */
.chapter.in .ch-sun-b{transform-origin:center;animation:svg-rise 1s cubic-bezier(.2,.7,.2,1) both .15s}
.chapter.in .ch-state{animation:svg-soft 1s ease both .35s}
.chapter.in .ch-plant{transform-origin:bottom;animation:svg-plant .6s cubic-bezier(.2,.7,.2,1) both .6s}
/* Out West (ch2): mesa ridges pop in one by one, slowly; then the sun fades in and breathes */
.chapter.in .c2-build path{transform-origin:center bottom;animation:svg-pop .7s cubic-bezier(.2,.7,.2,1) both}
.chapter.in .c2-build path:nth-child(1){animation-delay:.3s}
.chapter.in .c2-build path:nth-child(2){animation-delay:1.05s}
.chapter.in .ch-sun-w{transform-origin:center;animation:svg-soft .8s ease both 1.7s}
/* High Noon (ch1): sun fades + breathes; arrows race out one by one; pin drops in */
.chapter.in .ch-sun-f{transform-origin:center;animation:svg-soft .7s ease both .2s}
.chapter.in .c1-arrows path{transform-origin:left center;animation:svg-out .7s cubic-bezier(.2,.7,.2,1) both}
.chapter.in .c1-arrows path:nth-child(1){animation-delay:.5s}
.chapter.in .c1-arrows path:nth-child(2){animation-delay:.85s}
.chapter.in .c1-arrows path:nth-child(3){animation-delay:1.2s}
.chapter.in .c1-pin{animation:pin-drop .6s cubic-bezier(.2,.7,.2,1) both 1.6s}

/* CONTACT */
.claim{background:var(--teal);color:var(--bone);text-align:center}
.claim .stake{margin:0 auto 26px;width:46px;height:46px}
.claim h2{margin:0 auto;max-width:20ch;color:var(--bone)}
.claim .lead{margin:22px auto 36px;color:rgba(236,229,214,.82)}
.claim-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.claim .btn{background:var(--persimmon);border-color:var(--persimmon);color:var(--bone)}
.claim .btn:hover{background:transparent;color:var(--bone);border-color:var(--bone)}
.claim .btn.ghost{background:transparent;border-color:rgba(236,229,214,.5);color:var(--bone)}
.claim .btn.ghost:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.claim .coords{margin-top:42px;color:rgba(236,229,214,.7)}

/* FOOTER */
footer{background:var(--ink);color:var(--bone);padding:46px 0 56px}
.foot-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.foot-brand .name{font-family:'Jost',sans-serif;font-size:1.3rem;color:var(--bone);font-weight:700}
.foot-brand p{color:rgba(236,229,214,.6);font-weight:300;margin-top:6px;max-width:40ch;font-size:.92rem}
.foot-nav{display:flex;gap:22px;flex-wrap:wrap;margin-top:10px}
.foot-nav a{font-family:'Space Mono',monospace;text-transform:uppercase;font-size:.62rem;letter-spacing:.12em;color:rgba(236,229,214,.6)}
.foot-nav a:hover{color:var(--mustard)}
.foot-meta{text-align:right;color:rgba(236,229,214,.6)}
.foot-meta a{color:rgba(236,229,214,.6)}
.foot-meta a:hover{color:var(--mustard)}

@media(max-width:920px){
  .menu-toggle{display:block}
  .nav-links{position:fixed;top:0;right:0;bottom:0;width:min(80vw,320px);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:100px 30px 40px;background:var(--bone-2);border-left:1px solid var(--line-2);box-shadow:-30px 0 60px -30px rgba(35,32,25,.4);transform:translateX(100%);transition:transform .42s cubic-bezier(.2,.7,.2,1);z-index:55}
  body.menu-open .nav-links{transform:translateX(0)}
  .nav-links a{font-size:1rem;padding:14px 4px;border-bottom:1px solid var(--line)}
  .nav-links a[aria-current="page"]{border-bottom:1px solid var(--line);color:var(--persimmon-ink)}
  .nav-links a.btn{margin-top:16px;justify-content:center;color:var(--bone)}
  .nav-backdrop{display:block;position:fixed;inset:0;z-index:54;background:rgba(35,32,25,.4);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
  body.menu-open .nav-backdrop{opacity:1;visibility:visible}
  body.menu-open{overflow:hidden}
  .page-hero{padding-top:128px}
  .hero-grid{grid-template-columns:1fr;gap:18px}
  .mark-field{order:2;aspect-ratio:1/.7}
  .suite,.team,.tools-2up{grid-template-columns:1fr}
  .tenet{gap:22px;padding:24px 2px}
  .meaning-grid{grid-template-columns:1fr;gap:32px}
  .meaning-art{order:2;max-width:420px}
  .benefits{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:26px}
  .cred-row{padding:28px 26px;gap:22px}
  .yap-feature{grid-template-columns:1fr;gap:28px}
  .yap-feature .yap-shot{order:2}
  .thumb-strip{grid-template-columns:repeat(2,1fr)}
  .case,.case:nth-child(even){grid-template-columns:1fr;gap:26px}
  .case:nth-child(even) .case-media{order:0}
  .chapter,.chapter:nth-child(even){grid-template-columns:1fr;gap:26px}
  .chapter:nth-child(even) .chapter-art{order:0}
  .story{gap:54px}
  .journey{height:230px}
  .case-media{position:static}
  .parcel,.parcel:nth-child(even){grid-template-columns:1fr}
  .parcel:nth-child(even) .thumb{grid-column:1;grid-row:1;border-left:none;border-bottom:1px solid var(--line-2)}
  .parcel:nth-child(even) .body{grid-column:1;grid-row:2}
  .thumb{border-right:none;border-bottom:1px solid var(--line-2);min-height:220px}
  .body{padding:30px 26px}
  .labs{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* ---------- contact form (in the .claim band) ---------- */
.claim-form{margin:0 auto;max-width:620px;text-align:left}
.cf-honey{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.cf-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.cf-field label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,229,214,.75)}
.cf-field input,.cf-field textarea{appearance:none;width:100%;border:1.5px solid rgba(236,229,214,.4);border-radius:0;background:rgba(236,229,214,.07);color:var(--bone);padding:13px 14px;font-family:'Hanken Grotesk',sans-serif;font-size:1rem;line-height:1.4;transition:border-color .2s,background .2s}
.cf-field textarea{resize:vertical;min-height:120px}
.cf-field input:focus,.cf-field textarea:focus{outline:none;border-color:var(--bone);background:rgba(236,229,214,.12)}
.claim-form .btn{width:100%;justify-content:center}
.claim-form .btn:disabled{opacity:.55;cursor:default}
.cf-status{margin:16px 0 0;min-height:1.2em;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;text-align:center;color:rgba(236,229,214,.85)}
.claim-form.sent .cf-row,.claim-form.sent .cf-field,.claim-form.sent .btn{display:none}
.claim-form.sent .cf-status{font-size:.86rem;color:var(--bone)}
@media (max-width:640px){.cf-row{grid-template-columns:1fr}}
