:root{--ink:#101010;--paper:#f4f2ed;--blue:#a9c8e3;--yellow:#f3dd25;--mono:"Roboto Mono",monospace;--sans:"Figtree",Arial,sans-serif}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:auto}body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);overflow-x:hidden}.grain{z-index:20;pointer-events:none;opacity:.055;position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.page-progress{position:fixed;z-index:30;top:0;left:0;width:100%;height:3px;background:#ffffff22}.page-progress span{display:block;background:var(--yellow);height:100%;width:0}.nav{position:fixed;z-index:15;display:flex;align-items:center;justify-content:space-between;top:0;left:0;width:100%;padding:25px 3.1vw;color:#fff;mix-blend-mode:difference}.logo{line-height:0;color:inherit}.logo svg{width:84px;fill:currentColor}.menu-toggle{font:500 11px var(--mono);letter-spacing:.04em;border:0;padding:10px 0;background:transparent;color:inherit;cursor:pointer;display:flex;align-items:center;gap:12px}.menu-toggle i{width:28px;height:1px;background:currentColor;display:block;position:relative}.menu-toggle i:after{content:"";position:absolute;width:15px;height:1px;background:currentColor;right:0;top:5px}.menu{position:fixed;inset:0;background:var(--yellow);color:var(--ink);clip-path:inset(0 0 100% 0);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;transition:clip-path .7s cubic-bezier(.76,0,.24,1);pointer-events:none}.menu.open{clip-path:inset(0);pointer-events:auto}.menu a{font-size:clamp(3rem,9vw,9rem);font-weight:700;line-height:.9;color:inherit;text-decoration:none;transition:font-style .2s}.menu a:hover{font-style:italic}.cursor{position:fixed;left:0;top:0;z-index:50;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);display:none}.cursor--dot{width:6px;height:6px;background:#fff;mix-blend-mode:difference}.cursor--ring{width:34px;height:34px;border:1px solid #fff;mix-blend-mode:difference;transition:width .3s,height .3s,background .3s}.cursor--ring.active{width:76px;height:76px;background:#fff}.cursor--ring span{font:9px var(--mono);display:none}.cursor--ring.active span{display:block;color:#111;text-align:center;line-height:74px}a{color:inherit}.eyebrow,.section-head span,.hero-index,.mono{font:400 10px var(--mono);letter-spacing:.04em}.section-head{position:absolute;top:38px;left:3.1vw;right:3.1vw;display:flex;justify-content:space-between}.hero{height:100svh;min-height:680px;color:#fff;position:relative;overflow:hidden}.hero-media,.hero-media img,.hero-wash{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;filter:grayscale(1)}.hero-wash{background:linear-gradient(90deg,#000b 0%,#0004 52%,#0001),linear-gradient(0deg,#000a,transparent 43%)}.hero-content{position:absolute;left:3.1vw;right:3.1vw;bottom:11vh}.hero-kicker{margin:0 0 24px}.hero-kicker span{margin:0 10px}.hero h1{font-size:clamp(4.25rem,10.2vw,11rem);line-height:.8;letter-spacing:-.075em;margin:0;font-weight:700}.hero h1 span{display:block;overflow:hidden}.hero h1 em,.manifesto em,.about em,.projects em,.process em,.footer em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.09em}.hero-intro{max-width:305px;font-size:15px;line-height:1.35;margin:35px 0 0 45%;}.scroll-hint{position:absolute;bottom:32px;left:3.1vw;text-decoration:none;font:10px var(--mono);display:flex;gap:14px;align-items:center}.scroll-hint i{height:36px;width:1px;background:currentColor;display:block;position:relative;overflow:hidden}.scroll-hint i:after{content:"";height:14px;width:1px;background:var(--yellow);position:absolute;animation:scroll 1.5s infinite}.hero-index{position:absolute;right:3.1vw;bottom:32px}.hero-index span{padding:0 6px}@keyframes scroll{from{top:-15px}to{top:38px}}section{position:relative}.section-dark{background:var(--ink);color:var(--paper)}.section-light{background:var(--paper)}.manifesto{min-height:100vh;display:flex;flex-direction:column;padding:38px 3.1vw 7vh;justify-content:space-between}.manifesto-copy{font-size:clamp(2.6rem,6.4vw,8.6rem);line-height:.92;letter-spacing:-.07em;align-self:center;width:85%}.manifesto-copy p{margin:0}.manifesto-copy p+ p{padding-left:18%}.manifesto-foot{font-size:14px;max-width:260px;margin:0 0 0 55%}.about{min-height:110vh;padding:150px 3.1vw 9vw}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;max-width:1220px;margin:auto}.about-title h2,.projects h2,.process h2,.territory h2,.footer h2{font-size:clamp(3.4rem,7.2vw,8.5rem);letter-spacing:-.08em;line-height:.82;margin:0}.about-rule{height:1px;background:var(--ink);width:0;margin-top:60px}.about-body{padding-top:12vw}.lead{font-size:clamp(1.25rem,2vw,2.1rem);line-height:1.08;margin-top:0}.about-body p:not(.lead){max-width:365px;font-size:15px;line-height:1.4}.text-link{font:10px var(--mono);text-decoration:none;margin-top:45px;display:inline-block;border-bottom:1px solid;padding-bottom:8px}.text-link b{font-size:18px;font-weight:400;margin-left:14px}.stat{display:flex;gap:14px;align-items:baseline}.stat strong{font-size:clamp(3rem,7vw,7rem);letter-spacing:-.08em}.stat span{font:10px var(--mono)}.stat-one{grid-column:1}.stat-two{grid-column:2}.systems{min-height:100vh;padding:135px 3.1vw 8vw;overflow:hidden}.systems-list{position:relative;z-index:2}.system-card{border-top:1px solid #fff4}.system-card:last-child{border-bottom:1px solid #fff4}.system-card a{height:17vh;min-height:115px;display:grid;grid-template-columns:15% 1fr 1fr 45px;align-items:center;text-decoration:none}.system-number{font:10px var(--mono)}.system-card h2{font-size:clamp(3rem,7vw,8rem);letter-spacing:-.08em;margin:0;line-height:.8}.system-card p{font-size:14px;max-width:220px}.system-card i{font-style:normal;font-size:25px}.system-preview{position:absolute;z-index:1;width:32vw;height:40vh;right:11vw;top:25%;overflow:hidden;opacity:0;transform:scale(.85);pointer-events:none}.system-preview img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.projects{padding:130px 3.1vw 12vw;overflow:hidden}.projects-intro{display:flex;align-items:end;justify-content:space-between;max-width:1200px;margin:8vw auto 14vw}.projects-intro p{max-width:250px;font-size:15px}.project{position:relative;max-width:1200px;margin:0 auto 17vw}.project-photo{overflow:hidden}.project-photo img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1);transition:filter .6s,transform 1s}.project:hover img{filter:grayscale(0);transform:scale(1.04)}.project-a .project-photo{width:66%;height:62vw;max-height:770px}.project-b .project-photo{width:54%;height:55vw;max-height:660px;margin-left:auto}.project-c .project-photo{width:75%;height:48vw;max-height:580px}.project-meta{background:var(--paper);position:absolute;padding:22px 25px;min-width:245px}.project-a .project-meta{left:55%;bottom:-45px}.project-b .project-meta{left:14%;bottom:12%}.project-c .project-meta{right:3%;bottom:-50px}.project-meta span,.project-meta p{font:10px var(--mono);margin:0}.project-meta h3{font-size:clamp(1.5rem,3vw,3.5rem);letter-spacing:-.06em;margin:22px 0 8px}.circle-link{position:absolute;right:15px;bottom:15px;width:38px;height:38px;border:1px solid;border-radius:50%;text-decoration:none;display:grid;place-items:center}.section-blue{background:var(--blue);color:var(--ink)}.process{padding:150px 3.1vw 9vw;min-height:100vh}.process-title{margin-left:16%;margin-bottom:14vw}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid #111}.process-list li{display:grid;grid-template-columns:14% 34% 1fr;align-items:center;min-height:140px;border-bottom:1px solid #111;opacity:.32;transition:opacity .4s}.process-list li.active{opacity:1}.process-list span{font:10px var(--mono)}.process-list b{font-size:clamp(1.7rem,3.2vw,3.7rem);letter-spacing:-.06em}.process-list p{font-size:14px;max-width:260px}.section-yellow{background:var(--yellow);color:var(--ink)}.territory{padding:38px 3.1vw 8vw;min-height:80vh;display:flex;flex-direction:column;justify-content:space-between}.territory-content{margin:auto;display:flex;align-items:end;gap:10vw}.territory-content h2 span{font-family:var(--sans);font-size:.55em}.territory-content p{max-width:265px;font-size:15px;line-height:1.35}.territory-content .mono{font-size:10px;margin-top:50px}.territory-stamp{font:10px var(--mono);border:1px solid;width:62px;height:62px;display:grid;place-content:center;text-align:center;border-radius:50%;align-self:flex-end;transform:rotate(-16deg)}.footer{padding:38px 3.1vw 24px;min-height:100vh;display:flex;flex-direction:column}.footer-top{display:flex;justify-content:space-between}.footer h2{margin:auto 0 6vw}.footer-cta{font:10px var(--mono);text-decoration:none;border-top:1px solid #fff;display:flex;justify-content:space-between;padding:18px 0}.footer-cta i{font-size:22px;font-style:normal}.footer-bottom{display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);margin-top:auto;padding-top:35px}.footer-bottom a{text-decoration:none}.footer .logo{color:var(--paper)}
@media (hover:hover) and (pointer:fine){.cursor{display:block}body{cursor:none}a,button{cursor:none}}@media(max-width:700px){.nav{padding:21px 5vw}.logo svg{width:72px}.hero-content{left:5vw;right:5vw;bottom:16vh}.hero h1{font-size:clamp(3.9rem,15vw,6rem)}.hero-intro{margin:28px 0 0 22%;font-size:14px}.hero-index{right:5vw}.scroll-hint{left:5vw}.section-head{left:5vw;right:5vw}.manifesto{padding-left:5vw;padding-right:5vw}.manifesto-copy{width:100%;font-size:clamp(2.9rem,12vw,4.8rem)}.manifesto-copy p+p{padding-left:4%}.manifesto-foot{margin-left:25%;font-size:13px}.about{padding:125px 5vw 70px}.about-grid{display:block}.about-title h2{font-size:17vw}.about-body{padding:70px 0}.about-rule{margin-top:38px}.stat{margin:24px 0}.systems{padding-left:5vw;padding-right:5vw}.system-card a{grid-template-columns:12% 1fr 25px;height:19vh}.system-card p{display:none}.system-preview{display:none}.projects{padding:125px 5vw 60px}.projects-intro{display:block;margin:16vw 0 24vw}.projects-intro h2{font-size:14vw}.projects-intro p{margin:30px 0 0 25%}.project{margin-bottom:30vw}.project-a .project-photo,.project-b .project-photo,.project-c .project-photo{width:100%;height:95vw;margin:0}.project-meta,.project-a .project-meta,.project-b .project-meta,.project-c .project-meta{left:auto;right:0;bottom:-70px;min-width:210px;padding:16px 18px}.process{padding:125px 5vw 70px}.process-title{margin:15vw 0}.process-title h2{font-size:15vw}.process-list li{grid-template-columns:14% 1fr;min-height:115px}.process-list p{display:none}.territory{padding:35px 5vw 60px;min-height:650px}.territory-content{display:block;margin: auto 0}.territory-content h2{font-size:15vw}.territory-content p{margin:50px 0 0 28%}.footer{padding-left:5vw;padding-right:5vw}.footer h2{font-size:15vw}.footer-bottom span{display:none}}
:root{--ink:#000;--paper:#fff;--blue:#bed9f8;--yellow:#faf0b6}.grain{opacity:.035}

/* Keep the full-screen menu anchored to the viewport, above page content and below its controls. */
.nav{mix-blend-mode:normal;transform:none!important}
.nav>.logo,.nav>.menu-toggle{position:relative;z-index:2;mix-blend-mode:difference}
.nav:has(.menu.open)>.logo,.nav:has(.menu.open)>.menu-toggle{color:var(--ink);mix-blend-mode:normal}
.menu{z-index:1}

/* A restrained architectural light that follows the visit through the page. */
.light-field{--light-x:50%;--light-y:50%;position:fixed;z-index:14;inset:0;pointer-events:none;opacity:.34;mix-blend-mode:screen;background:radial-gradient(circle 240px at var(--light-x) var(--light-y),rgba(255,247,188,.32) 0,rgba(255,237,116,.14) 28%,transparent 72%);transition:opacity .6s ease,background .8s ease}
.light-field[data-tone="light"]{opacity:.2;mix-blend-mode:multiply;background:radial-gradient(circle 280px at var(--light-x) var(--light-y),rgba(169,200,227,.42) 0,rgba(169,200,227,.1) 36%,transparent 72%)}
.light-field[data-tone="blue"]{opacity:.24;mix-blend-mode:screen;background:radial-gradient(circle 270px at var(--light-x) var(--light-y),rgba(255,250,213,.46) 0,rgba(255,255,255,.1) 38%,transparent 74%)}
.light-field[data-tone="yellow"]{opacity:.22;mix-blend-mode:multiply;background:radial-gradient(circle 280px at var(--light-x) var(--light-y),rgba(169,200,227,.48) 0,rgba(169,200,227,.08) 40%,transparent 74%)}
@media (hover:hover) and (pointer:fine){.light-field{opacity:.42}.light-field[data-tone="light"],.light-field[data-tone="yellow"]{opacity:.22}.light-field[data-tone="blue"]{opacity:.28}}
@media (max-width:700px){.light-field{--light-y:42%;opacity:.2;background:radial-gradient(circle 180px at var(--light-x) var(--light-y),rgba(255,247,188,.25),transparent 72%)}}
@media (prefers-reduced-motion:reduce){.light-field{transition:none}}

/* Compact, persistent navigation built from the official identity system. */
.nav{padding:20px 3.1vw;transition:color .35s ease}
.nav>.logo{position:relative;z-index:2;width:18px;height:24px;mix-blend-mode:normal}
.nav>.logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .35s ease}
.nav .logo-black{opacity:0}.nav[data-theme="light"] .logo-white,.nav[data-theme="blue"] .logo-white,.nav[data-theme="yellow"] .logo-white{opacity:0}.nav[data-theme="light"] .logo-black,.nav[data-theme="blue"] .logo-black,.nav[data-theme="yellow"] .logo-black{opacity:1}
.compact-nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,36px);font:500 9px var(--mono);letter-spacing:.06em}
.compact-nav a{position:relative;color:#fff;text-decoration:none;opacity:.58;transition:opacity .25s ease}
.compact-nav a span{font-size:7px;vertical-align:top;margin-right:5px;opacity:.55}
.compact-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.compact-nav a:hover,.compact-nav a.active{opacity:1}.compact-nav a.active:after{transform:scaleX(1)}
.nav[data-theme="light"] .compact-nav a,.nav[data-theme="blue"] .compact-nav a,.nav[data-theme="yellow"] .compact-nav a{color:var(--ink)}
.hero h1 em,.manifesto em,.about em,.projects em,.process em,.footer em{font-family:var(--sans);font-style:normal;font-weight:400;letter-spacing:-.075em}
.footer-mark{display:block;width:22px;height:29px}.footer-mark img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.nav{padding:17px 5vw}.nav>.logo{width:15px;height:20px}.compact-nav{gap:13px;font-size:7px;letter-spacing:.025em}.compact-nav a span{display:none}}

