:root{--paper:#f6f0e6;--paper-deep:#eee5d6;--paper-light:#fffaf1;--ink:#191a18;--muted:#68645d;--line:#c9bdab;--sun:#bc7422;--sans:'Archivo',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--mono:'IBM Plex Mono',monospace;--pad:clamp(1.25rem,4vw,4.5rem);--wide:min(1440px,calc(100% - var(--pad)*2))}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body:has(.lightbox[open]){overflow:hidden}img{display:block;width:100%;max-width:100%}a{color:inherit}.skip-link{position:fixed;z-index:100;left:1rem;top:-4rem;background:var(--ink);color:var(--paper);padding:.7rem 1rem;transition:top .2s}.skip-link:focus{top:1rem}.site-header{position:fixed;display:flex;align-items:center;justify-content:space-between;z-index:40;top:0;left:0;right:0;padding:1.05rem var(--pad);color:var(--ink);mix-blend-mode:multiply;transition:background .4s,border-color .4s}.site-header.scrolled{background:rgba(246,240,230,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);mix-blend-mode:normal}.brand{text-decoration:none;display:block;z-index:2}.brand-mark,.footer-brand{font-family:var(--serif);font-weight:600;letter-spacing:.15em;font-size:1.75rem;line-height:.9}.brand-star,.footer-brand span{display:inline-block;color:var(--sun);font-family:Arial,sans-serif;font-size:.62em;vertical-align:top;margin:.02em 0 0 .22em}.brand-line{display:block;text-transform:uppercase;font:500 .55rem/1.2 var(--mono);letter-spacing:.17em;margin-top:.55rem}.main-nav{display:flex;align-items:center;gap:1.3rem}.main-nav a{font:500 .64rem var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.main-nav a span{color:var(--sun);margin-right:.27rem}.main-nav a:hover,.main-nav a:focus-visible{color:var(--sun)}.main-nav .nav-talk{border-bottom:1px solid var(--ink);padding-bottom:.32rem;margin-left:.6rem}.main-nav .nav-talk i{font-style:normal;color:var(--sun)}.menu-toggle{display:none;border:0;background:transparent;width:42px;height:42px;padding:10px 0;cursor:pointer;z-index:2}.menu-toggle span{display:block;width:29px;height:1px;background:var(--ink);margin:7px 0;transition:transform .3s}.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border-bottom:1px solid var(--line);background:var(--paper)}.hero-image{margin:0;grid-column:2;grid-row:1;position:relative;z-index:1;overflow:hidden}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(246,240,230,.22) 36%,transparent 70%),linear-gradient(0deg,rgba(246,240,230,.12),transparent 35%)}.hero-image img{height:100%;object-fit:cover;object-position:center 60%;filter:saturate(.87) contrast(.98)}.hero-sun{position:absolute;width:min(68vw,970px);aspect-ratio:1;right:-25vw;top:-30vw;border:1px solid rgba(188,116,34,.47);border-radius:50%;z-index:2;pointer-events:none}.hero-sun:after{content:'';position:absolute;inset:9%;border:1px solid rgba(188,116,34,.25);border-radius:50%}.hero-rule{position:absolute;z-index:3;left:calc(50% - 1px);top:0;bottom:0;border-left:1px solid rgba(201,189,171,.65)}.hero-copy{grid-column:1;grid-row:1;align-self:end;position:relative;z-index:5;padding:clamp(8.5rem,22vh,14rem) 0 clamp(4rem,8vw,7rem) var(--pad);max-width:min(68vw,780px)}.eyebrow,.section-number{font:500 .66rem/1.2 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--sun);margin:0}.hero h1,.manifesto h2,.sun-header h2,.index-heading h2,.project-intro h2,.project-header h2,.split-heading h2,.about h2,.contact h2{font-family:var(--serif);font-weight:500;letter-spacing:-.038em;line-height:.88;margin:0}.hero h1{font-size:clamp(4.4rem,8.2vw,9.5rem);max-width:8.1em;margin:1.8rem 0 2rem}.hero h1 em,.manifesto h2 em{font-weight:400;color:var(--sun)}.hero-lede{font-size:clamp(1rem,1.35vw,1.27rem);line-height:1.55;max-width:29rem;margin:0;color:#45433f}.hero-links{display:flex;gap:1.55rem;margin:2.6rem 0 0;flex-wrap:wrap}.text-link{font:500 .73rem var(--mono);letter-spacing:.09em;text-decoration:none;text-transform:uppercase;border-bottom:1px solid var(--ink);padding:0 0 .48rem}.text-link i{font-style:normal;color:var(--sun);margin-left:.55rem}.text-link:hover{color:var(--sun);border-color:var(--sun)}.hero-proof{font:500 .64rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:3.5rem 0 0;color:var(--muted)}.plate{font:500 .59rem/1.45 var(--mono);letter-spacing:.08em;text-transform:uppercase}.hero-plate{position:absolute;z-index:4;right:var(--pad);bottom:1.7rem;max-width:22rem;padding:.6rem .8rem .6rem 0;border-top:1px solid var(--line);color:var(--ink)}.hero-plate span{color:var(--sun);display:block;margin-bottom:.35rem}.hero-axis{position:absolute;z-index:5;left:var(--pad);right:var(--pad);bottom:1.7rem;display:flex;align-items:center;gap:.7rem;font:500 .55rem var(--mono);letter-spacing:.1em;color:var(--muted)}.hero-axis i{display:block;height:1px;background:var(--line);flex:1}.ruled-section,.manifesto,.project-intro,.contact{padding:clamp(5.5rem,11vw,11rem) var(--pad)}.manifesto{border-bottom:1px solid var(--line);position:relative}.section-number span{color:var(--muted)}.manifesto-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(17rem,.55fr);gap:clamp(3rem,10vw,13rem);margin-top:clamp(3.4rem,7vw,7.4rem);align-items:start}.manifesto h2{font-size:clamp(2.9rem,5.3vw,6.2rem);line-height:.97;max-width:10.5em}.manifesto-note{border-left:1px solid var(--line);padding-left:1.5rem;max-width:30rem}.manifesto-note p{font-size:.93rem;margin:0 0 1.2rem;color:#4a4842}.signature{font-family:var(--serif);font-size:1.37rem!important;font-style:italic;color:var(--ink)!important;line-height:1.15}.sun-section{padding:clamp(5.5rem,10vw,10.5rem) 0 0;overflow:hidden}.sun-header{width:min(670px,calc(100% - var(--pad)*2));margin:0 auto;text-align:center}.sun-header h2{font-size:clamp(3.7rem,7vw,7.5rem);margin:1.8rem 0 1.7rem}.sun-header>p:last-child{font-size:1rem;color:#494740;margin:0 auto;max-width:39rem}.sun-path{margin:clamp(4rem,8vw,8rem) 0 0;position:relative}.sun-path svg{width:100%;height:auto;display:block;overflow:visible}.sun-horizon{stroke:var(--line);stroke-width:1}.sun-curve{fill:none;stroke:var(--sun);stroke-width:1.4;stroke-dasharray:3 9}.sun-point,.sun-big{fill:var(--paper);stroke:var(--sun);stroke-width:1.4}.sun-ray{stroke:var(--sun);stroke-width:1.3}.sun-path-label{position:absolute;font:500 .56rem var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;bottom:16%;z-index:1}.label-a{left:6%}.label-b{left:49%;bottom:73%}.label-c{right:6%}.sun-path figcaption{width:min(1190px,calc(100% - var(--pad)*2));margin:.4rem auto 0;display:flex;justify-content:space-between;font:500 .6rem var(--mono);color:var(--sun);letter-spacing:.1em}.sun-notes{width:var(--wide);margin:clamp(3rem,7vw,6rem) auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.sun-notes article{padding:1.5rem 2rem 0 0;min-height:15rem;border-right:1px solid var(--line)}.sun-notes article+article{padding-left:2rem}.sun-notes article:last-child{border:0}.time{font:500 .61rem var(--mono);color:var(--sun);letter-spacing:.08em;margin:0 0 .7rem;text-transform:uppercase}.sun-notes h3{font:500 1.68rem/1 var(--serif);margin:0 0 1rem}.sun-notes p:last-child{color:var(--muted);font-size:.88rem;line-height:1.58;margin:0}.house-index{border-top:1px solid var(--line);margin-top:clamp(5rem,11vw,11rem)}.index-heading,.split-heading{display:grid;grid-template-columns:1.25fr .65fr;gap:clamp(3rem,12vw,14rem);align-items:end;margin-bottom:clamp(3.2rem,7vw,7rem)}.index-heading h2,.split-heading h2{font-size:clamp(3.6rem,6.8vw,8rem);margin-top:1.6rem}.index-heading>p,.split-heading>p{margin:0;max-width:28rem;color:var(--muted);font-size:.97rem}.index-heading>p a{color:var(--sun);text-decoration-thickness:1px;text-underline-offset:3px}.house-ledger{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.house-ledger li{border-bottom:1px solid var(--line)}.house-ledger a{min-height:7rem;display:grid;grid-template-columns:5rem minmax(17rem,1.6fr) 1fr 10.7rem 5.3rem 2.2rem;align-items:center;gap:1rem;text-decoration:none;padding:.7rem 0;transition:padding .35s}.ledger-no,.ledger-count{font:500 .62rem var(--mono);color:var(--sun);letter-spacing:.08em}.ledger-title{font:500 clamp(2rem,3.5vw,4rem)/.9 var(--serif);letter-spacing:-.03em}.ledger-meta{font-size:.83rem;color:var(--muted)}.house-ledger figure{margin:0;width:10.7rem;height:4.6rem;overflow:hidden;position:relative}.house-ledger figure:after{content:'';position:absolute;inset:0;background:rgba(255,250,241,.08)}.house-ledger figure img{height:100%;object-fit:cover;transition:transform .55s}.house-ledger figcaption{position:absolute;left:.5rem;bottom:.38rem;color:#fff;font:500 .52rem var(--mono);letter-spacing:.1em;text-transform:uppercase;z-index:1;text-shadow:0 1px 5px #000}.house-ledger b{font:400 1.2rem/1 var(--serif);color:var(--sun);transition:transform .3s}.house-ledger a:hover,.house-ledger a:focus-visible{padding-left:.7rem;background:rgba(255,255,255,.23)}.house-ledger a:hover figure img,.house-ledger a:focus-visible figure img{transform:scale(1.07)}.house-ledger a:hover b{transform:translate(4px,4px)}.index-footnote{font:400 .75rem/1.55 var(--mono);letter-spacing:.02em;color:var(--muted);max-width:52rem;margin:2.4rem 0 0}.project-intro{display:grid;grid-template-columns:1.15fr .75fr;gap:clamp(3rem,12vw,14rem);border-top:1px solid var(--line);align-items:end}.project-intro h2{font-size:clamp(3.5rem,6.2vw,7.5rem);margin-top:1.6rem}.project-intro>p{max-width:29rem;color:var(--muted);margin:0}.projects{padding:0 var(--pad)}.project{border-top:1px solid var(--ink);padding:clamp(4.2rem,8vw,8rem) 0}.project-header{display:grid;grid-template-columns:6rem minmax(18rem,1.3fr) minmax(13rem,.7fr);gap:1rem;align-items:start;margin-bottom:clamp(2.8rem,5vw,5rem)}.project-no{font:500 .62rem var(--mono);color:var(--sun);padding-top:.6rem;letter-spacing:.1em}.project-header h2{font-size:clamp(4rem,7vw,8.4rem)}.project-header p{max-width:24rem;margin:.55rem 0 1.7rem;color:var(--muted);font-size:.84rem}.project-header a{grid-column:3;font:500 .61rem var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:.5rem;justify-self:start}.project-header a:hover{color:var(--sun);border-color:var(--sun)}.project-story{display:grid;grid-template-columns:minmax(16rem,.62fr) minmax(0,1.38fr);gap:clamp(2.3rem,7vw,8.5rem);align-items:start}.story-copy{font-size:.95rem;color:#48463f;max-width:30rem}.story-copy>p:first-child{margin-top:0}.story-copy p{margin:0 0 1.45rem}.light-note{border-top:1px solid var(--sun);margin:2.4rem 0 0;padding:1rem 0 0;display:flex;gap:.75rem;color:var(--ink)}.light-note span{color:var(--sun);font-size:1.25rem;line-height:1}.light-note p{font-size:.81rem;line-height:1.55;margin:0}.light-note strong{font-weight:600}.gallery{display:grid;gap:.55rem;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(3.2rem,7vw,8rem)}.gallery-image{padding:0;border:0;background:var(--paper-deep);position:relative;overflow:hidden;cursor:zoom-in;min-width:0}.gallery-image img{height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1),filter .4s}.gallery-image:hover img,.gallery-image:focus-visible img{transform:scale(1.04);filter:brightness(.92)}.gallery-image:focus-visible{outline:1px solid var(--sun);outline-offset:3px}.gallery-image span{position:absolute;left:.55rem;bottom:.38rem;color:white;font:500 .54rem var(--mono);letter-spacing:.07em;text-shadow:0 1px 5px #000}.gallery-gazing .main{grid-column:span 6;grid-row:span 3}.gallery-gazing .gallery-image:nth-child(2){grid-column:span 2;grid-row:span 3}.gallery-gazing .gallery-image:nth-child(3){grid-column:span 4;grid-row:span 2}.gallery-gazing .gallery-image:nth-child(4){grid-column:span 2;grid-row:span 2}.gallery-gazing .gallery-image:nth-child(5){grid-column:span 2;grid-row:span 2}.gallery-gazing .gallery-image:nth-child(6){grid-column:span 2;grid-row:span 2}.outin .project-story{grid-template-columns:minmax(0,1.38fr) minmax(16rem,.62fr)}.outin .story-copy{order:2;margin-left:auto}.outin .gallery{order:1}.gallery-outin .main{grid-column:span 4;grid-row:span 4}.gallery-outin .gallery-image:nth-child(2){grid-column:span 2;grid-row:span 4}.gallery-outin .gallery-image:nth-child(3){grid-column:span 3;grid-row:span 2}.gallery-outin .gallery-image:nth-child(4){grid-column:span 3;grid-row:span 2}.gallery-outin .gallery-image:nth-child(5){grid-column:span 2;grid-row:span 2}.gallery-outin .gallery-image:nth-child(6){grid-column:span 2;grid-row:span 2}.fivesix .project-header{grid-template-columns:6rem minmax(18rem,1.05fr) minmax(13rem,.95fr)}.gallery-fivesix .main{grid-column:span 3;grid-row:span 4}.gallery-fivesix .gallery-image:nth-child(2){grid-column:span 3;grid-row:span 2}.gallery-fivesix .gallery-image:nth-child(3){grid-column:span 2;grid-row:span 3}.gallery-fivesix .gallery-image:nth-child(4){grid-column:span 2;grid-row:span 3}.gallery-fivesix .gallery-image:nth-child(5){grid-column:span 2;grid-row:span 3}.gallery-fivesix .gallery-image:nth-child(6){grid-column:span 3;grid-row:span 2}.flipped .project-story{grid-template-columns:minmax(0,1.5fr) minmax(16rem,.5fr)}.flipped .story-copy{order:2;margin-left:auto}.flipped .gallery{order:1}.gallery-flipped .main{grid-column:span 3;grid-row:span 4}.gallery-flipped .gallery-image:nth-child(2){grid-column:span 1;grid-row:span 4}.gallery-flipped .gallery-image:nth-child(3){grid-column:span 2;grid-row:span 4}.gallery-flipped .gallery-image:nth-child(4){grid-column:span 2;grid-row:span 2}.gallery-flipped .gallery-image:nth-child(5){grid-column:span 2;grid-row:span 2}.gallery-flipped .gallery-image:nth-child(6){grid-column:span 2;grid-row:span 2}.gallery-separation .main{grid-column:span 6;grid-row:span 3}.gallery-separation .gallery-image:nth-child(2){grid-column:span 2;grid-row:span 2}.gallery-separation .gallery-image:nth-child(3){grid-column:span 2;grid-row:span 2}.gallery-separation .gallery-image:nth-child(4){grid-column:span 2;grid-row:span 2}.gallery-separation .gallery-image:nth-child(5){grid-column:span 4;grid-row:span 2}.gallery-separation .gallery-image:nth-child(6){grid-column:span 2;grid-row:span 2}.mask .project-story{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr)}.mask .story-copy{order:2;margin-left:auto}.mask .gallery{order:1}.gallery-mask .main{grid-column:span 4;grid-row:span 4}.gallery-mask .gallery-image:nth-child(2){grid-column:span 2;grid-row:span 4}.gallery-mask .gallery-image:nth-child(3){grid-column:span 3;grid-row:span 2}.gallery-mask .gallery-image:nth-child(4){grid-column:span 3;grid-row:span 2}.gallery-mask .gallery-image:nth-child(5){grid-column:span 2;grid-row:span 2}.gallery-mask .gallery-image:nth-child(6){grid-column:span 2;grid-row:span 2}.interlude{position:relative;margin:0;height:min(75vw,780px);overflow:hidden}.interlude:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,26,24,.3),transparent 42%)}.interlude img{height:100%;object-fit:cover;object-position:center}.interlude figcaption{position:absolute;z-index:2;left:var(--pad);bottom:1.5rem;color:#fff;font:500 .6rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.services{border-top:1px solid var(--line)}.services-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}.services-list article{padding:1.7rem 2rem 0 0;min-height:20rem;border-right:1px solid var(--line)}.services-list article+article{padding-left:2rem}.services-list article:last-child{border:0}.services-list span,.process span{display:block;font:500 .6rem var(--mono);color:var(--sun);letter-spacing:.1em}.services-list h3{font:500 clamp(2rem,3vw,3.7rem)/.95 var(--serif);letter-spacing:-.03em;margin:1.2rem 0 1.2rem}.services-list p,.process p{font-size:.87rem;color:var(--muted);max-width:24rem;margin:0}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);margin-top:clamp(4rem,8vw,7rem)}.process article{padding:1.3rem 1.35rem 0 0;min-height:12rem;border-right:1px solid var(--line)}.process article+article{padding-left:1.35rem}.process article:last-child{border:0}.process h3{font:500 1.35rem/1 var(--serif);margin:.85rem 0}.about{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(20rem,1fr);gap:clamp(3rem,11vw,13rem);border-top:1px solid var(--line);align-items:center}.about figure{margin:0;position:relative}.about figure:after{content:'';position:absolute;right:-.8rem;top:-.8rem;width:42%;height:42%;border-top:1px solid var(--sun);border-right:1px solid var(--sun);pointer-events:none}.about img{aspect-ratio:4/5;object-fit:cover}.about figcaption{font:500 .57rem var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-top:.8rem}.about h2{font-size:clamp(4rem,6.5vw,7.5rem);margin:1.6rem 0 2.3rem}.about-copy>p{max-width:37rem;color:var(--muted);font-size:.95rem}.about-copy .section-number{color:var(--sun)}.about blockquote{font:400 clamp(1.8rem,2.7vw,3.1rem)/1.05 var(--serif);letter-spacing:-.025em;margin:2.8rem 0;padding:0 0 0 1.2rem;border-left:2px solid var(--sun);max-width:21em}.about .signature{margin-top:1.7rem;color:var(--ink)}.press{border-top:1px solid var(--line)}.press-list{border-top:1px solid var(--ink)}.press-list a{display:grid;grid-template-columns:4rem minmax(12rem,.65fr) minmax(18rem,1.25fr) 10rem;gap:1rem;align-items:baseline;padding:1.55rem 0;text-decoration:none;border-bottom:1px solid var(--line);transition:padding .35s,background .35s}.press-list a:hover,.press-list a:focus-visible{padding-left:.7rem;background:rgba(255,255,255,.2)}.press-list span,.press-list i{font:500 .58rem var(--mono);letter-spacing:.07em;color:var(--sun);font-style:normal}.press-list strong{font:500 1.55rem/1 var(--serif)}.press-list p{font-size:.86rem;color:var(--muted);margin:0}.contact{position:relative;border-top:1px solid var(--line);overflow:hidden}.contact-sun{position:absolute;width:min(56vw,660px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(188,116,34,.5);right:-23vw;top:5rem}.contact-sun:after{content:'';position:absolute;inset:12%;border-radius:50%;border:1px solid rgba(188,116,34,.25)}.contact header{position:relative;z-index:1;width:min(760px,100%)}.contact h2{font-size:clamp(4rem,7vw,8rem);margin:1.6rem 0 1.8rem}.contact header>p:last-child{max-width:34rem;color:var(--muted);margin:0}.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:.72fr 1fr;gap:clamp(4rem,13vw,15rem);margin-top:clamp(4rem,8vw,7rem)}.contact-details{border-top:1px solid var(--ink);margin:0}.contact-details div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.95rem 0}.contact-details dt{font:500 .6rem var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.contact-details dd{margin:0;text-align:right;font-size:.87rem}.contact-details a{text-decoration:none}.contact-details a:hover{color:var(--sun)}form{display:grid;gap:1.55rem}label{display:grid;gap:.65rem;font:500 .61rem var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}input,textarea,select{appearance:none;-webkit-appearance:none;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:.7rem 0;color:var(--ink);font:400 1rem var(--sans);outline:none;resize:vertical}select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 7l6 6 6-6' fill='none' stroke='%23191a18' stroke-width='1'/%3E%3C/svg%3E") no-repeat right .4rem center/1rem}input:focus,textarea:focus,select:focus{border-bottom:2px solid var(--sun)}textarea{min-height:7.3rem}.submit-link{width:max-content;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:0 0 .55rem;font:500 .69rem var(--mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;color:var(--ink)}.submit-link span{color:var(--sun);font-size:1.15em;margin-left:.45rem}.submit-link:hover{color:var(--sun);border-color:var(--sun)}.form-note{font-size:.76rem;color:var(--muted);line-height:1.6;margin:0}.form-note a{text-underline-offset:2px}footer{border-top:1px solid var(--line);padding:4.5rem var(--pad) 2rem}.footer-grid{width:var(--wide);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem}.footer-brand{font-size:clamp(4rem,8vw,8rem);text-decoration:none}.footer-grid>div>p{font:500 .62rem var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:.9rem 0}.footer-grid nav{display:flex;flex-wrap:wrap;gap:.85rem 1.7rem;align-items:start}.footer-grid nav a{font-size:.83rem;text-decoration:none}.footer-grid nav a:hover{color:var(--sun)}.footer-meta{font:400 .62rem/1.6 var(--mono);letter-spacing:.04em;color:var(--muted);grid-column:1/-1;border-top:1px solid var(--line);padding-top:1rem;margin:0}.mobile-actions{display:none}.lightbox{width:100%;height:100%;max-width:none;max-height:none;border:0;padding:clamp(1rem,4vw,4rem);background:rgba(246,240,230,.98);color:var(--ink)}.lightbox::backdrop{background:rgba(246,240,230,.85)}.lightbox figure{margin:0 auto;width:min(100%,1020px);height:100%;display:flex;flex-direction:column;justify-content:center}.lightbox img{width:100%;max-height:calc(100vh - 10rem);object-fit:contain}.lightbox figcaption{display:flex;justify-content:space-between;gap:2rem;align-items:baseline;padding-top:1rem;border-top:1px solid var(--line);margin-top:.8rem}.lightbox figcaption p{font:500 .6rem var(--mono);color:var(--sun);letter-spacing:.1em;margin:0}.lightbox h2{font:500 1.4rem/1 var(--serif);margin:0}.lightbox-close,.lightbox-nav{border:0;background:transparent;color:var(--ink);cursor:pointer;position:absolute;font:400 2rem/1 var(--serif)}.lightbox-close{top:1.25rem;right:var(--pad);font-family:Arial,sans-serif;font-weight:200}.lightbox-nav{top:50%;transform:translateY(-50%);font-size:2.3rem}.lightbox-nav.prev{left:var(--pad)}.lightbox-nav.next{right:var(--pad)}.lightbox-close:hover,.lightbox-nav:hover{color:var(--sun)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .85s ease,transform .85s cubic-bezier(.22,1,.36,1)}.reveal.in{opacity:1;transform:none}@media(max-width:980px){.main-nav{gap:.8rem}.main-nav a{font-size:.57rem}.house-ledger a{grid-template-columns:3.2rem minmax(12rem,1.4fr) .8fr 8.3rem 4.3rem 1rem}.house-ledger figure{width:8.3rem}.project-story,.outin .project-story,.flipped .project-story,.mask .project-story{grid-template-columns:minmax(14rem,.72fr) minmax(0,1.28fr)}.outin .story-copy,.flipped .story-copy,.mask .story-copy{order:0;margin:0}.outin .gallery,.flipped .gallery,.mask .gallery{order:0}.project-header{grid-template-columns:4rem minmax(18rem,1.3fr) minmax(12rem,.7fr)}.contact-grid{gap:4rem}}@media(max-width:900px){:root{--pad:1.25rem}.site-header{padding-top:.9rem;padding-bottom:.9rem;mix-blend-mode:normal}.site-header.scrolled{background:rgba(246,240,230,.95)}.brand-mark{font-size:1.5rem}.brand-line{font-size:.5rem;margin-top:.4rem}.menu-toggle{display:block}.menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{position:fixed;inset:0;background:var(--paper);padding:7.2rem var(--pad) 2rem;display:flex;flex-direction:column;align-items:flex-start;gap:0;transform:translateX(100%);transition:transform .4s cubic-bezier(.22,1,.36,1)}.main-nav.open{transform:none}.main-nav a{font:500 1.65rem/1.1 var(--serif);letter-spacing:-.02em;text-transform:none;width:100%;border-bottom:1px solid var(--line);padding:1rem 0}.main-nav a span{font:500 .53rem var(--mono);letter-spacing:.08em}.main-nav .nav-talk{margin:1.2rem 0 0;width:auto;border-bottom:1px solid var(--ink);font:500 .68rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.hero{min-height:100svh;display:block}.hero-image{position:absolute;inset:0}.hero-image:after{background:linear-gradient(0deg,var(--paper) 6%,rgba(246,240,230,.88) 41%,rgba(246,240,230,.24) 100%)}.hero-image img{opacity:.62}.hero-sun{width:120vw;right:-49vw;top:-47vw}.hero-rule{left:var(--pad)}.hero-copy{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:8rem var(--pad) 4.2rem}.hero h1{font-size:clamp(4rem,18vw,6.4rem);margin:1.4rem 0 1.4rem}.hero-lede{max-width:23rem}.hero-links{margin-top:2rem}.hero-proof{margin-top:2.3rem}.hero-plate{display:none}.hero-axis{bottom:1.45rem;left:var(--pad);right:var(--pad)}.manifesto-layout,.index-heading,.split-heading,.project-intro,.about,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.manifesto h2{font-size:clamp(2.9rem,11vw,4.5rem)}.manifesto-note{padding-left:1rem}.sun-header h2{font-size:clamp(3.6rem,15vw,5.6rem)}.sun-path{margin-top:3.5rem}.sun-path svg{width:175%;margin-left:-37.5%;height:12rem}.label-a{left:3%}.label-b{bottom:80%}.label-c{right:3%}.sun-notes{grid-template-columns:1fr;border:0;margin-top:2.5rem}.sun-notes article,.sun-notes article+article{border-top:1px solid var(--line);border-right:0;min-height:0;padding:1.4rem 0}.index-heading h2,.split-heading h2,.project-intro h2{font-size:clamp(3.5rem,14vw,5.3rem)}.house-ledger a{grid-template-columns:2.2rem 1fr 4.2rem 1rem;gap:.5rem;min-height:6.1rem}.ledger-title{font-size:clamp(1.85rem,8vw,3rem)}.ledger-meta,.house-ledger figure{display:none}.ledger-count{font-size:.5rem}.project-header{grid-template-columns:3.1rem 1fr;gap:.5rem;margin-bottom:2.4rem}.project-header h2{font-size:clamp(3.7rem,15vw,6.5rem)}.project-header p{grid-column:2;margin:.35rem 0 1.2rem;font-size:.76rem}.project-header a{grid-column:2;font-size:.57rem}.project-no{padding-top:.45rem}.project-story,.outin .project-story,.flipped .project-story,.mask .project-story{display:flex;flex-direction:column;gap:2.2rem}.story-copy{font-size:.91rem;max-width:none}.gallery{width:100%;grid-auto-rows:clamp(2.8rem,14vw,5rem)}.gallery-gazing .main,.gallery-outin .main,.gallery-fivesix .main,.gallery-flipped .main,.gallery-separation .main,.gallery-mask .main{grid-column:span 6;grid-row:span 3}.gallery-gazing .gallery-image:nth-child(n+2),.gallery-outin .gallery-image:nth-child(n+2),.gallery-fivesix .gallery-image:nth-child(n+2),.gallery-flipped .gallery-image:nth-child(n+2),.gallery-separation .gallery-image:nth-child(n+2),.gallery-mask .gallery-image:nth-child(n+2){grid-column:span 3;grid-row:span 2}.interlude{height:75vw}.services-list{grid-template-columns:1fr}.services-list article,.services-list article+article{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:1.5rem 0 1.7rem}.services-list article:last-child{border-bottom:0}.services-list h3{font-size:2.4rem}.process{grid-template-columns:1fr 1fr}.process article,.process article+article{border-right:0;border-bottom:1px solid var(--line);padding:1.2rem 1rem 1.4rem 0;min-height:0}.process article:nth-child(even){padding-left:1rem;padding-right:0;border-left:1px solid var(--line)}.about img{aspect-ratio:4/4.7}.about h2,.contact h2{font-size:clamp(4rem,15vw,6rem)}.press-list a{grid-template-columns:2rem 1fr;gap:.5rem;padding:1.3rem 0}.press-list strong{font-size:1.45rem}.press-list p{grid-column:2;font-size:.82rem;margin:.4rem 0}.press-list i{grid-column:2;margin-top:.5rem}.contact-details{max-width:none}.contact{padding-bottom:8.5rem}.footer-grid{grid-template-columns:1fr;gap:2.3rem}.footer-meta{grid-column:auto}.mobile-actions{display:grid;position:fixed;grid-template-columns:1fr 1fr;gap:1px;bottom:0;left:0;right:0;z-index:35;background:var(--line);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-actions a{background:rgba(246,240,230,.97);min-height:3.45rem;display:flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;font:500 .63rem var(--mono);letter-spacing:.07em;text-transform:uppercase}.mobile-actions a:last-child{background:var(--ink);color:var(--paper)}.mobile-actions span,.mobile-actions i{color:var(--sun);font-style:normal}.lightbox{padding:1rem}.lightbox figure{justify-content:center}.lightbox img{max-height:calc(100vh - 8.5rem)}.lightbox figcaption{gap:.6rem;padding-top:.7rem}.lightbox h2{font-size:1.1rem}.lightbox-nav{top:auto;bottom:1.55rem;transform:none;font-size:1.7rem}.lightbox-nav.prev{left:1rem}.lightbox-nav.next{right:1rem}.lightbox-close{right:1rem;top:1rem;font-size:1.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.main-nav,.menu-toggle span,.gallery-image img,.house-ledger a,.house-ledger b,.reveal{transition:none}.reveal{opacity:1;transform:none}}

/* Owner review polish pass: quiet glass, dependable loading, and mobile-first photo cards. */
body{overflow-x:clip}.site-header{background:rgba(255,250,241,.54);border-bottom:1px solid rgba(201,189,171,.74);backdrop-filter:blur(17px) saturate(120%);-webkit-backdrop-filter:blur(17px) saturate(120%);box-shadow:0 6px 26px rgba(72,58,39,.035)}.site-header.scrolled{background:rgba(255,250,241,.8);box-shadow:0 8px 28px rgba(72,58,39,.065)}.icon{width:1em;height:1em;display:inline-block;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-sun{width:.9em;height:.9em;color:var(--sun);stroke-width:1.2}.brand-star,.footer-brand span{display:none}.brand-mark .icon-sun{margin-left:.22em;vertical-align:.12em}.footer-brand .icon-sun{width:.26em;height:.26em;margin-left:.13em;vertical-align:.28em}.nav-talk .icon,.text-link .icon,.project-header a .icon,.press-list i .icon,.submit-link .icon,.mobile-actions .icon{margin-left:.38rem;color:var(--sun)}
.hero-image{background:var(--paper-deep)}.image-pending{opacity:0;filter:blur(12px);transform:scale(1.035);transition:opacity .75s ease,filter .9s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}.image-pending.loaded{opacity:1;filter:blur(0);transform:scale(1)}body:not(.page-ready) .hero-copy>*{opacity:0;transform:translateY(15px)}body.page-ready .hero-copy>*{animation:hero-copy-rise .78s cubic-bezier(.22,1,.36,1) forwards}body.page-ready .hero-copy .eyebrow{animation-delay:.06s}body.page-ready .hero-copy h1{animation-delay:.16s}body.page-ready .hero-copy .hero-lede{animation-delay:.29s}body.page-ready .hero-copy .hero-links{animation-delay:.39s}body.page-ready .hero-copy .hero-proof{animation-delay:.5s}@keyframes hero-copy-rise{to{opacity:1;transform:none}}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:clamp(.65rem,1.25vw,1.1rem);align-items:start}.gallery .gallery-card{appearance:none;-webkit-appearance:none;display:block;position:relative;grid-column:auto;grid-row:auto;min-width:0;margin:0;padding:0;text-align:left;border:1px solid rgba(201,189,171,.9);border-radius:0;background:rgba(255,250,241,.46);overflow:hidden;cursor:zoom-in;box-shadow:0 10px 28px rgba(59,48,32,.025);transition:border-color .34s ease,box-shadow .34s ease,transform .34s cubic-bezier(.22,1,.36,1)}.gallery .gallery-card.main,.gallery .gallery-card:nth-child(6){grid-column:1/-1;grid-row:auto}.gallery-card:focus-visible{outline:1px solid var(--sun);outline-offset:4px}.gallery-card:hover{border-color:rgba(188,116,34,.72);box-shadow:0 16px 32px rgba(59,48,32,.09);transform:translateY(-2px)}.gallery-card:active{transform:translateY(0)}.gallery-media{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--paper-deep)}.gallery-card.main .gallery-media,.gallery-card:nth-child(6) .gallery-media{aspect-ratio:16/9}.gallery-card img{width:100%;height:100%;object-fit:cover}.gallery-card:hover img{transform:scale(1.026)}.gallery-number{position:absolute;top:.7rem;left:.7rem;color:rgba(255,250,241,.94);font:500 .54rem/1 var(--mono);letter-spacing:.1em;text-shadow:0 1px 6px rgba(25,26,24,.38)}.gallery-caption{position:absolute;left:.65rem;right:auto;bottom:.65rem;max-width:calc(100% - 1.3rem);padding:.42rem .55rem;background:rgba(255,250,241,.59);border:1px solid rgba(255,250,241,.56);box-shadow:0 5px 16px rgba(38,31,20,.045);color:var(--ink);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);font:500 .55rem/1.18 var(--mono);letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery .gallery-card:nth-child(6){margin-top:clamp(.25rem,.7vw,.8rem)}
.light-note>.icon{width:1.18rem;height:1.18rem;margin-top:.02rem}.interlude{display:block;line-height:0;background:var(--paper-deep)}.interlude figcaption{line-height:1.4}.lightbox{background:rgba(246,240,230,.82);backdrop-filter:blur(20px) saturate(115%);-webkit-backdrop-filter:blur(20px) saturate(115%)}.lightbox::backdrop{background:rgba(246,240,230,.7);backdrop-filter:blur(5px)}.lightbox-close,.lightbox-nav{width:3rem;height:3rem;display:grid;place-items:center;border:1px solid rgba(201,189,171,.85);border-radius:0;background:rgba(255,250,241,.62);backdrop-filter:blur(13px) saturate(120%);-webkit-backdrop-filter:blur(13px) saturate(120%);box-shadow:0 8px 22px rgba(59,48,32,.07);color:var(--ink);transition:background .25s ease,border-color .25s ease,transform .25s ease}.lightbox-close .icon{width:1rem;height:1rem}.lightbox-nav .icon{width:1.2rem;height:1.2rem}.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,250,241,.93);border-color:var(--sun);color:var(--sun);transform:translateY(-1px)}.lightbox img{background:var(--paper-deep)}.footer-grid{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}footer.footer-visible .footer-grid{opacity:1;transform:none}
@media(max-width:900px){.main-nav{background:rgba(246,240,230,.92);backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%)}.gallery{gap:.65rem}.gallery .gallery-card.main,.gallery .gallery-card:nth-child(6){grid-column:1/-1}.gallery-card.main .gallery-media,.gallery-card:nth-child(6) .gallery-media{aspect-ratio:4/3}.gallery-caption{left:.48rem;bottom:.48rem;max-width:calc(100% - .96rem);padding:.37rem .44rem;font-size:.49rem}.gallery-number{top:.5rem;left:.5rem;font-size:.49rem}.gallery .gallery-card:nth-child(6){margin-top:.15rem}.mobile-actions{gap:0;padding:.46rem .55rem calc(.46rem + env(safe-area-inset-bottom));background:rgba(255,250,241,.61);border-top:1px solid rgba(201,189,171,.75);box-shadow:0 -8px 24px rgba(59,48,32,.05);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}.mobile-actions a,.mobile-actions a:last-child{min-height:3.45rem;background:rgba(255,250,241,.68);color:var(--ink);border:1px solid rgba(201,189,171,.76);font-size:.59rem}.mobile-actions a:first-child{border-right:0}.mobile-actions a:last-child{box-shadow:inset 0 -2px 0 var(--sun)}footer{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom))}.footer-grid{padding-bottom:.2rem}.lightbox-close,.lightbox-nav{width:3.1rem;height:3.1rem}.lightbox-nav{bottom:1.2rem}.lightbox figcaption{padding-bottom:3.8rem}.lightbox h2{max-width:17rem}.contact{padding-bottom:3.8rem}}
@media(prefers-reduced-motion:reduce){.image-pending,.image-pending.loaded,.gallery-card,.lightbox-close,.lightbox-nav,.footer-grid{transition:none}body:not(.page-ready) .hero-copy>*{opacity:1;transform:none}body.page-ready .hero-copy>*{animation:none}}

