

@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-var.woff2') format('woff2-variations');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url('../fonts/archivo-var.woff2') format('woff2-variations');font-weight:400 800;font-style:normal;font-display:swap}


:root{--paper:#f9f8f5;--ivory:#ece8e3;--limestone:#ccc4bb;--stone:#9e9285;--stone-dark:#5a5145;--ink:#0e0f0e;--ink-deep:#080808;--ink-soft:#25211a;--cream:#f4f1ea;--cream-dim:#b9b2a6;--gold:#c0924e;--gold-soft:#d8b57f;--bronze:#8a5a1e;--bronze-deep:#714815;--error:#a33b2a;--error-soft:#f7e9e6;--ok:#2e6b46;--font-display:'Fraunces','Georgia',serif;--font-sans:'Archivo','Helvetica Neue',Arial,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:clamp(1.5rem,1.2rem + 1.4vw,2rem);--text-3xl:clamp(1.9rem,1.45rem + 2.2vw,2.9rem);--text-hero:clamp(2.3rem,1.5rem + 3.9vw,4.35rem);--leading-tight:1.08;--leading-snug:1.25;--leading-body:1.65;--tracking-eyebrow:0.22em;--tracking-nav:0.14em;--tracking-label:0.18em;--container:76rem;--container-wide:84rem;--gutter:clamp(1.25rem,4vw,3rem);--section-pad:clamp(4.5rem,9vw,8rem);--section-pad-sm:clamp(3.25rem,6vw,5.5rem);--header-h:4.75rem;--radius-sm:3px;--radius:5px;--hairline:1px solid var(--limestone);--hairline-dark:1px solid rgba(244,241,234,0.14);--shadow-card:0 18px 44px -18px rgba(14,15,14,0.28);--shadow-card-sm:0 10px 26px -14px rgba(14,15,14,0.22);--ease-out:cubic-bezier(0.22,1,0.36,1);--dur-fast:180ms;--dur-med:420ms;--dur-slow:720ms;--reveal-distance:26px;--focus-ring:2px solid var(--bronze);--focus-ring-dark:2px solid var(--gold);--focus-offset:3px}

@media (prefers-reduced-motion:reduce){:root{--dur-fast:1ms;--dur-med:1ms;--dur-slow:1ms;--reveal-distance:0px}
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}
body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
button,input,textarea,select{font:inherit;color:inherit}
ul[role='list'],ol[role='list']{list-style:none;padding:0}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:var(--leading-tight);letter-spacing:-0.015em;text-wrap:balance}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:0.22em}
:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:2px}
.section--dark:focus-visible,.site-header__cta:focus-visible{outline:var(--focus-ring-dark)}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:absolute;top:-100%;left:var(--gutter);z-index:200;background:var(--ink);color:var(--cream);padding:0.65rem 1.1rem;font-size:var(--text-sm);letter-spacing:0.04em;border-radius:var(--radius-sm);transition:top var(--dur-fast) var(--ease-out)}
.skip-link:focus{top:0.75rem}
.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.js .reveal{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.js .reveal.is-revealed{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}
}
.eyebrow{display:flex;align-items:center;gap:0.75rem;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--bronze)}
.eyebrow::before{content:"";width:1.75rem;height:1px;background:currentColor;flex:none}
.section--dark .eyebrow{color:var(--gold)}
.lede{color:var(--stone-dark);max-width:34rem}
.section--dark .lede{color:var(--cream-dim)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.7rem;padding:0.95rem 1.7rem;font-size:var(--text-xs);font-weight:600;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.btn .btn__arrow{transition:transform var(--dur-fast) var(--ease-out)}
.btn:hover .btn__arrow{transform:translateX(4px)}
.btn--ink{background:var(--ink);color:var(--cream)}
.btn--ink:hover{background:var(--ink-soft)}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--outline:hover{background:var(--ink);color:var(--cream)}
.btn--gold{background:var(--gold);color:var(--ink-deep)}
.btn--gold:hover{background:var(--gold-soft)}
.btn--light{background:var(--cream);color:var(--ink)}
.btn--light:hover{background:#ffffff}
.link-arrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:var(--text-xs);font-weight:600;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:0.35rem;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.link-arrow:hover{color:var(--bronze);border-color:var(--bronze)}
.link-arrow .btn__arrow{transition:transform var(--dur-fast) var(--ease-out)}
.link-arrow:hover .btn__arrow{transform:translateX(4px)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(249,248,245,0.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color var(--dur-med) var(--ease-out)}
.site-header.is-scrolled{border-bottom-color:var(--limestone)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:0.7rem;text-decoration:none;flex:none}
.brand__mark{width:1.7rem;height:1.7rem;flex:none}
.brand__name{font-family:var(--font-sans);font-weight:700;font-size:0.95rem;letter-spacing:0.16em;color:var(--ink);line-height:1.15}
.brand__name small{display:block;font-size:0.6rem;font-weight:600;letter-spacing:0.34em;color:var(--stone-dark)}
.site-nav{display:flex;align-items:center;gap:2rem}
.site-nav__list{display:flex;align-items:center;gap:1.9rem;list-style:none;padding:0}
.site-nav__link{position:relative;display:inline-block;padding:0.4rem 0;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-nav);text-transform:uppercase;text-decoration:none;color:var(--ink)}
.site-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-fast) var(--ease-out)}
.site-nav__link:hover::after,.site-nav__link[aria-current="page"]::after{transform:scaleX(1)}
.site-nav__link[aria-current="page"]{color:var(--ink)}
.site-header__cta{padding:0.7rem 1.25rem}
.nav-toggle{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;background:transparent;border:1px solid var(--limestone);border-radius:var(--radius-sm);cursor:pointer}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display:block;width:1.25rem;height:2px;background:var(--ink);transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);content:""}
.nav-toggle__bars{position:relative}
.nav-toggle__bars::before{position:absolute;top:-6px}
.nav-toggle__bars::after{position:absolute;top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:63.99em){.site-header__cta--desktop{display:none}
.nav-toggle{display:inline-flex}
.site-nav{position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:var(--hairline);padding:1rem var(--gutter) 2rem;box-shadow:var(--shadow-card);transform:translateY(-0.75rem);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),visibility var(--dur-fast)}
.site-nav.is-open{transform:none;opacity:1;visibility:visible}
.site-nav__list{flex-direction:column;align-items:stretch;gap:0}
.site-nav__link{display:block;padding:0.9rem 0.25rem;font-size:var(--text-sm);border-bottom:1px solid var(--ivory)}
.site-nav__link::after{display:none}
.site-nav__link[aria-current="page"]{color:var(--bronze)}
.site-nav .site-header__cta{margin-top:1.25rem;align-self:flex-start}
}