/* Client feedback 1.1 — extensions preserve the original visual system. */
.nav{z-index:40}.light-field{z-index:14}.grain{z-index:20}.page-progress{z-index:50}
.manifesto-foot{max-width:360px;font-size:clamp(14px,1.15vw,18px)}.manifesto-foot strong{display:block;font-size:1.35em;margin-bottom:10px}
.brands{max-width:1220px;margin:12vw auto 0}.brands>.eyebrow{margin-bottom:34px}.brands-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}.brands-grid span{display:grid;place-items:center;min-height:105px;padding:16px;text-align:center;font-size:clamp(16px,1.6vw,24px);font-weight:600;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.brands-grid span:nth-child(4n){border-right:0}
.system-card button{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;height:17vh;min-height:115px;display:grid;grid-template-columns:15% 1fr 1fr 45px;align-items:center}.system-card button h2{font-size:clamp(3rem,7vw,8rem);letter-spacing:-.08em;margin:0;line-height:.8}.system-card button p{font-size:14px;max-width:220px}.system-card button i{font-style:normal;font-size:25px;transition:transform .35s}.system-card.open button i{transform:rotate(45deg)}.system-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.76,0,.24,1);background:#151515}.system-detail p{overflow:hidden;margin:0;padding:0 15%;max-width:850px;font-size:clamp(17px,2vw,28px);line-height:1.25;opacity:0;transition:padding .55s,opacity .35s}.system-card.open .system-detail{grid-template-rows:1fr}.system-card.open .system-detail p{padding-top:34px;padding-bottom:44px;opacity:1}
.projects-intro p{font-size:clamp(20px,2vw,32px);line-height:1.05;max-width:390px;font-weight:600;letter-spacing:-.035em}
.process-list.all-active li{opacity:1}.process-list.all-active li b{font-weight:800}
@media(max-width:700px){.brands{margin-top:100px}.brands-grid{grid-template-columns:repeat(2,1fr)}.brands-grid span{min-height:82px}.brands-grid span:nth-child(odd){border-right:1px solid}.brands-grid span:nth-child(even){border-right:0}.system-card button{grid-template-columns:12% 1fr 25px;height:19vh}.system-card button p{display:none}.system-detail p{padding-left:12%;padding-right:8%}.projects-intro p{margin-left:25%;font-size:21px;max-width:70%}}