/* Studio title card and restrained light choreography. */
.icon-star{fill:currentColor;stroke:none;color:var(--sun)}.brand-mark .icon-star{width:.6em;height:.6em;margin-left:.22em;vertical-align:.12em;animation:star-drift 18s ease-in-out infinite}.footer-brand .icon-star{width:.26em;height:.26em;margin-left:.13em;vertical-align:.28em;animation:star-drift 18s ease-in-out infinite}@keyframes star-drift{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.intro{position:fixed;inset:0;z-index:100;background:var(--paper);display:block;opacity:1;cursor:pointer;transition:opacity .28s ease .95s}.intro-logo{position:absolute;left:50%;top:50%;display:grid;justify-items:center;transform:translate(-50%,-50%);transform-origin:center;will-change:transform;transition:transform .86s cubic-bezier(.22,1,.36,1)}.intro-star{display:grid;place-items:center;width:clamp(2rem,5vw,4.6rem);height:clamp(2rem,5vw,4.6rem);margin-bottom:clamp(.6rem,1.5vw,1.3rem);color:var(--sun)}.intro-star .icon-star{width:100%;height:100%;opacity:0;filter:drop-shadow(0 0 0 rgba(188,116,34,0));animation:star-kindle .46s cubic-bezier(.22,1,.36,1) .12s forwards}.intro-word{font:500 clamp(4.6rem,12vw,10.5rem)/.8 var(--serif);letter-spacing:.145em;color:var(--ink);opacity:0;transform:translateY(10px);animation:word-settle .58s cubic-bezier(.22,1,.36,1) .38s forwards}.intro-line{font:500 clamp(.58rem,1.1vw,.8rem)/1.2 var(--mono);letter-spacing:.17em;text-transform:uppercase;margin-top:1.2rem;opacity:0;animation:line-appear .38s ease .68s forwards}@keyframes star-kindle{0%{opacity:0;transform:scale(.45) rotate(-18deg);filter:drop-shadow(0 0 0 rgba(188,116,34,0))}65%{opacity:1;transform:scale(1.07) rotate(4deg);filter:drop-shadow(0 0 16px rgba(188,116,34,.5))}100%{opacity:1;transform:scale(1) rotate(0);filter:drop-shadow(0 0 7px rgba(188,116,34,.25))}}@keyframes word-settle{to{opacity:1;transform:none}}@keyframes line-appear{to{opacity:1}}.intro.resolving{opacity:0;pointer-events:none}.intro.resolving .intro-logo{transform:translate(calc(-50% + var(--intro-x)),calc(-50% + var(--intro-y))) scale(var(--intro-scale))}.intro.resolving .intro-star .icon-star{filter:none}.intro-skip{position:absolute;right:var(--pad);bottom:1.5rem;border:0;border-bottom:1px solid var(--line);padding:0 0 .35rem;background:transparent;color:var(--muted);font:500 .56rem var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:0;animation:line-appear .3s ease .7s forwards}.intro-skip:hover{color:var(--sun);border-color:var(--sun)}body.intro-active .hero-image{opacity:0;transform:scale(1.025);transition:opacity .64s ease,transform 1.05s cubic-bezier(.22,1,.36,1)}body.intro-active.intro-resolving .hero-image{opacity:1;transform:none}
.sun-progress{position:fixed;z-index:32;right:.85rem;top:calc(50% - 102px);width:2.1rem;height:10.2rem;pointer-events:none;opacity:.68}.sun-progress svg{display:block;width:100%;height:100%;overflow:visible}.sun-progress-track{fill:none;stroke:var(--sun);stroke-width:.72;stroke-dasharray:2.3 4.8}.sun-progress-dot{fill:var(--paper-light);stroke:var(--sun);stroke-width:1.15;filter:drop-shadow(0 1px 2px rgba(59,48,32,.15))}
.text-link,.main-nav .nav-talk,.submit-link{position:relative}.text-link:after,.main-nav .nav-talk:after,.submit-link:after{content:'';position:absolute;left:0;bottom:-.7rem;width:54%;height:.42rem;border-top:1px solid var(--sun);border-radius:50%;opacity:0;transform:scaleX(.15);transform-origin:left;transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1)}@media(hover:hover){.text-link:hover:after,.main-nav .nav-talk:hover:after,.submit-link:hover:after{opacity:.8;transform:scaleX(1)}.gallery-card:hover img.image-pending.loaded{filter:brightness(1.075) saturate(1.055) sepia(.035)}}
.gallery-card .gallery-number{opacity:0;transform:translateY(-3px);transition:opacity .42s ease,transform .5s cubic-bezier(.22,1,.36,1)}.gallery-card.card-revealed .gallery-number{opacity:1;transform:none}.gallery-card.light-on img.image-pending.loaded{filter:brightness(1.04) saturate(1.035) sepia(.02)}#ideaForm{position:relative}.submit-link{isolation:isolate}.submit-link:before{content:'';position:absolute;z-index:-1;left:-1.6rem;right:-1.6rem;top:-1.2rem;bottom:-1.2rem;background:radial-gradient(ellipse at center,rgba(213,158,69,.22),rgba(213,158,69,0) 70%);pointer-events:none}.contact-sun{filter:drop-shadow(0 0 22px rgba(213,158,69,.1))}
footer{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--paper) 0%,#f2e6d2 56%,#efe0c8 100%)}footer:before{content:'';position:absolute;top:-14rem;right:-9rem;width:34rem;height:34rem;border:1px solid rgba(188,116,34,.14);border-radius:50%;box-shadow:inset 0 0 0 4rem rgba(255,250,241,.07);pointer-events:none}.footer-grid{position:relative;z-index:1}
@media(max-width:900px){.intro-word{font-size:clamp(4rem,20vw,5.6rem)}.intro-line{font-size:.54rem;margin-top:.85rem}.intro-skip{right:1.25rem;bottom:1.25rem}.sun-progress{right:.05rem;top:calc(50% - 72px);width:1.55rem;height:7.2rem;opacity:.47}.gallery-card.light-on img.image-pending.loaded{filter:brightness(1.055) saturate(1.04) sepia(.025)}.text-link:after,.main-nav .nav-talk:after,.submit-link:after{display:none}footer{padding-bottom:calc(7.6rem + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.intro{display:none}.intro-active .hero-image{opacity:1;transform:none}.brand-mark .icon-star,.footer-brand .icon-star,.intro-star .icon-star,.intro-word,.intro-line,.intro-skip{animation:none}.intro-star .icon-star,.intro-word,.intro-line,.intro-skip{opacity:1;transform:none}.intro.resolving .intro-logo{transition:none}.sun-progress{display:none}}

.intro{transition:opacity .22s ease .62s}.intro-logo{transition:transform .66s cubic-bezier(.22,1,.36,1)}.skip-intro .hero-image{transition:none!important;opacity:1!important;transform:none!important}
.gallery .gallery-card.last-card{grid-column:1/-1;grid-row:auto;margin-top:clamp(.25rem,.7vw,.8rem)}.gallery-card.last-card .gallery-media{aspect-ratio:16/9}@media(max-width:900px){.gallery .gallery-card.last-card{grid-column:1/-1;margin-top:.15rem}.gallery-card.last-card .gallery-media{aspect-ratio:4/3}}
/* Abbreviated source sets retain a balanced grid rather than an empty half cell. */
.gallery.count-5 .gallery-card.last-card{grid-column:auto;margin-top:0}.gallery.count-5 .gallery-card.last-card .gallery-media{aspect-ratio:4/3}
/* Original artwork for the Nº 05 Maker portrait. */
.maker-light-study{display:block;width:100%;height:100%;min-height:100%;object-fit:cover;background:#f5ecdf}
.about-portrait:has(.maker-light-study){background:#f5ecdf;overflow:hidden}.about-portrait:has(.maker-light-study)::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(188,116,34,.15)}

/* Owner mobile-first composition pass: phone layout sets the rhythm, desktop simply expands it. */
.hero-plate,.house-ledger figcaption,.interlude figcaption,.lightbox figcaption{background:rgba(255,250,241,.72);border:1px solid rgba(255,250,241,.72);box-shadow:0 8px 22px rgba(45,35,22,.07);backdrop-filter:blur(13px) saturate(118%);-webkit-backdrop-filter:blur(13px) saturate(118%)}.hero-plate{padding:.68rem .82rem}.hero-plate span{margin:0;color:var(--sun)}.house-ledger figcaption,.interlude figcaption{padding:.38rem .5rem;color:var(--ink);text-shadow:none}.lightbox figcaption{padding:1rem 1.1rem}.gallery-number{padding:.3rem .36rem;background:rgba(255,250,241,.66);border:1px solid rgba(255,250,241,.68);box-shadow:0 4px 12px rgba(43,33,21,.07);color:var(--ink);text-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
@media(max-width:900px){
  :root{--pad:1.5rem;--wide:calc(100% - 3rem)}
  html{scroll-padding-bottom:calc(8rem + env(safe-area-inset-bottom))}
  body{padding-bottom:calc(5.35rem + env(safe-area-inset-bottom));font-size:16px;line-height:1.65}
  .site-header{padding:.95rem var(--pad);min-height:4.5rem}
  .main-nav{padding:7.7rem var(--pad) 2.5rem;gap:.35rem}
  .main-nav a{min-height:3.25rem;padding:1rem 0;display:flex;align-items:center}
  .main-nav .nav-talk{min-height:2.75rem;padding:.75rem 0}
  .hero{display:grid;min-height:100svh;padding:0 var(--pad);isolation:isolate}
  .hero-image{inset:0}.hero-image:after{background:linear-gradient(180deg,rgba(255,250,241,.04) 0%,rgba(255,250,241,.09) 48%,rgba(255,250,241,.18) 100%)}
  .hero-image img{opacity:.97;filter:saturate(.94) contrast(1.035) brightness(1.015)}
  .hero-sun{width:105vw;right:-43vw;top:-38vw;opacity:.7}.hero-rule{left:0;opacity:.48}
  .hero-copy{grid-column:1;grid-row:1;align-self:end;min-height:0;max-width:22rem;margin:0 0 8.45rem;padding:1.65rem 1.3rem 1.6rem;background:rgba(255,250,241,.74);border:1px solid rgba(255,250,241,.82);box-shadow:0 14px 36px rgba(43,33,21,.09);backdrop-filter:blur(18px) saturate(116%);-webkit-backdrop-filter:blur(18px) saturate(116%)}
  .hero-copy .eyebrow{font-size:.61rem;line-height:1.55;letter-spacing:.15em;margin:0 0 1.25rem;color:#a25c16}
  .hero h1{max-width:7.4ch;font-size:clamp(3.28rem,14.2vw,4.15rem);line-height:.93;letter-spacing:-.045em;margin:0 0 1.55rem;color:#171816}
  .hero-lede{max-width:18.8rem;font-size:1.04rem;line-height:1.68;font-weight:500;color:#272722;margin:0}
  .hero-links{display:grid;grid-template-columns:1fr;justify-items:start;gap:1.05rem;margin:2.15rem 0 0}
  .hero-links .text-link{min-height:2.8rem;display:inline-flex;align-items:center;padding:0 0 .48rem;font-size:.66rem;letter-spacing:.145em}
  .hero-proof{margin:2.15rem 0 0;font-size:.59rem;line-height:1.5;letter-spacing:.135em;color:#514c43}
  .hero-axis{left:var(--pad);right:var(--pad);bottom:calc(4.9rem + env(safe-area-inset-bottom));min-height:3.1rem;padding:.9rem .85rem .72rem;background:rgba(255,250,241,.56);border-top:1px solid rgba(201,189,171,.88);box-shadow:0 6px 19px rgba(45,35,22,.045);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);font-size:.57rem;letter-spacing:.135em}
  .ruled-section,.manifesto,.project-intro,.contact{padding:6.3rem var(--pad)}
  .sun-section{padding-top:6.3rem}.sun-header{width:calc(100% - 3rem)}.sun-header h2{margin:1.65rem 0 1.8rem;font-size:clamp(3.15rem,13.1vw,4.25rem);line-height:.94}.sun-header>p:last-child{font-size:1rem;line-height:1.68}
  .manifesto-layout{gap:3.25rem;margin-top:3.6rem}.manifesto h2{font-size:clamp(3.05rem,12.6vw,4.2rem);line-height:.96}.manifesto-note{padding-left:1.25rem}.manifesto-note p,.sun-notes p:last-child,.index-heading>p,.split-heading>p{font-size:1rem;line-height:1.68}
  .sun-path{margin-top:4.6rem}.sun-notes{margin-top:3.6rem}.sun-notes article,.sun-notes article+article{padding:1.85rem 0}.sun-notes h3{font-size:2rem;margin-bottom:1.15rem}.time{margin-bottom:.95rem;letter-spacing:.13em}
  .house-index{margin-top:6.2rem}.index-heading,.split-heading{gap:2.4rem;margin-bottom:3.7rem}.index-heading h2,.split-heading h2,.project-intro h2{font-size:clamp(3.28rem,13.4vw,4.5rem);line-height:.93;margin-top:1.45rem}
  .house-ledger a{min-height:7rem;gap:.72rem;padding:.95rem 0}.ledger-no,.ledger-count{font-size:.57rem;letter-spacing:.13em}.ledger-title{font-size:clamp(2rem,8.8vw,3.15rem);line-height:.94}
  .project-intro{padding-top:6.2rem;padding-bottom:6.2rem}.projects{padding:0 var(--pad)}.project{padding:6.25rem 0 6.8rem}.project-header{grid-template-columns:3.35rem 1fr;gap:.8rem;margin-bottom:3.15rem}.project-no{padding-top:.55rem;font-size:.62rem;letter-spacing:.13em}.project-header h2{font-size:clamp(3.28rem,13.8vw,4.55rem);line-height:.92}.project-header p{margin:.85rem 0 1.65rem;font-size:.95rem;line-height:1.6}.project-header a{min-height:2.75rem;display:inline-flex;align-items:center;font-size:.63rem;letter-spacing:.13em;padding-bottom:.55rem}
  .project-story,.outin .project-story,.flipped .project-story,.mask .project-story{gap:3rem}.story-copy{font-size:1.04rem;line-height:1.7}.story-copy p{margin-bottom:1.8rem}.light-note{margin-top:2.9rem;padding-top:1.25rem;gap:.9rem}.light-note p{font-size:.94rem;line-height:1.65}.gallery{gap:1rem;margin-top:.2rem}.gallery .gallery-card{border-color:rgba(201,189,171,.95)}.gallery-caption{left:.7rem;bottom:.7rem;max-width:calc(100% - 1.4rem);padding:.55rem .66rem;font-size:.56rem;line-height:1.35;letter-spacing:.09em}.gallery-number{top:.7rem;left:.7rem;font-size:.55rem;letter-spacing:.12em}
  .interlude{height:88vw;margin:0}.interlude figcaption{left:var(--pad);bottom:1.25rem;font-size:.56rem;letter-spacing:.11em}
  .services-list article,.services-list article+article{padding:2.1rem 0 2.35rem}.services-list h3{font-size:2.7rem;margin:1.3rem 0}.services-list p,.process p{font-size:1rem;line-height:1.68}.process{margin-top:4.5rem}.process article,.process article+article{padding:1.55rem 1.15rem 1.8rem 0}.process h3{font-size:1.55rem;margin:1rem 0}.services-list span,.process span{letter-spacing:.13em}
  .about{gap:3.5rem}.about h2,.contact h2{font-size:clamp(3.4rem,14vw,4.65rem);line-height:.94;margin:1.55rem 0 2rem}.about-copy>p{font-size:1.04rem;line-height:1.7}.about blockquote{font-size:2.05rem;line-height:1.08;margin:3rem 0;padding-left:1.35rem}.about figcaption{margin-top:1rem;line-height:1.5;letter-spacing:.11em}
  .press-list a{padding:1.85rem 0;gap:.8rem}.press-list strong{font-size:1.7rem;line-height:1.04}.press-list p{font-size:.98rem;line-height:1.65;margin:.7rem 0}.press-list i{margin-top:.85rem;min-height:2.75rem;display:inline-flex;align-items:center;letter-spacing:.13em}
  .contact{padding-bottom:calc(9.25rem + env(safe-area-inset-bottom))}.contact header>p:last-child{font-size:1.04rem;line-height:1.68}.contact-grid{gap:3.65rem;margin-top:4.25rem}.contact-details div{padding:1.15rem 0;min-height:3.25rem}.contact-details dd{font-size:1rem;line-height:1.5}.contact-details dt,label{font-size:.62rem;letter-spacing:.14em;line-height:1.5}form{gap:2rem}label{gap:.85rem}input,textarea,select{font-size:1.05rem;line-height:1.6;padding:.85rem 0;min-height:3rem}textarea{min-height:9.2rem}.submit-link{min-height:3rem;font-size:.69rem;letter-spacing:.13em}.form-note{font-size:.88rem;line-height:1.65}
  footer{padding:5.5rem var(--pad) calc(9.1rem + env(safe-area-inset-bottom))}.footer-grid{gap:3.25rem}.footer-grid nav{gap:1.15rem 1.6rem}.footer-grid nav a{min-height:2.75rem;display:inline-flex;align-items:center;font-size:.94rem}.footer-meta{padding-top:1.35rem;font-size:.65rem;line-height:1.7}
  .mobile-actions{padding:.58rem .75rem calc(.58rem + env(safe-area-inset-bottom));gap:.55rem;background:rgba(255,250,241,.66)}.mobile-actions a,.mobile-actions a:last-child{min-height:3.72rem;padding:.72rem .45rem;font-size:.64rem;letter-spacing:.105em}.mobile-actions a:first-child{border-right:1px solid rgba(201,189,171,.76)}
  .lightbox{padding:1.25rem}.lightbox figure{justify-content:center}.lightbox figcaption{gap:.9rem;margin-top:1rem;padding:1rem}.lightbox h2{font-size:1.22rem;line-height:1.12}.lightbox figcaption p{font-size:.6rem;letter-spacing:.13em}.lightbox-close,.lightbox-nav{width:3.25rem;height:3.25rem}.lightbox-nav{bottom:1.35rem}.lightbox img{max-height:calc(100vh - 10.5rem)}
}
@media(min-width:761px){.story-copy,.about-copy>p{font-size:1rem;line-height:1.68}.hero-copy{max-width:min(64vw,48rem)}.projects{max-width:1680px;margin:0 auto}.gallery{max-width:1540px;margin-left:auto;margin-right:auto}}

/* Phone hero refinement: a contained full-width reading surface, not a desktop column. */
@media(max-width:900px){
  .hero-image:after{background-image:linear-gradient(180deg,rgba(255,250,241,.035) 0%,rgba(255,250,241,.075) 48%,rgba(255,250,241,.16) 100%)!important}
  .hero-copy{width:100%;height:auto;min-height:0;min-block-size:0;box-sizing:border-box;display:block;flex:none;justify-content:normal;place-self:end stretch;align-self:end;max-width:none;margin-bottom:9.55rem}
  .hero h1{max-width:none}
  .hero-lede{max-width:none}
  .hero-axis{bottom:calc(5.52rem + env(safe-area-inset-bottom))}
}

@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr)}}

/* Phone hero composition: show the house as a field of light, then let the reading panel arrive below it. */
@media(max-width:900px){
  .hero{display:block;min-height:0;padding:0 var(--pad) calc(8.3rem + env(safe-area-inset-bottom));background:var(--paper)}
  .hero-image{position:absolute;top:0;right:0;bottom:auto;left:0;height:31rem}
  .hero-image:after{background-image:linear-gradient(180deg,rgba(255,250,241,.015) 0%,rgba(255,250,241,.035) 54%,rgba(255,250,241,.24) 100%)!important}
  .hero-image img{opacity:1;object-position:center 58%;filter:saturate(.94) contrast(1.04) brightness(1.01)}
  .hero-sun{width:96vw;right:-44vw;top:-38vw;opacity:.55}.hero-rule{display:none}
  .hero-copy{position:relative;width:100%;height:auto;min-height:0;box-sizing:border-box;display:block;margin:21.15rem 0 0;padding:1.75rem 1.35rem 1.7rem;background:rgba(255,250,241,.68);border:1px solid rgba(255,250,241,.82);box-shadow:0 14px 34px rgba(43,33,21,.08);backdrop-filter:blur(16px) saturate(116%);-webkit-backdrop-filter:blur(16px) saturate(116%)}
  .hero-copy .eyebrow{margin-bottom:1.35rem}.hero h1{max-width:7.8ch;font-size:clamp(3.05rem,13.25vw,3.65rem);line-height:.95;margin:0 0 1.65rem}.hero-lede{font-size:1.04rem;line-height:1.7}.hero-links{margin-top:2.3rem;gap:1.15rem}.hero-proof{margin-top:2.4rem}
  .hero-axis{position:relative;left:auto;right:auto;bottom:auto;min-height:3.25rem;margin:1.35rem 0 0;padding:1rem .95rem .82rem;background:rgba(255,250,241,.72);border:1px solid rgba(255,250,241,.84);box-shadow:0 8px 20px rgba(45,35,22,.055);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .project-header p,.light-note p{font-size:1rem;line-height:1.65}
}

@media(max-width:900px){
  .hero-image{height:29rem}
  .hero-copy{margin-top:18rem}
  .hero h1{max-width:none;font-size:clamp(2.65rem,10.7vw,3.05rem);line-height:.97}
}

@media(max-width:900px){
  .hero-links{margin-top:1.9rem;gap:1rem}.hero-proof{margin-top:1.55rem}.hero-axis{margin-top:.85rem}
  .site-header .brand{min-height:44px;display:grid;align-content:center}.menu-toggle{width:44px;height:44px}
  .contact-details a{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:flex-end}
}

@media(max-width:900px){.hero-copy{margin-top:17.5rem}.hero-axis{margin-top:.75rem}}

/* Cinematic light-study hero: refined for Sage's light-mode brand. */
.cinematic-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-height:100svh;overflow:hidden;isolation:isolate;background:var(--paper-deep)}.cinematic-hero .hero-image{position:absolute;inset:0;z-index:0;height:auto;margin:0;background:#f0e4d1}.cinematic-hero .hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(.98) brightness(1.035)}.cinematic-hero .hero-image:after{z-index:1;background:linear-gradient(to top,rgba(255,250,241,.99) 0%,rgba(255,250,241,.94) 25%,rgba(255,250,241,.75) 46%,rgba(255,250,241,.32) 68%,rgba(255,250,241,.04) 100%)}.cinematic-hero .hero-rule{display:none}.cinematic-hero .hero-sun{z-index:2;opacity:.36}.cinematic-hero .hero-copy{grid-column:1;grid-row:1;align-self:end;z-index:5;position:relative;width:min(100%,49rem);max-width:none;margin:0;padding:clamp(11rem,26vh,17rem) var(--pad) clamp(8.5rem,14vh,11.5rem);background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.cinematic-hero .hero-copy>*{opacity:1;transform:none;animation:none}.cinematic-hero .hero-copy .eyebrow{margin:0 0 1.35rem;color:#a76219}.cinematic-hero .hero-copy h1{max-width:8.4ch;margin:0 0 1.6rem;color:var(--ink);font-size:clamp(4.35rem,8vw,9.25rem);line-height:.9}.cinematic-hero .hero-lede{max-width:31rem;font-size:clamp(1rem,1.35vw,1.28rem);font-weight:500;line-height:1.62;color:#252522}.cinematic-hero .hero-links{margin-top:2.35rem}.cinematic-hero .hero-proof{margin-top:2.35rem;color:#4f4a42}.cinematic-hero .hero-axis{z-index:6;left:var(--pad);right:var(--pad);bottom:1.9rem;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#544b3e}.cinematic-hero .hero-word{display:inline-block;will-change:transform,opacity}.cinematic-hero .hero-word+ .hero-word{margin-left:.12em}.cinematic-hero .hero-word em{font-style:inherit}.cinematic-hero .hero-word.is-glow{font-weight:400;font-style:italic;color:var(--sun)}body:not(.page-ready) .cinematic-hero .hero-copy>:not(h1){opacity:0;transform:translateY(.35em)}body:not(.page-ready) .cinematic-hero .hero-word{opacity:0;transform:translateY(.4em)}body.page-ready .cinematic-hero .hero-copy>:not(h1){animation:hero-support-rise .5s cubic-bezier(.16,1,.3,1) .72s forwards}body.page-ready .cinematic-hero .hero-word{animation:hero-word-rise .75s cubic-bezier(.16,1,.3,1) var(--word-delay) forwards}@keyframes hero-word-rise{to{opacity:1;transform:translateY(0)}}@keyframes hero-support-rise{to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.cinematic-hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:max(100svh,54rem);padding:0;background:var(--paper)}.cinematic-hero .hero-image{inset:0;height:auto}.cinematic-hero .hero-image:after{background:linear-gradient(to top,rgba(255,250,241,.99) 0%,rgba(255,250,241,.95) 29%,rgba(255,250,241,.76) 48%,rgba(255,250,241,.32) 70%,rgba(255,250,241,.025) 100%)}.cinematic-hero .hero-video{object-position:center}.cinematic-hero .hero-sun{display:none}.cinematic-hero .hero-copy{grid-column:1;grid-row:1;align-self:end;width:100%;max-width:none;margin:0;padding:8rem var(--pad) calc(10.6rem + env(safe-area-inset-bottom));box-sizing:border-box}.cinematic-hero .hero-copy .eyebrow{font-size:.61rem;line-height:1.55;letter-spacing:.15em;margin-bottom:1.3rem}.cinematic-hero .hero-copy h1{max-width:7.8ch;font-size:clamp(3.25rem,14vw,4.2rem);line-height:.94;margin-bottom:1.5rem}.cinematic-hero .hero-lede{max-width:20.5rem;font-size:1.04rem;line-height:1.7}.cinematic-hero .hero-links{display:grid;grid-template-columns:1fr;justify-items:start;gap:1rem;margin-top:2.1rem}.cinematic-hero .hero-links .text-link{min-height:2.8rem;display:inline-flex;align-items:center;font-size:.66rem;letter-spacing:.145em}.cinematic-hero .hero-proof{margin-top:1.65rem;font-size:.59rem;line-height:1.5;letter-spacing:.135em}.cinematic-hero .hero-axis{position:absolute;left:var(--pad);right:var(--pad);bottom:calc(5.42rem + env(safe-area-inset-bottom));min-height:3.25rem;padding:1rem .95rem .82rem;background:rgba(255,250,241,.58);border-top:1px solid rgba(201,189,171,.85);box-shadow:0 6px 18px rgba(45,35,22,.04);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);font-size:.57rem;letter-spacing:.135em}.cinematic-hero .hero-plate{display:none}}
@media(prefers-reduced-motion:reduce){.cinematic-hero .hero-video{display:none}.cinematic-hero .hero-image{background:#f3e7d6 url('/assets/maker-light-study.svg') center/cover no-repeat}.cinematic-hero .hero-copy>*,body:not(.page-ready) .cinematic-hero .hero-copy>:not(h1),body:not(.page-ready) .cinematic-hero .hero-word{opacity:1!important;transform:none!important;animation:none!important}.cinematic-hero .hero-word{will-change:auto}}

/* The cinematic word-rise replaces the separate title card, keeping the opening under two seconds. */
body:has(.cinematic-hero) .intro{display:none}.intro-active .cinematic-hero .hero-image{opacity:1!important;transform:none!important}

/* Full-frame media geometry, explicitly independent of the former still-photo grid. */
.cinematic-hero .hero-image{position:absolute!important;top:0!important;right:auto!important;bottom:auto!important;left:0!important;grid-column:1/-1!important;grid-row:1!important;width:100%!important;max-width:none!important;height:100%!important;margin:0!important}.cinematic-hero .hero-video{width:100%!important;height:100%!important}

@media(prefers-reduced-motion:reduce){.cinematic-hero .hero-image{background:#f3e7d6 url('/assets/sage-hero-poster-v2.jpg') center/cover no-repeat}.cinematic-hero .hero-word{animation:none!important}}

/* Direct-asset playback fallback: show the polished poster, never a frozen first frame. */
body.hero-video-stalled .cinematic-hero .hero-image{background:#f3e7d6 url('/assets/sage-hero-poster-v2.jpg') center/cover no-repeat}body.hero-video-stalled .cinematic-hero .hero-video{opacity:0}

/* Final studio-scale refinement. */
@media(min-width:901px){
  .site-header{padding-top:1.18rem;padding-bottom:1.18rem}.main-nav a{transition:color .25s ease,opacity .25s ease}.main-nav:has(a:hover) a:not(:hover){opacity:.58}
  .ruled-section,.manifesto,.project-intro,.contact{padding-top:clamp(6.5rem,12vw,13rem);padding-bottom:clamp(6.5rem,12vw,13rem)}
  .manifesto-layout{gap:clamp(5rem,12vw,15rem)}.manifesto-note{padding-left:clamp(1.5rem,2vw,2.4rem)}.manifesto-note p{line-height:1.68}
  .sun-notes{margin-top:clamp(4rem,8vw,7rem)}.sun-notes article{padding-top:1.85rem}.sun-notes p:last-child{line-height:1.68}
  .house-ledger a{min-height:7.75rem;transition:padding .45s cubic-bezier(.16,1,.3,1),background .35s ease}.house-ledger a:hover,.house-ledger a:focus-visible{padding-left:1rem}.house-ledger .ledger-action{transition:transform .45s cubic-bezier(.16,1,.3,1)}.house-ledger a:hover .ledger-action{transform:translate(4px,-4px)}
  .project{padding-top:clamp(5.3rem,9vw,9.5rem);padding-bottom:clamp(5.6rem,10vw,10rem)}.project-story{gap:clamp(3.5rem,8.5vw,10rem)}.story-copy{font-size:1rem;line-height:1.7}.light-note{margin-top:3rem;padding-top:1.2rem}
  .gallery{gap:clamp(.85rem,1.4vw,1.35rem)}.gallery-card{transition:border-color .42s ease,box-shadow .42s ease,transform .48s cubic-bezier(.16,1,.3,1)}.gallery-card .gallery-caption{transition:background .35s ease,color .35s ease,transform .4s cubic-bezier(.16,1,.3,1)}.gallery-card:hover .gallery-caption{background:rgba(255,250,241,.84);transform:translateY(-2px)}.gallery-card:hover .gallery-number{color:var(--sun)}
  .lightbox{padding:clamp(2rem,5vw,5rem)}.lightbox figure{width:min(100%,1120px)}.lightbox figcaption{padding-top:1.2rem;margin-top:1rem}.lightbox h2{font-size:clamp(1.4rem,2vw,2rem)}
  .contact-grid{margin-top:clamp(5rem,9vw,8rem)}footer{padding-top:clamp(5rem,9vw,8rem);padding-bottom:3rem}.footer-meta{padding-top:1.35rem}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.interlude img{transition:transform 1.4s cubic-bezier(.16,1,.3,1),filter .7s ease}.interlude:hover img{transform:scale(1.025);filter:saturate(1.04) brightness(1.035)}}

/* Let the direct light study remain visibly present above the reading surface. */
.cinematic-hero .hero-image:after{background:linear-gradient(to top,rgba(255,250,241,.99) 0%,rgba(255,250,241,.96) 18%,rgba(255,250,241,.82) 36%,rgba(255,250,241,.48) 55%,rgba(255,250,241,.16) 74%,rgba(255,250,241,0) 100%)}
@media(max-width:900px){.cinematic-hero .hero-image:after{background:linear-gradient(to top,rgba(255,250,241,.99) 0%,rgba(255,250,241,.96) 25%,rgba(255,250,241,.8) 43%,rgba(255,250,241,.48) 61%,rgba(255,250,241,.12) 80%,rgba(255,250,241,0) 100%)}}

/* Mobile containment rail: real layout fixes first, then a defensive root boundary for Safari. */
@media(max-width:900px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}
  @supports(overflow:clip){html,body{overflow-x:clip}}
  main,section,footer,.site-header{max-width:100%}
  .main-nav{left:0;right:0;width:100%;max-width:100%;transform:none;visibility:hidden;opacity:0;clip-path:inset(0 0 0 100%);pointer-events:none;transition:clip-path .42s cubic-bezier(.16,1,.3,1),opacity .24s ease,visibility 0s linear .42s}
  .main-nav.open{visibility:visible;opacity:1;clip-path:inset(0);pointer-events:auto;transition:clip-path .42s cubic-bezier(.16,1,.3,1),opacity .3s ease}
  .project-header{width:100%;max-width:100%;grid-template-columns:2.4rem minmax(0,1fr)!important}
  .project-header>*{min-width:0;max-width:100%}
  .project-header h2,.project-header p,.project-header a{grid-column:2;overflow-wrap:anywhere}
  .sun-section{overflow-x:clip}
}

/* A few daylight fields, activated only as their sections enter view. */
.sun-section,.about{position:relative;isolation:isolate}.sun-section::before,.about::before{content:'';position:absolute;z-index:-1;inset:-18%;pointer-events:none;background:radial-gradient(ellipse 38% 42% at 18% 31%,rgba(223,171,81,.2),rgba(223,171,81,0) 74%),radial-gradient(ellipse 34% 35% at 79% 67%,rgba(255,250,241,.76),rgba(255,250,241,0) 76%);opacity:0;transform:translate3d(-2%,2%,0) scale(.95);filter:blur(3px)}.contact-sun,footer::before{transition:filter 1.1s ease,opacity 1.1s ease}.sun-section.is-lit::before,.about.is-lit::before{animation:sage-ambient-light 14s cubic-bezier(.45,.05,.55,.95) infinite both}.sun-section.is-lit .sun-big,.about.is-lit .about-portrait{animation:sage-soft-halo 8s ease-in-out infinite both}.contact.is-lit .contact-sun,footer.is-lit::before{animation:sage-soft-halo 10s ease-in-out infinite both}@keyframes sage-ambient-light{0%,100%{opacity:.26;transform:translate3d(-2%,2%,0) scale(.95)}50%{opacity:.58;transform:translate3d(3%,-2%,0) scale(1.07)}}@keyframes sage-soft-halo{0%,100%{filter:drop-shadow(0 0 0 rgba(188,116,34,0))}50%{filter:drop-shadow(0 0 18px rgba(203,143,47,.18))}}
@media(prefers-reduced-motion:reduce){.sun-section::before,.about::before,.sun-section.is-lit .sun-big,.about.is-lit .about-portrait,.contact.is-lit .contact-sun,footer.is-lit::before{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}

/* Decorative geometry belongs to its section, never to the page scroll width. */
@media(max-width:900px){
  .sun-path{overflow:hidden;clip-path:inset(0)}
  .sun-path svg{margin-left:0!important;width:100%!important;transform:scaleX(1.75);transform-origin:center}
  .gallery-media,.gallery-card,.about-portrait,.contact{contain:paint}
  .contact-sun{right:-23vw;max-width:60vw}
}

@media(max-width:900px){
  .about{padding-left:var(--pad);padding-right:var(--pad)}
}

/* Structural follow-up: header backdrop creates a fixed-position containing block, so mobile nav must size itself explicitly. */
@media(max-width:900px){
  .site-header{overflow:visible}
  .main-nav{position:absolute;top:0;left:0;right:auto;width:100%;height:100svh;min-height:100svh;max-height:100svh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;z-index:1}
  .about{overflow:hidden}
  @supports(overflow:clip){.about{overflow:clip}}
  .about figure{contain:paint}
}
@media(prefers-reduced-motion:reduce){
  .main-nav,.main-nav.open{transition:none!important}
  .gallery-card .gallery-number,.gallery-card.card-revealed .gallery-number{transition:none!important;transform:none!important}
}

@media(max-width:900px){.main-nav{background:rgba(246,240,230,.98)}}

/* The drawn sun follows the existing east-to-west diagram, only while its section is visible. */
.sun-traveller{pointer-events:none;will-change:opacity;transform-origin:center;transition:opacity .45s ease}.sun-traveller .sun-aura{fill:rgba(213,158,69,.12);stroke:none;animation:sun-traveller-breathe 3.8s ease-in-out infinite}.sun-traveller .sun-big{fill:var(--paper-light);stroke-width:1.65;filter:drop-shadow(0 0 6px rgba(188,116,34,.18))}.sun-traveller .sun-ray{stroke-width:1.45}@keyframes sun-traveller-breathe{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:.72;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.sun-traveller,.sun-traveller .sun-aura{animation:none!important;transition:none!important}.sun-traveller .sun-aura{opacity:.38!important}}

/* Refined sun diagram: one unhurried daylight passage, not an illustrative loop. */
.sun-progress-curve{fill:none;stroke:rgba(188,116,34,.48);stroke-width:1.05;stroke-linecap:round;opacity:0;pointer-events:none}.sun-traveller{pointer-events:none;will-change:opacity;transition:opacity .6s ease}.sun-traveller .sun-halo{fill:rgba(213,158,69,.11);stroke:none;filter:blur(.6px)}.sun-traveller .sun-core{fill:var(--sun);stroke:var(--paper-light);stroke-width:1.4;filter:drop-shadow(0 0 5px rgba(188,116,34,.16))}.sun-section.sun-path-complete .sun-progress-curve{opacity:.24}@media(prefers-reduced-motion:reduce){.sun-traveller,.sun-progress-curve{transition:none!important;animation:none!important}}

/* Organic daylight response: one quiet pass through the architecture, never a decorative loop. */
.gallery-card{isolation:isolate}.gallery-media::after{content:'';position:absolute;z-index:1;inset:-28%;pointer-events:none;background:radial-gradient(ellipse 36% 52% at 12% 68%,rgba(255,248,223,.78),rgba(241,191,101,.18) 29%,rgba(220,164,69,0) 72%);opacity:0;transform:translate3d(-20%,12%,0) scale(.88);mix-blend-mode:screen;will-change:transform,opacity}.gallery-caption,.gallery-number{z-index:2}.gallery-card.light-on .gallery-media::after{animation:sage-card-daylight 1.55s cubic-bezier(.22,1,.36,1) both}@keyframes sage-card-daylight{0%{opacity:0;transform:translate3d(-24%,13%,0) scale(.86)}44%{opacity:.55;transform:translate3d(4%,-2%,0) scale(1)}100%{opacity:.12;transform:translate3d(12%,-5%,0) scale(1.05)}}
:where(.text-link,.main-nav a,.house-ledger a,.project-header a,.press-list a,.footer-grid a,.mobile-actions a,.lightbox-close,.lightbox-nav,.submit-link){transition:color .35s ease,text-shadow .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1),background-color .35s ease,transform .45s cubic-bezier(.16,1,.3,1)}:where(.text-link,.main-nav a,.house-ledger a,.project-header a,.press-list a,.footer-grid a,.mobile-actions a,.lightbox-close,.lightbox-nav,.submit-link).link-lit{animation:sage-link-daylight .82s cubic-bezier(.22,1,.36,1) both}@keyframes sage-link-daylight{0%{text-shadow:0 0 0 rgba(188,116,34,0);box-shadow:0 0 0 rgba(188,116,34,0)}52%{text-shadow:0 0 12px rgba(188,116,34,.19);box-shadow:0 0 16px rgba(188,116,34,.09)}100%{text-shadow:0 0 0 rgba(188,116,34,0);box-shadow:0 0 0 rgba(188,116,34,0)}}@media(hover:hover){.gallery-card:hover .gallery-media::after{opacity:.26;transform:translate3d(8%,-4%,0) scale(1.04);transition:opacity .65s ease,transform 1.15s cubic-bezier(.16,1,.3,1)}:where(.text-link,.main-nav a,.house-ledger a,.project-header a,.press-list a,.footer-grid a,.mobile-actions a,.lightbox-close,.lightbox-nav,.submit-link):hover{color:var(--sun);text-shadow:0 0 13px rgba(188,116,34,.2)}.mobile-actions a:hover,.submit-link:hover,.lightbox-close:hover,.lightbox-nav:hover{box-shadow:0 0 18px rgba(188,116,34,.13),inset 0 -2px 0 var(--sun)}}@media(hover:none){:where(.text-link,.main-nav a,.house-ledger a,.project-header a,.press-list a,.footer-grid a,.mobile-actions a,.lightbox-close,.lightbox-nav,.submit-link):active{color:var(--sun);text-shadow:0 0 10px rgba(188,116,34,.16)}}@media(prefers-reduced-motion:reduce){.gallery-card.light-on .gallery-media::after,:where(.text-link,.main-nav a,.house-ledger a,.project-header a,.press-list a,.footer-grid a,.mobile-actions a,.lightbox-close,.lightbox-nav,.submit-link).link-lit{animation:none!important}.gallery-media::after{display:none!important}}

/* Solar study: a restrained field reading, not an infographic. */
.sun-section{padding-top:clamp(5.5rem,9vw,9rem)}.sun-section::before{opacity:.12!important;transform:none!important;animation:none!important}.sun-path{width:min(1050px,calc(100% - var(--pad)*2));margin:clamp(3.5rem,5.5vw,6rem) auto 0;padding:clamp(1.6rem,3vw,2.75rem) 0 0;border-top:1px solid rgba(201,189,171,.62);position:relative}.sun-path svg{width:100%;height:clamp(12rem,18vw,17rem);display:block;overflow:visible}.sun-horizon{stroke:rgba(201,189,171,.82);stroke-width:.9}.sun-curve{fill:none;stroke:rgba(188,116,34,.64);stroke-width:.95;stroke-dasharray:1.1 10;stroke-linecap:round}.sun-progress-curve{fill:none;stroke:var(--sun);stroke-width:1.12;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(188,116,34,.14));pointer-events:none}.sun-traveller{pointer-events:none}.sun-traveller .sun-halo{fill:rgba(255,250,241,.26);stroke:rgba(188,116,34,.38);stroke-width:.7;filter:blur(.05px)}.sun-traveller .sun-core{fill:var(--sun);stroke:rgba(255,250,241,.96);stroke-width:1.3;filter:drop-shadow(0 0 7px rgba(188,116,34,.28))}.sun-path-label,.sun-point,.sun-ray{display:none!important}.sun-path .sun-times{width:100%;margin:clamp(1.5rem,2.8vw,2.4rem) 0 0;padding-top:.95rem;border-top:1px solid rgba(201,189,171,.62);display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;font:500 .58rem/1 var(--mono);letter-spacing:.12em;color:var(--sun);text-transform:uppercase}.sun-times span{display:flex;flex-direction:column;gap:.55rem}.sun-times span:nth-child(2){text-align:center;align-items:center}.sun-times span:last-child{text-align:right;align-items:flex-end}.sun-times i{font-style:normal;color:var(--muted);letter-spacing:.15em}.sun-times b{font-weight:500;color:var(--sun)}.sun-notes{margin-top:clamp(3.5rem,6vw,5.5rem)}@media(max-width:900px){.sun-path{width:calc(100% - var(--pad)*2);margin-top:3.2rem;padding-top:1.35rem}.sun-path svg{height:clamp(10.5rem,48vw,13.5rem)}.sun-path .sun-times{margin-top:1.3rem;padding-top:.85rem;font-size:.55rem;letter-spacing:.1em}.sun-times span{gap:.46rem}.sun-times i{letter-spacing:.12em}.sun-section{padding-top:5rem}}@media(prefers-reduced-motion:reduce){.sun-progress-curve{filter:none}.sun-section::before{opacity:.14!important}}

/* The revised solar study is intentionally contained at phone width. */
@media(max-width:900px){.sun-path svg{transform:none!important;transform-origin:center!important}}

/* Solar aperture: a shallow instrument for daylight, not a vacant diagram. */
#sun{scroll-margin-top:7.5rem}.sun-section{padding-bottom:clamp(4.25rem,7vw,7rem)}.sun-path{margin-top:clamp(2.3rem,4vw,4.5rem);padding:0;border-top:0;isolation:isolate}.sun-path::before{content:'';position:absolute;z-index:-1;inset:-1rem -5% 2.75rem;background:radial-gradient(ellipse 54% 65% at 50% 78%,rgba(229,189,122,.16),rgba(229,189,122,0) 72%);pointer-events:none}.sun-path svg{height:clamp(13rem,20vw,18.5rem)}.sun-field{fill:url(#sage-solar-field);opacity:.86}.sun-horizon{stroke:rgba(201,189,171,.9);stroke-width:.75}.sun-curve{stroke:rgba(188,116,34,.72);stroke-width:1.12;stroke-dasharray:1.2 8;stroke-linecap:round}.sun-progress-curve{stroke:var(--sun);stroke-width:1.35;filter:drop-shadow(0 0 7px rgba(188,116,34,.2))}.sun-projection{stroke:rgba(188,116,34,.48);stroke-width:.85;stroke-dasharray:1.25 5;stroke-linecap:round;pointer-events:none}.sun-traveller .sun-halo{fill:url(#sage-solar-glow);stroke:rgba(188,116,34,.45);stroke-width:.72;filter:drop-shadow(0 0 9px rgba(188,116,34,.23))}.sun-traveller .sun-core{r:4.3;fill:var(--sun);stroke:rgba(255,250,241,.96);stroke-width:1.5;filter:drop-shadow(0 0 8px rgba(188,116,34,.34))}.sun-path .sun-times{margin:clamp(.9rem,1.8vw,1.45rem) 0 0;padding-top:1rem;border-top:1px solid rgba(201,189,171,.8);font-size:.59rem;letter-spacing:.14em}.sun-times span{gap:.6rem}.sun-times i{letter-spacing:.18em}.sun-times b{letter-spacing:.1em}.sun-notes{margin-top:clamp(2.5rem,4.4vw,4.75rem)}.sun-notes article{position:relative}.sun-notes article::before{content:'';position:absolute;top:0;left:0;width:1.75rem;border-top:1px solid var(--sun);opacity:.78}@media(max-width:900px){#sun{scroll-margin-top:7.7rem}.sun-section{padding-top:4.25rem;padding-bottom:2.5rem}.sun-header{width:calc(100% - var(--pad)*2)}.sun-header h2{margin-top:1.15rem;margin-bottom:1.4rem}.sun-path{margin-top:2.15rem}.sun-path::before{inset:-.7rem -10% 2.2rem}.sun-path svg{height:clamp(12rem,53vw,14.1rem)}.sun-field{opacity:.96}.sun-curve{stroke-width:1.24;stroke-dasharray:1.2 7.2}.sun-progress-curve{stroke-width:1.52}.sun-projection{stroke-width:1}.sun-path .sun-times{margin-top:.75rem;padding-top:.85rem;font-size:.58rem;letter-spacing:.125em}.sun-times span{gap:.53rem}.sun-times i{letter-spacing:.16em}.sun-notes{margin-top:2.35rem}.sun-notes article{padding-top:1.8rem;padding-bottom:1.85rem}.sun-notes article+article{padding-left:0}.sun-notes article::before{width:2rem}.sun-notes h3{font-size:2rem;margin-bottom:1rem}.sun-notes p:last-child{font-size:1rem;line-height:1.7}}@media(prefers-reduced-motion:reduce){.sun-projection{filter:none}}

/* Final solar-aperture presence: the section owns its light point while it is in view. */
body.sun-study-active .sun-progress{opacity:0!important;pointer-events:none}.sun-field{opacity:1!important}.sun-path::before{background:radial-gradient(ellipse 49% 66% at 50% 78%,rgba(229,181,97,.27),rgba(229,181,97,.075) 48%,rgba(229,181,97,0) 76%)}.sun-curve{stroke:rgba(188,116,34,.82)}.sun-progress-curve{stroke-width:1.48;filter:drop-shadow(0 0 9px rgba(188,116,34,.26))}.sun-projection{stroke:rgba(188,116,34,.72);stroke-width:1.02}.sun-traveller .sun-halo{stroke:rgba(188,116,34,.62);stroke-width:.9;filter:drop-shadow(0 0 12px rgba(188,116,34,.31))}.sun-traveller .sun-core{filter:drop-shadow(0 0 10px rgba(188,116,34,.42))}@media(max-width:900px){.sun-path::before{inset:-1.2rem -13% 1.4rem;background:radial-gradient(ellipse 57% 69% at 50% 79%,rgba(229,181,97,.33),rgba(229,181,97,.095) 52%,rgba(229,181,97,0) 78%)}.sun-field{opacity:1!important}.sun-curve{stroke:rgba(188,116,34,.9);stroke-width:1.42;stroke-dasharray:1.25 6.4}.sun-progress-curve{stroke-width:1.7}.sun-projection{stroke:rgba(188,116,34,.8);stroke-width:1.18}.sun-traveller .sun-halo{stroke:rgba(188,116,34,.7);stroke-width:1.05}.sun-traveller .sun-core{filter:drop-shadow(0 0 12px rgba(188,116,34,.48))}}

/* Accessible mobile hit areas for inline editorial links. */
@media(max-width:900px){.index-heading p>a,.contact-details a,.form-note a,footer nav a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;vertical-align:middle}.index-heading p>a,.form-note a{margin-block:-.72rem}.contact-details a{margin-block:-.42rem}footer nav a{justify-content:flex-start}}

/* Final client-share daylight play: a quiet solar response across the established editorial system. */
.sun-path{--solar-progress:.5}
.sun-path .sun-times span{position:relative;transition:color .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),opacity .7s ease}
.sun-path .sun-times span::after{content:'';position:absolute;width:.34rem;height:.34rem;border-radius:50%;top:-.58rem;left:50%;margin-left:-.17rem;background:var(--sun);box-shadow:0 0 0 3px rgba(255,250,241,.82),0 0 10px rgba(188,116,34,.22);opacity:0;transform:scale(.2);transition:opacity .45s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.sun-path .sun-times span:first-child::after{left:0;margin-left:0}.sun-path .sun-times span:last-child::after{left:auto;right:0;margin-left:0}
.sun-path .sun-times span.solar-passed{color:var(--sun)}
.sun-path .sun-times span.solar-current{color:var(--ink);transform:translateY(-.1rem)}
.sun-path .sun-times span.solar-current b{color:var(--sun);text-shadow:0 0 9px rgba(188,116,34,.16)}
.sun-path .sun-times span.solar-current::after{opacity:1;transform:scale(1)}
.sun-path .sun-field{transform-origin:50% 76%;transition:opacity .9s ease,filter 1.2s ease}
.sun-section.is-lit .sun-field{animation:sage-solar-field-awaken 1.8s cubic-bezier(.22,1,.36,1) both}
@keyframes sage-solar-field-awaken{0%{opacity:.54;filter:saturate(.82)}62%{opacity:1;filter:saturate(1.06)}100%{opacity:1;filter:saturate(1)}}
.gallery-media::before{content:'';position:absolute;z-index:1;inset:-34%;pointer-events:none;background:radial-gradient(circle at 18% 76%,rgba(255,251,233,.84) 0,rgba(249,210,138,.29) 12%,rgba(235,177,71,0) 40%);opacity:0;transform:translate3d(-20%,16%,0) scale(.72);mix-blend-mode:screen;will-change:transform,opacity}
.gallery-card.light-on .gallery-media::before{animation:sage-sun-kiss 1.45s cubic-bezier(.22,1,.36,1) both}
@keyframes sage-sun-kiss{0%{opacity:0;transform:translate3d(-26%,18%,0) scale(.7)}48%{opacity:.43;transform:translate3d(3%,-4%,0) scale(.98)}100%{opacity:.08;transform:translate3d(15%,-7%,0) scale(1.08)}}
:where(.text-link,.main-nav a,.house-ledger a,.project-header a,.press-list a,.footer-grid a,.mobile-actions a,.lightbox-close,.lightbox-nav,.submit-link){background-repeat:no-repeat;background-size:220% 100%;background-position:120% 0}
:where(.text-link,.main-nav a,.house-ledger a,.project-header a,.press-list a,.footer-grid a,.mobile-actions a,.lightbox-close,.lightbox-nav,.submit-link).link-lit{background-image:linear-gradient(100deg,rgba(255,250,241,0) 25%,rgba(242,204,133,.28) 48%,rgba(255,250,241,0) 70%);animation:sage-link-daylight .82s cubic-bezier(.22,1,.36,1) both,sage-link-glint 1.05s cubic-bezier(.22,1,.36,1) both}
@keyframes sage-link-glint{0%{background-position:120% 0}100%{background-position:-120% 0}}
@media(hover:hover){.gallery-card:hover .gallery-media::before{opacity:.2;transform:translate3d(9%,-6%,0) scale(1.08);transition:opacity .6s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}:where(.text-link,.main-nav a,.house-ledger a,.project-header a,.press-list a,.footer-grid a,.mobile-actions a,.lightbox-close,.lightbox-nav,.submit-link):hover{background-image:linear-gradient(100deg,rgba(255,250,241,0) 25%,rgba(242,204,133,.24) 48%,rgba(255,250,241,0) 70%);background-position:-110% 0;transition:background-position .8s cubic-bezier(.22,1,.36,1),color .35s ease,text-shadow .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1)}}
@media(prefers-reduced-motion:reduce){.sun-section.is-lit .sun-field,.gallery-card.light-on .gallery-media::before,:where(.text-link,.main-nav a,.house-ledger a,.project-header a,.press-list a,.footer-grid a,.mobile-actions a,.lightbox-close,.lightbox-nav,.submit-link).link-lit{animation:none!important}.gallery-media::before{display:none!important}.sun-path .sun-times span{transition:none!important}.sun-path .sun-times span.solar-current{transform:none!important}}

/* Decorative light may exceed its local frame, never the document width. */
.cinematic-hero,.interlude,.contact{overflow:hidden;contain:paint}
@supports (overflow:clip){.cinematic-hero,.interlude,.contact{overflow:clip}}

/* Keep the daylight ornaments inside the physical desktop canvas. */
@media(min-width:901px){
  .cinematic-hero .hero-sun{width:min(48vw,680px);right:calc(var(--pad)*.4);top:-16vw}
  .contact-sun{width:min(32vw,460px);right:var(--pad)}
  .interlude img{transform:none!important}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.interlude:hover img{transform:none!important;filter:saturate(1.04) brightness(1.035)}}

/* Local light fields stay inside their own section geometry. */
.sun-section::before,.about::before,footer::before{inset:0}
.sun-path::before{inset:0 0 2.75rem}
@media(max-width:900px){.sun-path::before{inset:0 0 2.2rem}}

/* Navigation solar chronometer: a quiet header-bound view of page progress. */
.nav-sun-progress{position:absolute;z-index:3;top:.55rem;right:var(--pad);width:min(51vw,45.5rem);height:1rem;pointer-events:none;opacity:.72;transition:opacity .45s ease}
.nav-sun-progress svg{display:block;width:100%;height:100%;overflow:visible}
.nav-sun-progress-track{fill:none;stroke:rgba(113,102,84,.24);stroke-width:1.05;stroke-linecap:round}
.nav-sun-progress-fill{fill:none;stroke:var(--sun);stroke-width:1.2;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(188,116,34,.16));will-change:stroke-dashoffset}
.nav-sun-progress-marker{will-change:transform}
.nav-sun-progress-halo{fill:rgba(255,250,241,.9);stroke:rgba(188,116,34,.38);stroke-width:.5;filter:drop-shadow(0 0 4px rgba(188,116,34,.18))}
.nav-sun-progress-core{fill:var(--sun)}
.site-header.scrolled .nav-sun-progress{opacity:1}
.sun-section.is-lit .sun-field{animation-duration:2.65s}.sun-path .sun-times span{transition-duration:1.05s}.sun-traveller{transition-duration:1.1s}
@media(max-width:900px){.nav-sun-progress{top:.55rem;left:10rem;right:5.1rem;width:auto;height:.88rem;opacity:.62}.nav-sun-progress-track{stroke-width:1.18}.nav-sun-progress-fill{stroke-width:1.35}.nav-sun-progress-halo{r:4.25}.nav-sun-progress-core{r:1.55}}
@media(prefers-reduced-motion:reduce){.nav-sun-progress{transition:none}.nav-sun-progress-fill,.nav-sun-progress-halo{filter:none}.sun-section.is-lit .sun-field{animation-duration:0s}}

/* Final header solar measure: a precise datum, not an ornament. */
.nav-sun-progress{top:.9rem;right:calc(var(--pad) + 8.8rem);width:min(12rem,16vw);height:.55rem;opacity:.54;transition:opacity .3s ease}
.nav-sun-progress svg{overflow:visible}
.nav-sun-progress-track{stroke:rgba(113,102,84,.26);stroke-width:.72;stroke-linecap:butt}
.nav-sun-progress-fill{stroke:var(--sun);stroke-width:.86;stroke-linecap:butt;filter:none}
.nav-sun-progress-marker{will-change:transform}
.nav-sun-progress-core{fill:var(--sun);stroke:var(--paper);stroke-width:.85;filter:none}
.site-header.scrolled .nav-sun-progress{opacity:.78}
@media(max-width:900px){.nav-sun-progress{top:1.08rem;left:auto;right:5.45rem;width:3.85rem;height:.42rem;opacity:.48}.nav-sun-progress-track{stroke-width:.76}.nav-sun-progress-fill{stroke-width:.9}.nav-sun-progress-core{r:1.32;stroke-width:.82}}
@media(prefers-reduced-motion:reduce){.nav-sun-progress{transition:none}}

/* Under-nav solar rule: a full-span daylight measure with a drawn sun marker. */
.nav-sun-progress{left:var(--pad);right:var(--pad);top:auto;bottom:.18rem;width:auto;height:1.08rem;opacity:.8;z-index:3}
.nav-sun-progress svg{overflow:visible}
.nav-sun-progress-track{stroke:rgba(113,102,84,.25);stroke-width:.64;stroke-linecap:round}
.nav-sun-progress-fill{stroke:var(--sun);stroke-width:.98;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(188,116,34,.14))}
.nav-sun-progress-marker{will-change:transform}
.nav-sun-progress-ring{fill:rgba(255,250,241,.86);stroke:rgba(188,116,34,.38);stroke-width:.48}
.nav-sun-progress-core{fill:var(--sun);stroke:rgba(255,250,241,.92);stroke-width:.72;filter:drop-shadow(0 0 2px rgba(188,116,34,.32))}
.nav-sun-progress-rays{fill:none;stroke:var(--sun);stroke-width:.68;stroke-linecap:round;opacity:.86}
.site-header.scrolled .nav-sun-progress{opacity:1}.main-nav.open + .nav-sun-progress{opacity:0!important}
@media(max-width:900px){.nav-sun-progress{left:var(--pad);right:var(--pad);top:auto;bottom:.1rem;width:auto;height:.82rem;opacity:.72}.nav-sun-progress-track{stroke-width:.7}.nav-sun-progress-fill{stroke-width:1.03}.nav-sun-progress-ring{r:4}.nav-sun-progress-core{r:1.78}.nav-sun-progress-rays{stroke-width:.72}}
@media(prefers-reduced-motion:reduce){.nav-sun-progress-fill,.nav-sun-progress-core{filter:none}.nav-sun-progress{transition:none}}

/* Icon-free solar measure: a single passing warmth across the lower nav rule. */
.nav-sun-progress{opacity:.64}
.nav-sun-progress-track{stroke:rgba(113,102,84,.22);stroke-width:.58}
.nav-sun-progress-fill{stroke:rgba(188,116,34,.72);stroke-width:.84;filter:drop-shadow(0 0 4px rgba(188,116,34,.11))}
.nav-sun-progress-marker{will-change:transform}
.nav-sun-progress-glow{fill:url(#nav-progress-glow);filter:blur(.45px)}
.site-header.scrolled .nav-sun-progress{opacity:.86}
@media(max-width:900px){.nav-sun-progress{opacity:.58}.nav-sun-progress-track{stroke-width:.64}.nav-sun-progress-fill{stroke-width:.9}.nav-sun-progress-glow{filter:blur(.55px)}}
@media(prefers-reduced-motion:reduce){.nav-sun-progress-fill,.nav-sun-progress-glow{filter:none}}
