@font-face{font-family:AGSans;src:local("Arial");font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#3f3a32;color:#f2eee7;font-family:AGSans,"Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.45}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(90deg,transparent calc(25% - 1px),#d9d1c3 25%,transparent calc(25% + 1px)),linear-gradient(90deg,transparent calc(50% - 1px),#d9d1c3 50%,transparent calc(50% + 1px)),linear-gradient(90deg,transparent calc(75% - 1px),#d9d1c3 75%,transparent calc(75% + 1px));z-index:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:12px;z-index:1000;padding:12px 18px;background:#fff;color:#24211c;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{height:86px;padding:0 clamp(24px,6vw,110px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:50}.brand{width:46px;height:46px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;letter-spacing:.08em}.site-menu{display:flex;gap:38px;align-items:center;font-size:13px}.site-menu a,.back-link{opacity:.68;border-bottom:1px solid transparent;transition:.2s}.site-menu a:hover,.back-link:hover{opacity:1;border-color:currentColor}.menu-button{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:transparent;padding:13px}.menu-button span:not(.sr-only){display:block;height:1px;background:#fff;margin:4px 0}.page-section{width:min(1240px,calc(100% - 96px));margin:0 auto;position:relative;z-index:1}.listing-page{padding:72px 0 90px}.back-link{display:inline-block;margin-bottom:46px;font-size:13px}.listing-page>h1,.contacts-intro h1,.detail-page h1,.legal-page h1,.error-page h1{font-weight:300;text-transform:uppercase;font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.035em;margin:0 0 54px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 2px;border:0;border-bottom:1px solid rgba(255,255,255,.64);background:transparent;color:#fff;font-size:13px}.button--solid{width:100%;padding:0 24px;border:0;background:#81766b;font-weight:600}.button--solid span{margin-left:auto}.messages{position:fixed;right:24px;top:100px;z-index:200;background:#f2eee7;color:#332f28;padding:16px 22px;box-shadow:0 12px 40px rgba(0,0,0,.25);transition:.3s}.messages p{margin:0}.messages.is-hidden{opacity:0;transform:translateY(-10px);pointer-events:none}
.site-footer{width:min(1240px,calc(100% - 96px));min-height:170px;margin:0 auto;padding:54px 0 42px;display:grid;grid-template-columns:.8fr 1.4fr .9fr 1fr 1.4fr;gap:36px;align-items:start;border-top:1px solid rgba(255,255,255,.1);position:relative;z-index:1;font-size:12px}.site-footer b{font-size:12px}.site-footer div>span{display:block;width:24px;height:1px;background:#fff;margin:12px 0}.site-footer p{margin:0;opacity:.68}.site-footer small{opacity:.58;align-self:end}.footer-socials{display:flex;gap:14px;font-weight:700}
.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.blog-card{min-height:370px;border:1px solid rgba(255,255,255,.62);overflow:hidden}.blog-card>a{height:100%;display:flex;flex-direction:column;position:relative}.blog-card img{width:100%;height:230px;object-fit:cover}.blog-card__body{display:flex;flex:1;flex-direction:column;padding:22px 20px;background:#49443c}.blog-card__body time{font-size:11px;opacity:.7}.blog-card__body h2,.blog-card__body h3{font-size:16px;line-height:1.2;margin:12px 0 28px}.blog-card__body span{margin-top:auto;font-size:11px;width:max-content;border-bottom:1px solid #fff;padding-bottom:6px}.blog-card--cover>a{justify-content:end}.blog-card--cover img{position:absolute;inset:0;height:100%;filter:brightness(.57)}.blog-card--cover .blog-card__body{position:relative;z-index:1;background:transparent}.blog-card--split .blog-card__body{min-height:178px}.blog-card--split img{order:2;flex:1;height:190px}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:48px}.pagination a{width:42px;height:42px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;opacity:.6}.pagination a:hover,.pagination a[aria-current=page]{border-color:rgba(255,255,255,.45);opacity:1}
.portfolio-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-flow:dense;gap:22px}.portfolio-card{grid-column:span 2;height:490px;overflow:hidden}.portfolio-card--1,.portfolio-card--2{grid-column:span 3;height:650px}.portfolio-card--3{grid-column:span 6;height:650px}.portfolio-card--7,.portfolio-card--8{grid-column:span 3;height:620px}.portfolio-card--9{grid-column:span 6;height:650px}.portfolio-card>a{display:block;height:100%;position:relative}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.portfolio-card__overlay{position:absolute;inset:0;padding:34px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(180deg,transparent 45%,rgba(24,22,19,.75));opacity:.22;transition:.3s}.portfolio-card:first-child .portfolio-card__overlay{inset:auto auto 40px 28px;width:270px;min-height:240px;background:#7e7468;opacity:1}.portfolio-card__overlay strong{font-size:18px}.portfolio-card__overlay small{margin-top:16px;line-height:1.55}.portfolio-card__overlay i{margin-top:28px;font-style:normal}.portfolio-card:hover img{transform:scale(1.025)}.portfolio-card:hover .portfolio-card__overlay{opacity:1}
.detail-page{padding:65px 0 100px}.detail-page header{max-width:880px}.detail-page header>p,.detail-page header>time{display:block;margin-bottom:18px;opacity:.68}.detail-page h1{margin-bottom:34px}.detail-page header>p:last-child{font-size:18px;max-width:680px}.project-meta{display:flex;gap:30px;margin-bottom:44px;opacity:.7}.detail-hero{width:100%;max-height:720px;object-fit:cover}.prose{max-width:760px;margin:70px auto 0;font-size:17px;line-height:1.8}.prose h2{font-size:40px;font-weight:300}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gallery-item{margin:0;min-height:520px}.gallery-item:first-child{grid-column:1/-1;min-height:760px}.gallery-item img{width:100%;height:100%;object-fit:cover}
.contacts-page{padding:70px 0 100px}.contacts-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;margin-bottom:80px}.contacts-intro h1{margin:0}.contacts-intro h2{font-size:20px;margin:0 0 20px}.contacts-intro p{opacity:.72;line-height:1.7}.contacts-feature{height:620px;position:relative}.contacts-feature>img{width:100%;height:100%;object-fit:cover;filter:brightness(.76)}.contacts-feature aside{position:absolute;left:8%;top:30%;width:280px;padding:38px;background:#80756a}.contacts-feature aside strong{display:block;margin-bottom:18px}.contacts-feature aside p{font-size:13px;opacity:.8}.contacts-feature aside span{display:block;margin-top:28px}.contacts-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 100px;border-bottom:1px solid rgba(255,255,255,.12)}.contacts-facts article{min-height:260px;padding:62px 50px;border-right:1px solid rgba(255,255,255,.12)}.contacts-facts article:last-child{border:0}.contacts-facts h2{font-size:17px}.contacts-facts p{font-size:13px;opacity:.66}.awards{display:grid;grid-template-columns:160px 1fr;gap:44px;margin-bottom:120px}.awards>h2{margin:0;font-size:25px;font-weight:300;text-transform:uppercase;writing-mode:vertical-rl}.awards>div{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.awards figure{margin:0}.award-card{aspect-ratio:.72;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;text-align:center;font-weight:700;font-size:22px}.award-card small{font-size:11px;margin-top:26px}.award-card--red{background:#bb201d}.award-card--blue{background:#2a8598}.award-card--dark{background:#121212;border:12px solid #ddd}.awards figcaption{margin-top:12px;font-size:11px}.awards>p{grid-column:2;max-width:560px;font-size:13px;opacity:.68}.contact-request{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:end;margin-bottom:70px}.contact-request h2{font-size:44px;line-height:1;font-weight:300;text-transform:uppercase}.contact-request>div>p{max-width:470px;opacity:.7}.contact-request>img{width:100%;height:650px;object-fit:cover;object-position:center top}.request-form{margin-top:32px;max-width:540px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;margin-bottom:7px;opacity:.75}.field input,.field textarea{width:100%;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;padding:14px 16px;border-radius:0}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid #c4b5a4;outline-offset:2px}.consent{display:flex;gap:10px;align-items:flex-start;margin:15px 0;font-size:12px;opacity:.8}.consent input{margin-top:2px}.consent a{text-decoration:underline}.error{color:#ffd1ca;font-size:12px;margin:5px 0}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.stat-row p{display:flex;flex-direction:column}.stat-row strong{font-size:27px;font-weight:300}.stat-row span{font-size:12px;opacity:.65}.stat-row--contacts{max-width:700px}
.home-hero{height:calc(100vh - 86px);min-height:650px;position:relative;z-index:1}.home-hero>img{width:100%;height:100%;object-fit:cover;filter:brightness(.64)}.home-hero>div{position:absolute;left:clamp(32px,10vw,180px);top:50%;transform:translateY(-50%);max-width:780px}.home-hero h1{font-weight:300;font-size:clamp(48px,6vw,88px);line-height:.98;margin:12px 0 38px}.home-hero p{text-transform:uppercase;letter-spacing:.12em;font-size:12px}.home-about{padding:130px 0;display:grid;grid-template-columns:80px 390px 1fr;gap:70px;align-items:center}.home-about>img{height:490px;width:100%;object-fit:cover}.home-about h2,.section-head h2,.manifesto h2,.home-request h2{font-size:clamp(38px,5vw,64px);font-weight:300;line-height:1.05;margin:0 0 30px}.home-about>div>p{font-size:17px;line-height:1.75;opacity:.72}.vertical-label{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.15em}.home-projects,.home-blog{padding:70px 0 120px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:45px}.project-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.project-strip a{height:500px;position:relative;overflow:hidden}.project-strip img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}.project-strip span{position:absolute;inset:0;padding:24px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(transparent,rgba(0,0,0,.7))}.project-strip b{font-size:32px;font-weight:300;margin-bottom:auto}.project-strip strong{font-size:16px}.project-strip small{margin-top:12px;opacity:.7}.manifesto{padding:140px 0;text-align:center}.manifesto>p{opacity:.65}.manifesto .button{margin-top:30px}.blog-grid--home{grid-template-columns:repeat(4,1fr)}.home-request{padding:100px 0 130px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.home-request>div>p{max-width:470px;opacity:.68}.legal-page{padding:80px 0 140px;max-width:850px}.legal-page h2{margin-top:48px;font-size:25px;font-weight:400}.legal-page p{line-height:1.8;opacity:.75}.error-page{padding:130px 0 200px;text-align:center}.error-page>p{opacity:.65}.error-page div{display:flex;justify-content:center;gap:24px;margin-top:45px}.error-page .button{width:auto;padding:0 24px}
@media(max-width:1000px){body:before{background-image:linear-gradient(90deg,transparent calc(50% - 1px),#d9d1c3 50%,transparent calc(50% + 1px))}.site-header{height:76px;padding:0 24px}.menu-button{display:block}.site-menu{position:absolute;top:65px;right:24px;width:220px;padding:24px;display:none;flex-direction:column;align-items:flex-start;background:#2f2b26;box-shadow:0 20px 50px rgba(0,0,0,.3)}.site-menu.is-open{display:flex}.page-section,.site-footer{width:calc(100% - 48px)}.listing-page{padding-top:42px}.blog-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid{gap:12px}.portfolio-card,.portfolio-card--1,.portfolio-card--2,.portfolio-card--3,.portfolio-card--7,.portfolio-card--8,.portfolio-card--9{grid-column:span 3;height:480px}.contacts-intro{gap:40px}.contacts-feature{height:520px}.contacts-facts article{padding:40px 24px}.awards{grid-template-columns:100px 1fr}.contact-request{gap:45px}.home-about{grid-template-columns:40px 300px 1fr;gap:30px}.project-strip{grid-template-columns:repeat(3,1fr)}.project-strip a:nth-child(n+4){display:none}.home-request{gap:45px}.site-footer{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){body{font-size:14px}.page-section,.site-footer{width:calc(100% - 32px)}.back-link{margin-bottom:28px}.listing-page>h1,.contacts-intro h1,.detail-page h1,.legal-page h1,.error-page h1{font-size:38px;margin-bottom:30px}.site-header{height:64px;padding:0 16px}.brand,.menu-button{width:42px;height:42px}.blog-grid{grid-template-columns:1fr;gap:12px}.blog-card{min-height:390px}.blog-card img{height:250px}.blog-card--cover{height:480px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.portfolio-card,.portfolio-card--1,.portfolio-card--2,.portfolio-card--3,.portfolio-card--7,.portfolio-card--8,.portfolio-card--9{grid-column:span 1;height:300px}.portfolio-card:nth-child(3n){grid-column:span 2;height:360px}.portfolio-card:first-child .portfolio-card__overlay{inset:auto 10px 10px;width:calc(100% - 20px);min-height:130px;padding:18px}.portfolio-card__overlay{opacity:.9;padding:16px}.portfolio-card__overlay strong{font-size:12px}.portfolio-card__overlay small{display:none}.portfolio-card__overlay i{margin-top:12px}.site-footer{grid-template-columns:repeat(2,1fr);gap:32px 18px;padding-top:42px}.site-footer small{grid-column:1/-1}.footer-socials{grid-column:1/-1}.detail-page{padding-top:38px}.detail-page header>p:last-child{font-size:15px}.project-gallery{grid-template-columns:1fr;gap:10px}.gallery-item,.gallery-item:first-child{grid-column:auto;min-height:420px}.prose{margin-top:40px;font-size:15px}.prose h2{font-size:32px}.contacts-page{padding-top:40px}.contacts-intro{grid-template-columns:1fr;gap:25px;margin-bottom:42px}.contacts-intro h2{font-size:16px}.contacts-feature{height:480px;margin-inline:-16px}.contacts-feature aside{left:16px;right:16px;top:auto;bottom:16px;width:auto;padding:24px}.contacts-facts{grid-template-columns:1fr;margin-bottom:70px}.contacts-facts article{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:34px 0}.awards{display:block;margin-bottom:80px}.awards>h2{writing-mode:initial;margin-bottom:30px}.awards>div{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.awards figure{min-width:78%;scroll-snap-align:start}.awards>p{margin-top:28px}.contact-request{display:flex;flex-direction:column-reverse;gap:32px}.contact-request>img{height:430px}.contact-request h2{font-size:35px}.stat-row{gap:10px}.stat-row strong{font-size:22px}.stat-row span{font-size:10px}.home-hero{height:calc(100svh - 64px);min-height:570px}.home-hero>div{left:20px;right:20px}.home-hero h1{font-size:42px}.home-about{padding:75px 0;display:grid;grid-template-columns:1fr}.vertical-label{writing-mode:initial}.home-about>img{height:430px}.home-about .stat-row{grid-column:1/-1}.section-head h2,.manifesto h2,.home-request h2{font-size:38px}.project-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px}.project-strip a{min-width:78vw;height:430px;scroll-snap-align:start}.project-strip a:nth-child(n+4){display:block}.manifesto{padding:90px 0}.blog-grid--home{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px}.blog-grid--home .blog-card{min-width:78vw;scroll-snap-align:start}.home-request{grid-template-columns:1fr;gap:15px;padding:70px 0 90px}.error-page div{flex-direction:column;gap:12px}.error-page .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
:focus-visible{outline:2px solid #f3d4aa;outline-offset:4px}

/* Design-system alignment: Geist for UI/body, Poiret One for display type. */
body{background:#4a443b;font-family:Geist,"Helvetica Neue",Arial,sans-serif;font-weight:300;color:#f0ece5}
h1,h2,.listing-page>h1,.contacts-intro h1,.detail-page h1,.legal-page h1,.error-page h1,.section-head h2,.manifesto h2{font-family:"Poiret One",sans-serif;font-weight:400;letter-spacing:-.025em}
.menu-contact,.menu-cta{display:none}

/* Homepage / desktop: proportions follow the supplied 1440px composition. */
.home-page .site-header{position:absolute;inset:0 0 auto;z-index:90;background:transparent;pointer-events:none}
.home-page .site-header .brand,.home-page .site-header .site-menu{display:none}
.home-page .site-footer{background:#4a443b}
.home-hero{width:min(1240px,100%);height:710px;margin:0 auto;position:relative;overflow:hidden;background:#332f29}
.home-hero>.home-hero__media{position:absolute;left:150px;right:0;top:0;bottom:0;max-width:none;overflow:hidden;transform:none}
.home-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.77) saturate(.86);transform:scale(1.02)}
.home-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,31,27,.2),transparent 65%)}
.home-hero>.home-hero__panel{position:absolute;left:242px;top:205px;width:530px;max-width:none;min-height:250px;padding:48px 50px 38px;background:rgba(91,82,72,.82);display:flex;flex-direction:column;align-items:flex-start;transform:none}
.home-hero__panel h1{max-width:none;margin:0 0 16px;font-family:"Poiret One",sans-serif;font-size:43px;line-height:1.03;font-weight:400;text-transform:uppercase;letter-spacing:-.035em;white-space:nowrap}
.home-hero__panel p{margin:0;font-size:12px;letter-spacing:.02em}
.home-hero__panel .button{margin-top:auto;font-size:11px;min-height:32px}
.home-dots{position:absolute;left:60px;top:290px;display:flex;flex-direction:column;gap:28px;z-index:2}
.home-dots a{display:block;width:10px;height:10px;border-radius:50%;background:#f5f1ea;position:relative}
.home-dots a.is-active:before{content:"";position:absolute;inset:-8px;border:1px solid rgba(255,255,255,.62);border-radius:50%}
.home-dots a span{position:absolute;left:27px;top:-4px;font-size:11px;white-space:nowrap;opacity:.72}

.home-about{min-height:630px;padding:100px 70px 70px;grid-template-columns:90px 340px 1fr;grid-template-rows:1fr auto;column-gap:75px;align-items:center;overflow:hidden}
.home-about:before{content:"";position:absolute;width:760px;height:760px;border:1px solid rgba(230,222,210,.12);border-radius:50%;left:-70px;top:-15px;pointer-events:none}
.home-about .vertical-label{align-self:start;margin:30px 0 0;font-family:"Poiret One",sans-serif;font-size:29px;letter-spacing:0;text-transform:uppercase}
.portrait-ring{width:220px;height:220px;justify-self:center;position:relative;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:grid;place-items:center}
.portrait-ring:before{content:"";position:absolute;inset:-38px;border:1px dashed rgba(255,255,255,.34);border-radius:50%}
.portrait-ring img{width:130px;height:130px;border-radius:50%;object-fit:cover;object-position:center 20%}
.portrait-ring span{position:absolute;width:290px;text-align:center;left:-35px;bottom:-68px;font-size:10px;letter-spacing:.35em;text-transform:lowercase;opacity:.7}
.home-about__copy{max-width:575px;justify-self:end;font-size:14px;line-height:1.55}
.home-about__copy p{margin:0 0 22px;opacity:.78}
.home-about .stat-row{grid-column:2/4;width:100%;align-self:end;margin-top:60px}
.home-about .stat-row p{text-align:center;align-items:center;margin:0}
.home-about .stat-row strong{font-family:"Poiret One",sans-serif;text-transform:uppercase;font-size:26px}
.home-about .stat-row i{display:block;width:28px;height:2px;background:#fff;margin:14px 0 17px}
.home-about .stat-row span{font-size:13px;opacity:.82}

.home-projects{height:690px;padding:0;position:relative;overflow:hidden;background:#2f2b26 url('../images/hero1.jpg') center/cover no-repeat}
.home-projects:before{content:"";position:absolute;inset:0;background:rgba(36,33,29,.53)}
.home-projects>.page-section{height:100%;padding-top:70px}
.home-projects .section-head{margin:0 0 180px;padding:0 55px}
.home-projects .section-head h2{font-size:40px;text-transform:uppercase}
.home-projects .section-head .button{font-size:11px}
.project-strip{width:1500px;margin-left:-170px;display:grid;grid-template-columns:repeat(5,260px);gap:28px;overflow:visible}
.project-strip a{height:300px;padding:0 32px 28px;display:flex;flex-direction:column;position:relative;overflow:visible;background:transparent;color:#fff}
.project-strip a.is-active{background:#81776b}
.project-strip__line{display:block;width:100%;height:3px;background:#fff;margin-bottom:24px}
.project-strip b{font-family:"Poiret One",sans-serif;font-size:30px;font-weight:400;line-height:1}
.project-strip i{width:28px;height:2px;background:#fff;margin:13px 0 36px}
.project-strip strong{font-size:15px;font-weight:600}
.project-strip small{margin-top:16px;font-size:12px;line-height:1.45;opacity:.85}
.project-strip em{margin-top:auto;font-style:normal;font-size:18px}
.manifesto{min-height:520px;padding:128px 0 100px}
.manifesto:before{content:"";position:absolute;width:720px;height:720px;border:1px solid rgba(230,222,210,.11);border-radius:50%;left:50%;top:-70px;transform:translateX(-50%)}
.manifesto p,.manifesto h2,.manifesto .button{position:relative}
.manifesto h2{font-size:51px;text-transform:uppercase;line-height:1.08;margin-top:34px}
.manifesto .button{margin-left:640px}
.home-blog{padding:70px 0 100px}
.home-blog .section-head{padding:0 55px}
.home-blog .section-head h2{font-size:42px;text-transform:uppercase}
.blog-grid--home{gap:24px;padding:0 55px}
.blog-grid--home .blog-card{height:360px;min-height:0}
.blog-grid--home .blog-card img{height:210px}

@media(max-width:620px){
  body{font-family:Geist,"Helvetica Neue",Arial,sans-serif;background:#4a443b}
  body:before{opacity:.08}
  .site-header{position:absolute;inset:0 0 auto;height:64px;justify-content:flex-end;z-index:120;pointer-events:none}
  .site-header .brand{display:none}
  .menu-button{display:block;position:relative;z-index:3;pointer-events:auto;background:rgba(66,60,52,.34);backdrop-filter:blur(8px)}
  .menu-button[aria-expanded=true]{position:fixed;right:16px;top:11px;border-color:#9d958a}
  .menu-button[aria-expanded=true] span:not(.sr-only){background:#554f47}
  .menu-button[aria-expanded=true] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
  .menu-button[aria-expanded=true] span:nth-child(2){opacity:0}
  .menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
  .site-menu{position:fixed;inset:0;width:100%;min-height:100svh;padding:120px 26px 0;display:none;gap:25px;background:#f2f1ef;color:#716a62;box-shadow:none;font-family:"Poiret One",sans-serif;font-size:25px;text-transform:uppercase;overflow:auto;pointer-events:auto}
  .site-menu.is-open{display:flex}
  .site-menu>a:not(.menu-cta):before{content:"•";margin-right:18px;color:#a79782}
  .site-menu .menu-cta{display:flex;min-height:86px;margin:15px -26px 0;padding:0 26px;align-items:center;justify-content:center;border-top:1px solid #d9d3cc;border-bottom:1px solid #d9d3cc;font-family:Geist,sans-serif;font-size:13px;text-transform:none;font-weight:600}
  .menu-contact{display:grid;grid-template-columns:1fr 1fr;gap:25px 18px;margin:0 -26px;padding:45px 26px 35px;background:#f2f1ef url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="300"%3E%3Ccircle cx="260" cy="70" r="190" fill="none" stroke="%23ded9d3" stroke-width="1"/%3E%3C/svg%3E') center/cover no-repeat;font-family:Geist,sans-serif;font-size:10px;text-transform:none}
  .menu-contact p{margin:0}.menu-contact b{display:block;margin-bottom:14px;font-size:10px}.menu-contact a{font-family:Geist,sans-serif;font-size:10px;text-transform:none}
  .home-page .site-header{position:absolute;height:64px;pointer-events:none}.home-page .site-header .menu-button{display:block}.home-page .site-header .site-menu.is-open{display:flex}
  .home-hero{width:100%;height:470px;margin:0}
  .home-hero>.home-hero__media{inset:0}
  .home-hero__media img{object-position:center;filter:brightness(.73) saturate(.84)}
  .home-hero>.home-hero__panel{left:18px;right:46px;top:145px;width:auto;min-height:180px;padding:27px 24px 22px;background:rgba(82,74,65,.77)}
  .home-hero__panel h1{font-size:29px;line-height:1.02;margin-bottom:10px}
  .home-hero__panel p{font-size:8px}
  .home-hero__panel .button{font-size:9px;min-height:26px}
  .home-dots{display:none}
  .home-about{width:100%;min-height:650px;padding:70px 18px 55px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto auto;gap:25px 15px}
  .home-about:before{width:430px;height:430px;left:-190px;top:20px}
  .home-about .vertical-label{grid-row:1/3;writing-mode:vertical-rl;margin:0;font-size:23px}
  .portrait-ring{width:145px;height:145px;justify-self:center}
  .portrait-ring:before{inset:-24px}.portrait-ring img{width:84px;height:84px}.portrait-ring span{display:none}
  .home-about__copy{grid-column:2;font-size:10px;line-height:1.48}
  .home-about__copy p{margin-bottom:15px}
  .home-about .stat-row{grid-column:1/-1;width:100%;gap:8px;margin-top:5px}
  .home-about .stat-row strong{font-size:20px}.home-about .stat-row i{width:20px;margin:9px 0 11px}.home-about .stat-row span{font-size:9px}
  .home-projects{height:570px;background-position:center}
  .home-projects>.page-section{width:100%;padding:42px 18px 0}
  .home-projects .section-head{padding:0;margin-bottom:145px}
  .home-projects .section-head h2{font-size:29px}.home-projects .section-head .button{font-size:9px}
  .project-strip{display:block;width:auto;margin:0}
  .home-projects .project-strip a:not(.is-active){display:none}
  .project-strip a.is-active{width:100%;height:245px;padding:20px 22px;background:#81776b;display:flex}
  .project-strip__line{display:none}.project-strip b{font-size:25px}.project-strip i{margin:10px 0 23px}.project-strip strong{font-size:12px}.project-strip small{font-size:9px}.project-strip em{font-size:14px}
  .manifesto{min-height:360px;padding:74px 16px 55px}
  .manifesto:before{width:390px;height:390px;top:-25px}
  .manifesto>p{font-size:9px}.manifesto h2{font-size:27px;line-height:1.08;margin:25px 0 32px}.manifesto .button{margin:0;font-size:9px}
  .home-blog{padding:45px 0 65px;width:100%}
  .home-blog .section-head{padding:0 18px;margin-bottom:25px}.home-blog .section-head h2{font-size:30px}
  .blog-grid--home{margin:0;padding:0 18px;gap:12px}
  .blog-grid--home .blog-card{min-width:76vw;height:395px}
  .blog-grid--home .blog-card img{height:225px}
  .home-page .site-footer{width:calc(100% - 36px)}
}
body.menu-open{overflow:hidden}
.project-color-page{background:var(--project-bg);color:var(--project-fg);transition:background-color .45s ease,color .25s ease}
.project-color-page:before{opacity:.09}
.project-color-page .site-header,.project-color-page .site-footer{color:var(--project-fg)}
.project-color-page .prose h2:after{content:"";display:block;width:56px;height:2px;margin-top:18px;background:var(--project-accent)}
.portfolio-card{background:var(--card-bg,#4a443b);color:var(--card-fg,#f2eee7)}
.portfolio-card__overlay{color:var(--card-fg,#f2eee7)}
.portfolio-card:first-child .portfolio-card__overlay{background:var(--card-bg,#7e7468)}
.portfolio-card__overlay i{color:var(--card-accent,#fff)}
.project-strip a.is-active{background:var(--card-bg,#81776b);color:var(--card-fg,#fff)}
.project-strip a.is-active i,.project-strip a.is-active .project-strip__line{background:var(--card-accent,#fff)}

/* Hero navigation labels are revealed deliberately on pointer or keyboard focus. */
.home-dots a{transition:background-color .2s ease,transform .2s ease}
.home-dots a span{opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.home-dots a:hover,.home-dots a:focus-visible{transform:scale(1.12)}
.home-dots a:hover span,.home-dots a:focus-visible span{opacity:1;transform:translateX(0)}

/* Every portfolio item can become the highlighted card. */
.project-strip a{transition:background-color .28s ease,color .28s ease,transform .28s ease}
.project-strip a:hover,.project-strip a:focus-visible,.project-strip a.is-active{background:var(--card-bg,#81776b);color:var(--card-fg,#fff)}
.project-strip a:hover i,.project-strip a:hover .project-strip__line,
.project-strip a:focus-visible i,.project-strip a:focus-visible .project-strip__line,
.project-strip a.is-active i,.project-strip a.is-active .project-strip__line{background:var(--card-accent,#fff)}
.project-slider-controls{display:none}

/* Quiet, persistent audio control. Playback always starts after user action. */
.ambient-player{position:fixed;right:24px;bottom:24px;z-index:180}
.ambient-player__button{min-width:116px;height:44px;padding:0 16px;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.35);border-radius:24px;background:rgba(53,49,43,.78);color:#f3efe8;box-shadow:0 8px 30px rgba(0,0,0,.18);backdrop-filter:blur(12px);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.ambient-player__button:hover{background:rgba(72,66,58,.92);border-color:rgba(255,255,255,.65);transform:translateY(-1px)}
.ambient-player__label{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ambient-player__icon{width:18px;height:16px;display:flex;align-items:center;justify-content:center;gap:3px}
.ambient-player__icon i{display:block;width:2px;height:5px;background:currentColor;transform-origin:center;transition:height .2s ease}
.ambient-player__icon i:nth-child(2){height:11px}
.ambient-player__button[aria-pressed="true"] .ambient-player__icon i{animation:ambient-wave .85s ease-in-out infinite alternate}
.ambient-player__button[aria-pressed="true"] .ambient-player__icon i:nth-child(2){animation-delay:-.35s}
.ambient-player__button[aria-pressed="true"] .ambient-player__icon i:nth-child(3){animation-delay:-.6s}
@keyframes ambient-wave{from{height:4px}to{height:14px}}

@media(max-width:620px){
  .home-projects{height:600px}
  .home-projects .section-head{margin-bottom:120px}
  .project-strip{display:flex;width:calc(100% + 18px);margin:0;padding:0 18px 4px 0;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
  .project-strip::-webkit-scrollbar{display:none}
  .home-projects .project-strip a,.home-projects .project-strip a:not(.is-active){display:flex;flex:0 0 calc(100% - 42px);width:auto;height:245px;padding:20px 22px;background:var(--card-bg,#81776b);color:var(--card-fg,#fff);scroll-snap-align:start;scroll-snap-stop:always}
  .home-projects .project-strip a i,.home-projects .project-strip a .project-strip__line{background:var(--card-accent,#fff)}
  .project-slider-controls{height:45px;margin-top:15px;display:flex;align-items:center;justify-content:center;gap:18px}
  .project-slider-controls button{width:38px;height:38px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(60,55,48,.42);color:#fff;cursor:pointer}
  .project-slider-status{min-width:48px;text-align:center;font-size:10px;letter-spacing:.12em}
  .ambient-player{right:14px;bottom:14px}
  .ambient-player__button{min-width:44px;width:44px;padding:0;justify-content:center}
  .ambient-player__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}

@media(prefers-reduced-motion:reduce){.ambient-player__button[aria-pressed="true"] .ambient-player__icon i{animation:none}}

/* Homepage matched to the approved live reference. */
html:has(.home-page){overflow-x:clip}
.home-page{max-width:100%;overflow-x:clip;background:#3f3b32}
.home-page main{max-width:100%;overflow-x:clip}
.home-page:before{opacity:.48;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.6667% - .5px),rgba(242,238,231,.15) calc(16.6667% - .5px),rgba(242,238,231,.15) calc(16.6667% + .5px),transparent calc(16.6667% + .5px),transparent 16.6667%)}
.home-hero{width:100%;height:800px;min-height:0;background:#39362d}
.home-hero>.home-hero__media{left:116px;right:0}
.home-hero__media img{object-position:center bottom;transform:none;filter:brightness(.8) saturate(.86)}
.home-hero__media:after{background:linear-gradient(90deg,rgba(40,37,31,.38),transparent 48%)}
.home-hero>.home-hero__panel{left:calc(200px + 8.4vw);top:200px;width:610px;min-height:520px;padding:0;display:block;background:transparent}
.home-hero__panel h1{font-size:48px;line-height:1.12;letter-spacing:.015em}
.home-hero__panel p{margin-top:20px;font-size:16px;line-height:1.45;text-transform:none;letter-spacing:0}
.home-hero__panel .button{margin-top:250px;min-height:29px;font-size:14px;font-weight:600}
.home-dots{left:88px;top:305px;gap:26px}
.home-about{width:min(1180px,calc(100% - 116px));min-height:644px;padding:120px 0 58px;grid-template-columns:100px 250px 1fr;column-gap:70px}
.home-about .vertical-label{font-size:32px}
.portrait-ring{width:196px;height:196px}
.portrait-ring:before{inset:-1px;border-style:solid;opacity:.25}
.portrait-ring img{width:118px;height:118px}
.portrait-ring span{left:-30px;bottom:-52px;width:256px;line-height:1.5}
.home-about__copy{max-width:550px;font-size:16px;line-height:1.55}
.home-about .stat-row{margin-top:68px}
.home-about .stat-row strong{font-size:25px}
.home-about .stat-row span{font-size:18px;font-weight:500;opacity:.82}
.home-projects{height:700px}
.home-projects>.page-section{width:min(1180px,calc(100% - 116px));padding-top:92px}
.home-projects .section-head{margin-bottom:168px;padding:0}
.home-projects .section-head h2{font-size:35px}
.project-strip{grid-template-columns:repeat(5,266px);gap:20px}
.project-strip a{height:350px;padding:35px 28px}
.project-strip strong{font-size:18px;line-height:1.2}
.project-strip small{font-size:14px;line-height:1.55}
.manifesto{min-height:620px;padding:95px 0 130px}
.manifesto .manifesto-overline{font-size:16px}
.manifesto h2{margin-top:28px;font-size:48px;line-height:1.28}
.manifesto-bottom{position:relative;margin-top:64px;display:flex;align-items:center;justify-content:space-between;text-align:left}
.manifesto-bottom p{margin:0;font-size:20px;opacity:.38}
.manifesto .manifesto-bottom .button{margin:0}
.home-blog{width:min(1180px,calc(100% - 48px));padding:35px 0 72px}
.home-blog .section-head{padding:0;margin-bottom:56px}
.home-blog .section-head h2{font-size:35px}
.blog-grid--home{padding:0;gap:24px}

@media(max-width:991px){
  .home-hero>.home-hero__panel{left:28px;right:28px;top:120px;width:auto}
  .home-hero__panel h1{font-size:40px;white-space:normal}
  .home-hero__panel .button{margin-top:85px}
  .home-about{width:calc(100% - 48px)}
}

@media(max-width:620px){
  .home-page:before{background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.6667% - .5px),rgba(242,238,231,.12) calc(16.6667% - .5px),rgba(242,238,231,.12) calc(16.6667% + .5px),transparent calc(16.6667% + .5px),transparent 16.6667%)}
  .home-hero{height:735px}
  .home-hero>.home-hero__media{left:64px;right:0;inset-block:0}
  .home-hero__media img{object-position:52% bottom;filter:brightness(.79) saturate(.84)}
  .home-hero__media:after{inset:0;background:linear-gradient(90deg,rgba(48,44,37,.55),transparent 54%)}
  .home-hero>.home-hero__panel{left:28px;right:18px;top:160px;width:auto;min-height:0;padding:0;background:transparent}
  .home-hero__panel h1{max-width:345px;margin:0;font-size:31px;line-height:1.04;white-space:normal}
  .home-hero__panel p{max-width:340px;margin-top:24px;font-size:15px;line-height:1.45}
  .home-hero__panel .button{margin-top:60px;min-height:30px;font-size:14px}

  .home-about{width:100%;min-height:1170px;padding:25px 12px 88px;display:flex;flex-direction:column;align-items:stretch;gap:0}
  .home-about:before{width:520px;height:520px;left:-260px;top:-18px}
  .home-about .vertical-label{order:0;writing-mode:initial;margin:0;font-size:32px;line-height:1}
  .portrait-ring{order:1;width:196px;height:196px;margin:50px 0 62px 4px;justify-self:auto}
  .portrait-ring img{width:118px;height:118px}
  .portrait-ring:before{inset:-1px}
  .portrait-ring span{display:block;left:-22px;bottom:-42px;width:240px;font-size:9px;line-height:1.5}
  .home-about__copy{order:2;max-width:none;font-size:16px;line-height:1.55}
  .home-about__copy p{margin:0 0 24px}
  .home-about .stat-row{order:3;width:100%;margin:58px 0 0;display:flex;flex-direction:column;align-items:center;gap:52px}
  .home-about .stat-row p{width:100%;margin:0;align-items:center;text-align:center}
  .home-about .stat-row strong{font-size:25px}
  .home-about .stat-row i{width:31px;margin:13px 0 20px}
  .home-about .stat-row span{font-size:18px;font-weight:500}

  .home-projects{height:700px;background-position:center 31%}
  .home-projects>.page-section{width:100%;padding:70px 0 0 20px}
  .home-projects .section-head{margin:0 20px 120px 0;padding:0;display:block}
  .home-projects .section-head h2{font-size:30px}
  .home-projects .section-head .button{margin-top:22px;font-size:12px}
  .project-strip{width:100%;padding-right:20px;gap:20px}
  .home-projects .project-strip a,.home-projects .project-strip a:not(.is-active){flex:0 0 245px;width:245px;min-width:0;height:350px;padding:35px 28px;background:transparent;color:#fff}
  .home-projects .project-strip a.is-active{background:var(--card-bg,#81776b);color:var(--card-fg,#fff)}
  .project-strip__line{display:block;margin-bottom:24px}
  .project-strip b{font-size:26px}
  .project-strip i{margin:13px 0 40px}
  .project-strip strong{font-size:18px}
  .project-strip small{font-size:14px}
  .project-slider-controls{position:absolute;right:20px;bottom:17px;margin:0}

  .manifesto{width:100%;min-height:770px;padding:166px 12px 110px}
  .manifesto:before{width:610px;height:610px;top:40px}
  .manifesto .manifesto-overline{font-size:16px}
  .manifesto h2{margin-top:32px;font-size:34px;line-height:1.28}
  .manifesto-bottom{margin-top:88px;display:block}
  .manifesto-bottom p{font-size:20px;white-space:nowrap}
  .manifesto .manifesto-bottom .button{margin-top:36px;font-size:13px}

  .home-blog{width:100%;padding:35px 12px 78px}
  .home-blog .section-head{padding:0;margin:0 0 56px}
  .home-blog .section-head h2{font-size:30px}
  .blog-grid--home{margin:0 -12px;padding:0 12px;gap:24px}
  .blog-grid--home .blog-card{min-width:286px;height:390px}
  .blog-grid--home .blog-card img{height:210px}

  .home-page .site-footer{width:100%;min-height:760px;padding:52px 12px 30px;display:block}
  .home-page .site-footer .footer-socials{margin-bottom:64px;font-size:18px}
  .home-page .site-footer>div:not(.footer-socials){margin-bottom:54px}
  .home-page .site-footer b{font-size:14px}
  .home-page .site-footer div>span{width:27px;margin:10px 0 20px}
  .home-page .site-footer p{max-width:320px;font-size:16px;line-height:1.45}
  .home-page .site-footer small{display:block;margin-top:105px;font-size:11px}
}