/* Feedback 1.2 */
.manifesto{justify-content:flex-start}.manifesto-copy{margin:auto}.manifesto-copy strong{font-weight:800}.manifesto-copy .manifesto-subtitle{font-size:clamp(1.35rem,2.5vw,3.2rem);line-height:1.12;letter-spacing:-.04em;padding:30px 0 0 18%;max-width:980px;font-weight:400}
.about-title h2 strong{font-weight:800}.about-title h2 em{font-weight:400}
.brands{overflow:hidden;margin-left:-3.1vw;margin-right:-3.1vw}.brands>.eyebrow{padding-left:3.1vw}.brands-marquee{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden}.brands-track{display:flex;width:max-content;align-items:center;animation:brands-marquee 32s linear infinite}.brands-track span{font-size:clamp(1.4rem,3vw,3.4rem);font-weight:600;white-space:nowrap;padding:30px clamp(30px,4vw,75px);position:relative}.brands-track span:after{content:"·";position:absolute;right:-4px;font-weight:400}.brands-marquee:hover .brands-track{animation-play-state:paused}@keyframes brands-marquee{to{transform:translateX(-50%)}}
.system-preview{opacity:.12!important;mix-blend-mode:screen}.system-preview img{filter:grayscale(1) brightness(.38) contrast(1.18)}.system-card:hover~.system-preview{opacity:.18}.system-card h2,.system-card button h2{position:relative;z-index:3}
.project.project-d .project-photo{width:60%;height:56vw;max-height:690px;margin-left:auto}.project.project-d .project-meta{left:15%;bottom:8%}.project-photo-link{display:block;width:100%;height:100%}.project-photo-link img{width:100%;height:100%;object-fit:cover}.process-title h2 strong{font-weight:800}.process-title h2 em{font-weight:400}
.projects-intro h2 strong{font-weight:800}.projects-intro h2 em{font-weight:400}
@media(max-width:700px){.manifesto-copy .manifesto-subtitle{font-size:21px;padding-left:4%}.brands{margin-left:-5vw;margin-right:-5vw}.brands>.eyebrow{padding-left:5vw}.brands-track span{padding:22px 34px}.project.project-d .project-photo{width:100%;height:95vw;margin:0}.project.project-d .project-meta{left:auto;right:0;bottom:-70px}}
@media(prefers-reduced-motion:reduce){.brands-track{animation:none;flex-wrap:wrap;width:auto}}