@media (min-width:64em){.site-nav .site-header__cta{display:none}
}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:min(88vh,54rem)}
.hero__content{display:flex;flex-direction:column;justify-content:center;gap:1.6rem;padding:clamp(3rem,7vw,6rem) clamp(1.5rem,5.5vw,6rem);background:var(--paper)}
.hero__title{font-size:var(--text-hero);max-width:12ch}
.hero__sub{font-size:var(--text-lg);color:var(--stone-dark);max-width:32rem}
.hero__ctas{display:flex;flex-wrap:wrap;gap:0.9rem;margin-top:0.4rem}
.hero__media{position:relative;min-height:22rem}
.hero__media .media-ph{position:absolute;inset:0;border-radius:0}

@media (max-width:63.99em){.hero{grid-template-columns:1fr;min-height:0}
.hero__media{min-height:clamp(16rem,52vw,26rem);order:-1}
}
.media-ph{position:relative;overflow:hidden;border-radius:var(--radius);background:linear-gradient(135deg,rgba(204,196,187,0.55),rgba(236,232,227,0.9)),var(--ivory);border:1px solid var(--limestone);display:grid;place-items:center;text-align:center;isolation:isolate}
.media-ph::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(90,81,69,0.10) 1px,transparent 1px),linear-gradient(90deg,rgba(90,81,69,0.10) 1px,transparent 1px);background-size:3.25rem 3.25rem;mask-image:radial-gradient(120% 120% at 30% 20%,#000 30%,transparent 78%);z-index:-1}
.media-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(249,248,245,0) 55%,rgba(90,81,69,0.12));z-index:-1}
.media-ph__tag{display:inline-flex;flex-direction:column;gap:0.4rem;padding:0.6rem 1rem;font-size:0.62rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--stone-dark);background:rgba(249,248,245,0.82);border:1px dashed var(--stone);border-radius:var(--radius-sm)}
.media-ph__tag span{font-weight:500;letter-spacing:0.14em;color:var(--stone)}
.section--dark .media-ph,.media-ph--dark{background:linear-gradient(135deg,rgba(37,33,26,0.92),rgba(14,15,14,0.96));border-color:rgba(244,241,234,0.18)}
.media-ph--dark::before{background-image:linear-gradient(rgba(244,241,234,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,234,0.07) 1px,transparent 1px)}
.media-ph--dark .media-ph__tag{color:var(--cream-dim);background:rgba(8,8,8,0.55);border-color:var(--stone-dark)}
.media-ph--dark .media-ph__tag span{color:var(--stone)}
.section--dark{background:var(--ink);color:var(--cream)}
.cred-strip{padding-block:clamp(2.75rem,5vw,4rem)}
.cred-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3.5vw,3rem);list-style:none;padding:0}
.cred-item{display:flex;flex-direction:column;gap:0.85rem}
.cred-item__icon{width:2rem;height:2rem;color:var(--gold);flex:none}
.cred-item h3{font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;letter-spacing:0.01em;line-height:var(--leading-snug)}
.cred-item p{font-size:var(--text-sm);color:var(--cream-dim);line-height:1.6}