/* Feedback 1.3 — visible system imagery without sacrificing the typography. */
.section-head{display:none}
.systems:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.82) 34%,rgba(0,0,0,.32) 63%,rgba(0,0,0,.08) 100%)}
.system-preview{width:42vw;height:52vh;right:5vw;top:23%;opacity:.62!important;mix-blend-mode:normal;transform:scale(1);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}
.system-preview img{filter:grayscale(1) brightness(.72) contrast(1.22)}
.system-card button h2,.system-card button p{position:relative;z-index:3;text-shadow:0 2px 20px rgba(0,0,0,.9)}
@media(max-width:700px){.systems:after{background:rgba(0,0,0,.2)}}

/* Feedback 1.4 — full-bleed monochrome partner-logo reel. */
.brands{position:relative;left:50%;width:100vw;max-width:none;margin:12vw 0 0;transform:translateX(-50%)}
.brands>.eyebrow{padding-left:3.1vw}
.brands-marquee{width:100%;background:var(--paper)}
.brands-track{min-width:max-content;animation-duration:44s}
.brands-track .brand-logo{display:flex;align-items:center;justify-content:center;width:clamp(190px,18vw,310px);height:clamp(108px,10vw,155px);padding:28px clamp(28px,3.5vw,58px)}
.brands-track .brand-logo:after{content:none}
.brands-track .brand-logo img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(0)}
@media(max-width:700px){.brands{left:50%;width:100vw;margin-top:100px}.brands>.eyebrow{padding-left:5vw}.brands-track .brand-logo{width:180px;height:105px;padding:24px 30px}.brands-track{animation-duration:34s}}

/* Feedback 1.5 — give the opening statement an editorial-information hierarchy. */
.hero-intro{max-width:500px;margin-top:38px;font-size:clamp(18px,1.5vw,25px);line-height:1.22;letter-spacing:-.02em}
@media(max-width:700px){.hero-intro{max-width:78%;margin:28px 0 0 18%;font-size:18px;line-height:1.28}}

/* Feedback 2.0 — identity, compact project archive and complete contact routes. */
.hero h1 span{overflow:visible;padding-bottom:.1em;margin-bottom:-.1em}
.about-title h2 strong{font-size:1em;line-height:.9;letter-spacing:-.065em}.about-title h2 em{font-weight:400}
.about-statement{grid-column:1 / -1;max-width:930px;margin:4vw 0 1vw;font-size:clamp(1.4rem,2.35vw,2.7rem);line-height:1.12;letter-spacing:-.035em}
.projects{padding-bottom:10vw}
.projects-intro{margin-bottom:9vw}
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9vw 4vw;max-width:1200px;margin:0 auto}
.projects-grid .project{position:relative;max-width:none;margin:0}
.projects-grid .project-photo{width:100%;height:auto;aspect-ratio:4/3;max-height:none;margin:0}
.projects-grid .project-photo-link{display:block;width:100%;height:100%}
.projects-grid .project-meta{position:relative;inset:auto;min-width:0;padding:18px 58px 0 0;background:transparent}
.projects-grid .project-meta h3{font-size:clamp(1.65rem,2.4vw,3rem);margin:14px 0 6px}
.projects-grid .circle-link{right:0;bottom:0}
.contact-actions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #fff;border-bottom:1px solid #fff}
.contact-action{position:relative;min-height:150px;padding:22px 48px 22px 0;border-right:1px solid #fff5;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between}
.contact-action:nth-child(2),.contact-action:nth-child(3){padding-left:24px}
.contact-action span{font:10px var(--mono)}
.contact-action strong{font-size:clamp(16px,1.4vw,23px);font-weight:500;overflow-wrap:anywhere}
.contact-action i{position:absolute;right:20px;top:18px;font-family:Arial,sans-serif;font-style:normal;font-size:25px;font-variant-emoji:text;line-height:1}
.contact-actions address{grid-column:1/-1;padding:20px 0;font:400 12px/1.4 var(--mono);font-style:normal;border-top:1px solid #fff5}
.footer-bottom{justify-content:flex-start;gap:30px}
@media(max-width:700px){
  .hero h1{line-height:.84}
  .about-title h2 strong{font-size:1em}.about-statement{margin:12px 0 38px;font-size:22px}
  .projects-intro{margin-bottom:18vw}.projects-grid{grid-template-columns:1fr;gap:25vw}
  .projects-grid .project{margin:0}.projects-grid .project-photo{height:auto;aspect-ratio:4/3}
  .projects-grid .project-meta{position:relative!important;inset:auto!important;padding:16px 55px 0 0!important;min-width:0!important}
  .system-card button{touch-action:manipulation}
  .system-card button i{display:block}.system-detail{position:relative;z-index:4}
  .system-card.open .system-detail p{padding:26px 8% 32px 12%;font-size:18px;display:block}
  .footer{min-height:100svh}.footer h2{margin:18vh 0 12vw}
  .contact-actions{grid-template-columns:1fr}.contact-action{min-height:112px;padding:18px 45px 18px 0!important;border-right:0;border-bottom:1px solid #fff5}
  .contact-actions address{grid-column:1;padding:18px 0}
}

/* Restore the original light-follow cursor and negative category lens. */
.light-field{display:none!important}
.page-progress{z-index:70}.cursor{z-index:80}.cursor--dot{width:7px;height:7px}.cursor--ring{border-color:#fff;box-shadow:0 0 42px 14px rgba(250,240,182,.16)}
.cursor--ring.system-active{width:104px;height:104px;background:#fff;border-color:#fff;box-shadow:0 0 58px 18px rgba(250,240,182,.24);mix-blend-mode:difference}
.cursor--ring.system-active span{display:block;color:#111;text-align:center;line-height:102px;letter-spacing:.12em}
@media (any-hover:hover) and (any-pointer:fine){.cursor{display:block}body,body *{cursor:none!important}}

/* Editorial route reveal — keep the diagonal arrow typographic and black on every viewport. */
.territory-route .route-line{display:inline-block;overflow:visible;vertical-align:bottom;font-family:inherit;font-size:1em}
.territory-route .route-city{display:inline-block;font-family:inherit;font-size:1em}
.territory-route .route-second{display:flex;align-items:baseline;gap:.12em;font-family:inherit;font-size:1em}
.territory-route .territory-arrow{display:inline-block;flex:0 0 auto;color:#000;font-family:Arial,sans-serif;font-size:.55em;font-style:normal;font-variant-emoji:text;line-height:1}
.circle-link{color:#000!important;font-family:Arial,sans-serif;font-size:20px;font-weight:700;font-variant-emoji:text;line-height:1}
@media(max-width:700px){
  .territory-route{width:100%;font-size:clamp(3rem,13.5vw,4.25rem)!important;line-height:.92!important;letter-spacing:-.065em!important;overflow:visible}
  .territory-route .route-line{overflow:visible;padding:0;margin:0}
  .territory-route .route-second{width:max-content;max-width:100%;gap:.08em}
  .territory-route .territory-arrow{color:#000;font-size:.5em}
}