@media (max-width:63.99em){.cred-strip__grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:30em){.cred-strip__grid{grid-template-columns:1fr}
}
.pathways{padding-block:var(--section-pad) calc(var(--section-pad) + 3rem)}
.section-head{max-width:46rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.section-head h2{font-size:var(--text-3xl);margin-top:1.1rem}
.section-head .lede{margin-top:1.1rem;font-size:var(--text-lg)}
.section-head--split{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.pathways__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.75rem,4vw,3.5rem)}
.pathway{position:relative;padding-bottom:4.5rem}
.pathway .media-ph{aspect-ratio:4 / 3.1;width:100%}
.pathway__card{position:absolute;left:clamp(1rem,4vw,2.5rem);right:clamp(1rem,4vw,2.5rem);bottom:0;background:#ffffff;border:var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:clamp(1.5rem,3vw,2.25rem);display:flex;flex-direction:column;gap:0.9rem}
.pathway__card h3{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink)}
.pathway__card h3::before{content:"";display:block;width:1.5rem;height:2px;background:var(--gold);margin-bottom:0.8rem}
.pathway__card p{font-size:var(--text-sm);color:var(--stone-dark)}
.pathway__card .link-arrow{align-self:flex-start;margin-top:0.35rem}

@media (max-width:47.99em){.pathways__grid{grid-template-columns:1fr}
}
.services{padding-block:var(--section-pad);background:var(--ivory)}
.services__layout{display:grid;grid-template-columns:minmax(16rem,0.85fr) 2fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start}
.services__intro{position:sticky;top:calc(var(--header-h) + 2rem);display:flex;flex-direction:column;gap:1.3rem;align-items:flex-start}
.services__intro h2{font-size:var(--text-3xl)}
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);list-style:none;padding:0}
.service-tile{position:relative}
.service-tile .media-ph{aspect-ratio:4 / 2.9;width:100%}
.service-tile__label{position:absolute;left:0.9rem;bottom:0.9rem;z-index:2;display:inline-block;padding:0.5rem 0.85rem;background:rgba(249,248,245,0.94);border-radius:var(--radius-sm);font-size:0.66rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink)}
.service-tile:nth-child(3) .media-ph,.service-tile:nth-child(4) .media-ph{aspect-ratio:4 / 2.9}

@media (max-width:63.99em){.services__layout{grid-template-columns:1fr}
.services__intro{position:static}
.services__grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:35em){.services__grid{grid-template-columns:repeat(2,1fr);gap:0.9rem}
.service-tile .media-ph{aspect-ratio:4/3.4}
.service-tile__label{font-size:0.7rem;padding:0 0.9rem;min-height:44px;display:inline-flex;align-items:center;left:0.6rem;bottom:0.6rem}
.services .media-ph__tag,.details .media-ph__tag{font-size:0.55rem;padding:0.45rem 0.7rem;gap:0.25rem}
.services .media-ph__tag span,.details .media-ph__tag span{display:none}
}
.project-desk{padding-block:var(--section-pad);position:relative;overflow:clip}
.project-desk__blueprint{position:absolute;inset:0 auto 0 0;width:min(46%,42rem);color:rgba(192,146,78,0.16);pointer-events:none}
.project-desk__layout{position:relative;display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.project-desk__intro h2{font-size:var(--text-3xl);margin-top:1.1rem;color:var(--cream)}
.project-desk__intro .lede{margin-top:1.1rem;font-size:var(--text-lg)}
.project-desk__note{margin-top:1.75rem;font-size:var(--text-sm);color:var(--cream-dim);border-left:2px solid var(--gold);padding-left:1rem;max-width:26rem}
.desk-form{background:var(--ink-soft);border:var(--hairline-dark);border-radius:var(--radius);padding:clamp(1.5rem,3.5vw,2.5rem);display:flex;flex-direction:column;gap:1.4rem}
.desk-form__legend{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--gold)}
.desk-form fieldset{border:0;padding:0;display:flex;flex-direction:column;gap:1rem}
.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;list-style:none;padding:0}
.upload-box{position:relative}
.upload-box input[type="file"]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.upload-box__face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.4rem;min-height:6.5rem;padding:0.75rem 0.6rem;border:1px dashed rgba(244,241,234,0.32);border-radius:var(--radius-sm);color:var(--cream-dim);font-size:0.6rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;text-align:center;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}
.upload-box__sub{font-size:0.58rem;font-weight:400;letter-spacing:0.02em;text-transform:none;line-height:1.45;opacity:0.85}
.upload-grid__note{margin-top:0.85rem;font-size:var(--text-xs);color:var(--cream-dim);line-height:1.6}
.upload-box__face svg{width:1.15rem;height:1.15rem;color:var(--gold)}
.upload-box:hover .upload-box__face,.upload-box input:focus-visible + .upload-box__face{border-color:var(--gold);color:var(--cream);background:rgba(192,146,78,0.08)}
.upload-box input:focus-visible + .upload-box__face{outline:var(--focus-ring-dark);outline-offset:var(--focus-offset)}
.upload-box.has-file .upload-box__face{border-style:solid;border-color:var(--gold);color:var(--gold-soft)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-row--triple{grid-template-columns:1fr 1fr 1fr}
.field{display:flex;flex-direction:column;gap:0.45rem}
.field label{font-size:0.66rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--cream-dim)}
.field input[type="text"],.field input[type="date"],.field textarea{background:rgba(8,8,8,0.5);border:1px solid rgba(244,241,234,0.22);border-radius:var(--radius-sm);color:var(--cream);padding:0.8rem 0.9rem;font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out);width:100%}
.field textarea{min-height:6.5rem;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:rgba(185,178,166,0.55)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field input:focus-visible,.field textarea:focus-visible{outline:var(--focus-ring-dark);outline-offset:2px}
.field [aria-invalid="true"]{border-color:var(--error)}
.field__error{font-size:var(--text-xs);color:#e8a295;min-height:1em}
.desk-form__consent{font-size:var(--text-xs);color:var(--cream-dim);line-height:1.6}
.form-status{font-size:var(--text-sm);padding:0.9rem 1rem;border-radius:var(--radius-sm)}
.form-status--info{background:rgba(192,146,78,0.12);border:1px solid rgba(192,146,78,0.45);color:var(--gold-soft)}
.form-light .form-status--info{color:var(--bronze-deep)}

@media (max-width:63.99em){.project-desk__layout{grid-template-columns:1fr}
.project-desk__blueprint{width:100%;opacity:0.5}
}

@media (max-width:35em){.upload-grid{grid-template-columns:repeat(2,1fr)}
.form-row,.form-row--triple{grid-template-columns:1fr}
}
.featured{padding-block:var(--section-pad)}
.featured__layout{display:grid;grid-template-columns:minmax(15rem,0.7fr) 2fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
.featured__intro{display:flex;flex-direction:column;gap:1.3rem;align-items:flex-start}
.featured__intro h2{font-size:var(--text-3xl)}
.featured__grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:repeat(2,1fr);gap:clamp(1rem,2vw,1.5rem)}
.project-card{position:relative}
.project-card--lead{grid-row:1 / -1}
.project-card .media-ph{width:100%;height:100%}
.project-card--lead .media-ph{aspect-ratio:auto;min-height:26rem}
.project-card:not(.project-card--lead) .media-ph{aspect-ratio:16 / 8.6}
.rel-label{position:absolute;top:0.9rem;left:0.9rem;z-index:2;display:inline-flex;align-items:center;gap:0.45rem;padding:0.42rem 0.8rem;font-size:0.6rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;border-radius:var(--radius-sm);background:var(--ink);color:var(--gold);border:1px solid rgba(192,146,78,0.5)}
.rel-label::before{content:"";width:0.42rem;height:0.42rem;background:var(--gold);transform:rotate(45deg);flex:none}

@media (max-width:63.99em){.featured__layout{grid-template-columns:1fr}
.project-card--lead .media-ph{min-height:18rem}
}

@media (max-width:35em){.featured__grid{grid-template-columns:1fr;grid-template-rows:none}
.project-card--lead{grid-row:auto}
}
.details{padding-block:var(--section-pad);background:var(--paper)}
.details__row{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(0.9rem,1.8vw,1.4rem);list-style:none;padding:0}
.detail-item{display:flex;flex-direction:column;gap:0.8rem}
.detail-item .media-ph{aspect-ratio:3 / 3.6;width:100%}
.detail-item__label{display:flex;align-items:center;gap:0.6rem;font-size:0.7rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink)}
.detail-item__label::before{content:"";width:1.1rem;height:1px;background:var(--gold);flex:none}

@media (max-width:63.99em){.details__row{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:35em){.details__row{grid-template-columns:repeat(2,1fr);gap:1.1rem 0.9rem}
.detail-item .media-ph{aspect-ratio:4/3.6}
.detail-item__label{font-size:0.7rem;letter-spacing:0.16em}
}
.film{padding-block:var(--section-pad)}
.film .section-head h2{color:var(--cream)}
.film__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2.5rem)}
.player{display:flex;flex-direction:column;gap:0.9rem}
.player__screen{position:relative;aspect-ratio:16 / 9;width:100%}
.player__label{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1rem}
.player__label span{font-size:0.66rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--cream-dim);border:1px dashed var(--stone-dark);background:rgba(8,8,8,0.5);padding:0.65rem 1.1rem;border-radius:var(--radius-sm)}
.player__controls{display:flex;align-items:center;gap:0.9rem;background:var(--ink-soft);border:var(--hairline-dark);border-top:0;padding:0.7rem 0.95rem;border-radius:0 0 var(--radius) var(--radius)}
.player__screen{border-radius:var(--radius) var(--radius) 0 0}
.player__btn{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;flex:none;background:transparent;border:1px solid rgba(244,241,234,0.3);border-radius:50%;color:var(--cream);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.player__btn:hover{border-color:var(--gold);color:var(--gold)}
.player__btn svg{width:0.95rem;height:0.95rem}
.player__time{font-size:var(--text-xs);color:var(--cream-dim);font-variant-numeric:tabular-nums;white-space:nowrap}
.player__seek{flex:1;appearance:none;-webkit-appearance:none;height:3px;background:rgba(244,241,234,0.22);border-radius:2px;cursor:pointer}
.player__seek::-webkit-slider-thumb{-webkit-appearance:none;width:0.8rem;height:0.8rem;border-radius:50%;background:var(--gold)}
.player__seek::-moz-range-thumb{width:0.8rem;height:0.8rem;border:0;border-radius:50%;background:var(--gold)}
.player__caption{font-size:var(--text-sm);color:var(--cream-dim)}
.player__caption strong{color:var(--cream);font-weight:600}

@media (max-width:63.99em){.film__grid{grid-template-columns:1fr}
}
.process{padding-block:var(--section-pad)}
.process__steps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(1.25rem,2.5vw,2rem);list-style:none;padding:0;counter-reset:step}
.step{display:flex;flex-direction:column;gap:0.8rem;position:relative;padding-top:1.4rem}
.step::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--limestone)}
.step::after{content:"";position:absolute;top:-1px;left:0;width:2.2rem;height:3px;background:var(--gold)}
.step__num{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--gold);line-height:1}
.step h3{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase}
.step p{font-size:var(--text-sm);color:var(--stone-dark);line-height:1.6}

@media (max-width:63.99em){.process__steps{grid-template-columns:repeat(3,1fr);row-gap:2.25rem}
}

@media (max-width:35em){.process__steps{grid-template-columns:1fr 1fr}
}
.credentials{padding-block:var(--section-pad);background:var(--ivory)}
.credentials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
.credentials__grid--2{grid-template-columns:1fr 1fr;max-width:64rem}
.cred-col{display:flex;flex-direction:column;gap:1.2rem}
.cred-col h2{font-size:var(--text-2xl);margin-top:1rem}
.cred-col>p{font-size:var(--text-sm);color:var(--stone-dark)}
.qual-card{background:#ffffff;border:var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-card-sm);padding:1.5rem;display:flex;flex-direction:column;gap:0.55rem}
.qual-card__icon{width:1.6rem;height:1.6rem;color:var(--bronze)}
.qual-card h3{font-family:var(--font-sans);font-size:var(--text-base);font-weight:700;line-height:var(--leading-snug)}
.qual-card p{font-size:var(--text-xs);color:var(--stone-dark);letter-spacing:0.02em}
.qual-card .status-pill{align-self:flex-start}
.status-pill{display:inline-block;padding:0.3rem 0.7rem;font-size:0.6rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;border-radius:100px;border:1px solid var(--stone);color:var(--stone-dark);background:transparent}
.area-map{position:relative;background:#ffffff;border:var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-card-sm);padding:1.25rem}
.area-map svg{width:100%;height:auto}
.area-list{display:flex;flex-wrap:wrap;gap:0.5rem 1.1rem;list-style:none;padding:0;margin-top:0.9rem}
.area-list li{display:flex;align-items:center;gap:0.45rem;font-size:var(--text-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink)}
.area-list li::before{content:"";width:0.45rem;height:0.45rem;background:var(--gold);border-radius:50%;flex:none}
.proof-item{border:1px dashed var(--stone);border-radius:var(--radius);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:0.35rem;background:rgba(249,248,245,0.6)}
.proof-item h3{font-family:var(--font-sans);font-size:0.68rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink)}
.proof-item p{font-size:var(--text-xs);color:var(--stone-dark)}

@media (max-width:63.99em){.credentials__grid{grid-template-columns:1fr;max-width:34rem}
.credentials__grid--2{grid-template-columns:1fr}
}
.final-cta{position:relative;isolation:isolate;overflow:clip}
.final-cta .media-ph{position:absolute;inset:0;border-radius:0;border:0;background:linear-gradient(140deg,#efeae2 0%,#ddd5c9 45%,#c8beaf 100%);z-index:-2}
.final-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,0.82) 0%,rgba(8,8,8,0.6) 55%,rgba(8,8,8,0.42) 100%);z-index:-1}
.final-cta__inner{padding-block:clamp(5rem,11vw,9rem);display:flex;flex-direction:column;align-items:flex-start;gap:2rem}
.final-cta h2{color:var(--cream);font-size:var(--text-3xl);max-width:20ch}
.final-cta__ctas{display:flex;flex-wrap:wrap;gap:0.9rem}
.site-footer{background:var(--ink-deep);color:var(--cream);padding:clamp(3.5rem,7vw,6rem) 0 2.25rem}
.site-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:clamp(2rem,4vw,3rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.site-footer .brand__name{color:var(--cream)}
.site-footer .brand__name small{color:var(--cream-dim)}
.site-footer__desc{margin-top:1.25rem;font-size:var(--text-sm);color:var(--cream-dim);max-width:22rem;line-height:1.7}
.site-footer__social{display:flex;gap:0.75rem;margin-top:1.5rem;list-style:none;padding:0}
.site-footer__social a{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border:1px solid rgba(244,241,234,0.25);border-radius:50%;color:var(--cream-dim);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.site-footer__social a:hover{color:var(--gold);border-color:var(--gold)}
.site-footer__social svg{width:1.05rem;height:1.05rem}
.site-footer h2{font-family:var(--font-sans);font-size:0.68rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.15rem}
.site-footer nav ul,.site-footer__contact ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:0.65rem}
.site-footer nav a{font-size:var(--text-sm);color:var(--cream-dim);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
.site-footer nav a:hover{color:var(--gold-soft)}
.site-footer__contact li{font-size:var(--text-sm);color:var(--cream-dim);line-height:1.55}
.site-footer__contact .ph{color:var(--stone);font-style:normal}
.site-footer__legal{border-top:1px solid rgba(192,146,78,0.35);padding-top:1.75rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.site-footer__legal p{font-size:var(--text-xs);color:var(--cream-dim)}
.site-footer__legal ul{display:flex;flex-wrap:wrap;gap:1.5rem;list-style:none;padding:0}
.site-footer__legal a{font-size:var(--text-xs);color:var(--cream-dim);text-decoration:none;letter-spacing:0.06em;text-transform:uppercase;transition:color var(--dur-fast) var(--ease-out)}
.site-footer__legal a:hover{color:var(--gold-soft)}

@media (max-width:63.99em){.site-footer__grid{grid-template-columns:1fr 1fr}
.site-footer__grid>.site-footer__brandcol{grid-column:1 / -1}
}

@media (max-width:30em){.site-footer__grid{grid-template-columns:1fr}
}
.brand__mark{width:2.125rem;height:auto;object-fit:contain}
.brand__lockup{width:11rem;height:auto;display:block}
.site-footer__brandcol .brand__name{display:none}




.page-hero { padding: clamp(3.5rem, 8vw, 6rem) 0 clamp(2.5rem, 5vw, 4rem); background: var(--paper); }
.page-hero h1 { font-size: var(--text-3xl); max-width: 20ch; margin-top: 1.1rem; }
.page-hero .lede { margin-top: 1.1rem; font-size: var(--text-lg); }
.page-hero--dark { background: var(--ink); color: var(--cream); }
.page-hero--dark .lede { color: var(--cream-dim); }


.breadcrumbs { font-size: var(--text-xs); letter-spacing: 0.08em; margin-bottom: 1.5rem; color: var(--stone-dark); }
.breadcrumbs ol { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 0.5rem; color: var(--stone); }
.breadcrumbs a { color: var(--stone-dark); text-decoration: none; }
.breadcrumbs a:hover { color: var(--bronze); }
.page-hero--dark .breadcrumbs, .page-hero--dark .breadcrumbs a { color: var(--cream-dim); }


.prose { max-width: 44rem; }
.prose h2 { font-size: var(--text-2xl); margin: 2.5rem 0 1rem; }
.prose h3 { font-family: var(--font-sans); font-size: var(--text-lg); font-weight: 700; margin: 1.75rem 0 0.6rem; }
.prose p { margin: 0 0 1rem; color: var(--stone-dark); }
.prose ul { margin: 0 0 1rem; padding-left: 1.25rem; color: var(--stone-dark); }
.prose li { margin-bottom: 0.4rem; }
.prose a { color: var(--bronze); }
.section--dark .prose p, .section--dark .prose ul { color: var(--cream-dim); }
.section--dark .prose a { color: var(--gold-soft); }


.section { padding-block: var(--section-pad-sm); }
.section--ivory { background: var(--ivory); }


.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
@media (max-width: 63.99em) { .two-col { grid-template-columns: 1fr; } }


.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 2.5vw, 2rem); list-style: none; padding: 0; }
.card-grid--2 { grid-template-columns: repeat(2, 1fr); }
.info-card { background: #ffffff; border: var(--hairline); border-radius: var(--radius); padding: 1.75rem; display: flex; flex-direction: column; gap: 0.7rem; box-shadow: var(--shadow-card-sm); }
.info-card h3 { font-family: var(--font-sans); font-size: var(--text-base); font-weight: 700; line-height: var(--leading-snug); }
.info-card p, .info-card li { font-size: var(--text-sm); color: var(--stone-dark); }
.info-card ul { padding-left: 1.1rem; }
@media (max-width: 63.99em) { .card-grid { grid-template-columns: 1fr; max-width: 34rem; } .card-grid--2 { grid-template-columns: 1fr; } }


.rel-card { border-top: 3px solid var(--gold); }
.rel-card .rel-num { font-family: var(--font-display); font-size: var(--text-xl); color: var(--bronze); }


.service-block { display: grid; grid-template-columns: minmax(14rem, 0.8fr) 2fr; gap: clamp(1.5rem, 4vw, 3.5rem); padding: clamp(2rem, 4vw, 3rem) 0; border-top: var(--hairline); }
.service-block:first-of-type { border-top: 0; }
.service-block h3 { font-size: var(--text-2xl); }
.service-block__meta { font-size: var(--text-sm); color: var(--stone-dark); }
.service-block__meta dt { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bronze); margin-top: 1.1rem; }
.service-block__meta dd { margin: 0.25rem 0 0; }
.service-block p { color: var(--stone-dark); margin-bottom: 0.9rem; }
@media (max-width: 63.99em) { .service-block { grid-template-columns: 1fr; } }


.path-tabs { display: flex; gap: 0; border: 1px solid var(--limestone); border-radius: var(--radius); overflow: hidden; max-width: 34rem; }
.path-tabs a { flex: 1; text-align: center; padding: 1rem 1rem; min-height: 44px; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; color: var(--ink); background: #ffffff; transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.path-tabs a[aria-current="true"] { background: var(--ink); color: var(--cream); }
.path-tabs a:hover:not([aria-current="true"]) { background: var(--ivory); }


.form-light { background: #ffffff; border: var(--hairline); border-radius: var(--radius); box-shadow: var(--shadow-card-sm); padding: clamp(1.5rem, 3.5vw, 2.5rem); display: flex; flex-direction: column; gap: 1.3rem; }
.form-light .field label { color: var(--stone-dark); }
.form-light .field input[type="text"], .form-light .field input[type="email"], .form-light .field input[type="tel"],
.form-light .field input[type="date"], .form-light .field select, .form-light .field textarea {
  background: var(--paper); border: 1px solid var(--limestone); color: var(--ink); padding: 0.8rem 0.9rem; border-radius: var(--radius-sm); font-size: var(--text-sm); width: 100%;
}
.form-light .field input:focus-visible, .form-light .field textarea:focus-visible, .form-light .field select:focus-visible { outline: var(--focus-ring); outline-offset: 2px; border-color: var(--bronze); }
.form-light .field [aria-invalid="true"] { border-color: var(--error); }
.form-light .field__error { color: var(--error); }
.form-light .upload-box__face { border-color: var(--stone); color: var(--stone-dark); background: var(--paper); }
.form-light .upload-box__face svg { color: var(--bronze); }
.form-light .upload-box:hover .upload-box__face, .form-light .upload-box input:focus-visible + .upload-box__face { border-color: var(--bronze); color: var(--ink); background: var(--ivory); }
.form-light .upload-box.has-file .upload-box__face { border-color: var(--bronze); color: var(--bronze); }
.form-light .desk-form__legend { color: var(--bronze); }
.form-light .desk-form__consent { color: var(--stone-dark); }
.form-light .upload-grid__note { color: var(--stone-dark); }
.form-status--warn { background: var(--error-soft); border: 1px solid var(--error); color: var(--error); }


.project-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 2.5vw, 2rem); list-style: none; padding: 0; }
.project-list__card { position: relative; display: flex; flex-direction: column; background: #ffffff; border: var(--hairline); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-card-sm); }
.project-list__card .card-body { padding: 1.25rem 1.25rem 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; }
.project-list__card h3 { font-family: var(--font-sans); font-size: var(--text-base); font-weight: 700; }
.project-list__card .meta { font-size: var(--text-xs); color: var(--stone-dark); letter-spacing: 0.04em; }
.project-list__card .rel-label { position: absolute; }
@media (max-width: 63.99em) { .project-list { grid-template-columns: 1fr; max-width: 34rem; } }


.filter-row { display: flex; flex-wrap: wrap; gap: 0.6rem; list-style: none; padding: 0; margin-bottom: 2rem; }
.filter-row a { display: inline-flex; align-items: center; min-height: 44px; padding: 0.4rem 1.1rem; border: 1px solid var(--limestone); border-radius: 100px; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; color: var(--ink); background: #ffffff; }
.filter-row a[aria-current="true"] { background: var(--ink); color: var(--cream); border-color: var(--ink); }


.case-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem 2rem; background: #ffffff; border: var(--hairline); border-radius: var(--radius); padding: 1.75rem; }
.case-facts dt { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bronze); }
.case-facts dd { margin: 0.25rem 0 0; font-size: var(--text-sm); color: var(--ink); }





.not-found { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 1.5rem; padding-block: var(--section-pad); }
.not-found h1 { font-size: var(--text-3xl); }


body.menu-open { overflow: hidden; }
@media (max-width: 63.99em) {
  .site-nav { background: var(--paper); border-top: 1px solid var(--limestone); }
  .site-nav__link { min-height: 44px; display: flex; align-items: center; }
}

.h3-size{font-size:var(--text-xl);font-family:var(--font-display)}
.rel-card h2.h3-size{margin-top:0.4rem}


.pathway:not(:has(.media-ph)){padding-bottom:0}
.pathway:not(:has(.media-ph)) .pathway__card{position:static}
.service-tile:not(:has(.media-ph)){background:#ffffff;border:var(--hairline);border-radius:var(--radius);padding:1.4rem 1.5rem;display:flex;align-items:flex-end;min-height:7.5rem;box-shadow:var(--shadow-card-sm)}
.service-tile:not(:has(.media-ph)) .service-tile__label{position:static;padding:0;min-height:0;background:none;font-size:0.72rem;color:var(--ink)}

/* CMS media slots (production) */
.media-slot{position:relative;margin:0;overflow:hidden;border-radius:var(--radius)}
.media-slot img{width:100%;height:100%;object-fit:cover;display:block}
.hero__media .media-slot{position:absolute;inset:0;border-radius:0}
.player__screen img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.player__screen{position:relative;min-height:14rem;overflow:hidden;border-radius:var(--radius)}
.service-tile .media-slot{position:absolute;inset:0}
.detail-item .media-slot{position:absolute;inset:0}
.pathway .media-slot{position:absolute;inset:0}
.social-btn{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--limestone);border-radius:50%;font-weight:700;font-size:.85rem;text-decoration:none;color:inherit}
@media (max-width:47.99em){.film__grid{grid-template-columns:1fr}}
.film__grid{min-width:0}
.player{min-width:0;overflow:hidden}
.player__screen{min-height:0}

/* --- Repair & compliance update 2026-08-15 --- */
.site-footer__social a{width:2.75rem;height:2.75rem;min-width:44px;min-height:44px}
.site-footer__social a:hover{color:var(--gold);border-color:var(--gold)}
.site-footer__social a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;color:var(--gold);border-color:var(--gold)}
.site-footer__social svg{width:1.15rem;height:1.15rem}
.footer-compliance{margin-top:.4rem;font-size:.78rem;letter-spacing:.06em;color:var(--cream-dim)}
.licence-note{display:inline-block;margin-top:.9rem;padding:.4rem .8rem;border:1px solid var(--gold);border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.section--dark .licence-note{color:var(--gold-soft)}
.team-tag{display:inline-block;margin-top:.5rem;padding:.3rem .6rem;background:var(--ivory);border-left:3px solid var(--gold);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--stone-dark)}
.project-cat{margin-top:2.5rem}
.project-cat:first-child{margin-top:0}
.project-cat__title{font-size:1.35rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--limestone)}
.cat-empty{color:var(--stone-dark);font-style:italic;max-width:46rem}
.approach-quote{margin:0;padding:1.4rem 1.6rem;border-left:3px solid var(--gold);background:rgba(244,241,234,0.06);border-radius:0 var(--radius) var(--radius) 0}
.approach-quote p{margin:0;font-family:var(--font-serif);font-size:1.15rem;line-height:1.6;color:var(--cream)}
