:root{--bg: #07090b;--ink: #ecede8;--muted: #a9b0aa;--accent: #b7a16a;--line: #1c2225;--paper: #ffffff;--paper-ink: #111111;--paper-muted: #666666;--paper-line: #e6e6e6}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Manrope,system-ui,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.nwl{background:radial-gradient(900px 420px at 20% -8%,#263130 0%,transparent 55%),radial-gradient(700px 300px at 90% 8%,#11232a 0%,transparent 55%),var(--bg)}.hero{position:relative;min-height:86svh;border-bottom:1px solid var(--line);overflow:clip}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.04)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000040,#00000094 78%,#000000d6)}.hero-content,.indoors-shell{width:min(1120px,calc(100% - 48px));margin:0 auto}.hero-content{position:relative;z-index:3;padding:40px 0 64px}.outdoors-content{min-height:86svh;display:flex;flex-direction:column;justify-content:space-between}.mark{margin:0 0 12px;letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:var(--accent)}h1,.hero h1,.indoors h1{margin:0;font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:.92}.hero h1{font-size:clamp(3.2rem,7vw,6.6rem);max-width:10ch}.lead{margin:18px 0 0;max-width:34ch;font-size:1.02rem}.hero .lead{color:#d7ddd6}.story{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:20px 0 18px;display:grid;gap:6px;border-bottom:1px solid var(--line)}.line{margin:0;color:var(--muted)}.line-1{color:#d5c089}.line-2{color:#9fc1bc}.line-3{color:#b6c0b4}.mosaic{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:16px 0 44px;display:grid;gap:10px;grid-template-columns:repeat(12,1fr);grid-auto-rows:8vw}.tile{margin:0;overflow:hidden;border:1px solid #1a1f23;background:#111}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.tile:hover img{transform:scale(1.03)}.t-1{grid-column:span 7;grid-row:span 8}.t-2{grid-column:span 5;grid-row:span 8}.t-3{grid-column:span 4;grid-row:span 6}.t-4{grid-column:span 8;grid-row:span 6}.t-5,.t-6{grid-column:span 6;grid-row:span 7}.t-7{grid-column:span 5;grid-row:span 6}.t-8{grid-column:span 7;grid-row:span 6}.t-9{grid-column:span 12;grid-row:span 8}.outdoors-accordion{width:min(1240px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:26px 0 8px}.out-panel{position:relative;min-height:420px;background-size:cover;background-position:center;border:1px solid #1b2325;overflow:hidden;cursor:pointer}.out-panel-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#07090b1a,#07090bc7)}.out-panel-rail,.out-content{position:relative;z-index:1}.out-panel-rail{display:flex;gap:12px;align-items:center;padding:18px;color:#ecede8d6;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}.out-content{position:absolute;left:18px;right:18px;bottom:18px}.out-kicker,.tile-kicker,.section-index,.process-index,.micro-head{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.out-content h2,.gallery-block h3,.indoors h2,.indoors h3{margin:0;font-family:"Instrument Serif",Georgia,serif;font-weight:400}.out-content h2{font-size:clamp(2rem,2.6vw,3.2rem);color:#f2f3ef;margin-bottom:12px}.out-content p{margin:0;color:#ecede8d6;max-width:28ch}.outdoor-gallery{transition:opacity .28s ease,transform .28s ease}.outdoor-gallery.is-transitioning{opacity:.62;transform:translateY(6px)}.gallery-block h3{width:min(1120px,calc(100% - 48px));margin:0 auto;padding-top:24px;color:#f1f2ee;font-size:2rem}.footer{border-top:1px solid var(--line);padding:18px 24px 30px;text-align:center;color:#7f8a83;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem}.floating-nav{display:inline-flex;align-items:center;gap:6px;padding:6px;border:1px solid rgba(255,255,255,.18);background:#080b0e85;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#ffffffb8;min-width:96px;min-height:46px;padding:8px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:color .18s ease,background .18s ease}.nav-btn:hover{color:#fff}.nav-btn.is-active{background:#ffffff1a;color:#fff}.nav-btn .label{font-size:.78rem;letter-spacing:.04em}.nav-btn .icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.glyph{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.logo-badge{width:18px;height:18px;border-radius:999px;flex:0 0 auto}.indoors{background:var(--paper);color:var(--paper-ink)}.indoors-hero{border-bottom:1px solid var(--paper-line)}.indoors-content{padding:34px 0 96px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:92px;align-items:end;min-height:calc(100svh - 116px)}.hero-copy{padding:72px 0 20px}.indoors .mark{color:#777}.indoors h1{font-size:clamp(4.6rem,10vw,9.6rem);max-width:7ch;letter-spacing:-.05em}.indoors .lead{color:#4f4f4f;max-width:24ch;font-size:1.18rem;letter-spacing:.01em}.hero-note{margin:28px 0 0;max-width:26ch;color:#767676;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase}.hero-portrait-wrap{margin:0;justify-self:end;width:min(100%,460px)}.indoor-avatar{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center 28%;filter:grayscale(1) contrast(1.08)}.indoors-main{padding:0 0 96px}.indoor-section{padding:52px 0 58px;border-bottom:1px solid var(--paper-line)}.section-intro{display:grid;grid-template-columns:72px minmax(0,1fr);gap:28px;align-items:start;margin-bottom:36px}.section-index,.micro-head,.signal-label,.process-index,.tile-kicker,.tile-meta,figcaption,.contact-list a,.footer-light{color:var(--paper-muted)}.section-intro h2{font-size:clamp(2.5rem,3.7vw,4.2rem);line-height:.92;letter-spacing:-.04em}.section-intro p{margin:8px 0 0;max-width:36ch;color:var(--paper-muted)}.signal-list{display:grid;gap:0;border-top:1px solid var(--paper-line)}.signal-row,.product-row,.education-row,.contact-list li{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--paper-line)}.signal-value,.split-copy p,.product-main p,.process-card p,.case-row p,.education-row p,.career-item,.contact-list a,.indoors blockquote{font-size:1.04rem;line-height:1.78}.signal-value a,.product-main a,.bassi-inline-link,.contact-list a:hover{text-decoration:underline;text-underline-offset:.14em}.section-split .section-intro{margin-bottom:22px}.split-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px}.split-copy.single-column{grid-template-columns:minmax(0,1fr);max-width:760px}.product-stack,.education-list,.contact-list,.case-list{list-style:none;margin:0;padding:0}.product-row{grid-template-columns:160px minmax(0,1fr) minmax(240px,320px);align-items:start}.product-row.is-primary{border-top:1px solid var(--paper-ink)}.product-main h3,.education-row h3{display:flex;align-items:center;gap:10px;font-size:clamp(2rem,2.8vw,2.9rem);line-height:.96;margin-bottom:14px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.process-card{padding-top:24px;border-top:1px solid var(--paper-ink)}.process-card h3{font-size:1.6rem;margin:10px 0 12px}.case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.case-row{padding-top:28px;border-top:1px solid var(--paper-ink)}.case-row h3{font-size:clamp(1.8rem,2.2vw,2.4rem);margin-bottom:14px}.case-row p{margin:0 0 12px}.section-quote blockquote{margin:0;max-width:16ch;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2.4rem,4vw,4.5rem);line-height:1;letter-spacing:-.04em}.section-quote .tile-meta{margin-top:18px}.evidence-grid,.bassi-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.evidence-tile,.bassi-photo{margin:0}.evidence-tile:first-child{grid-column:span 2}.evidence-tile:first-child img{aspect-ratio:16 / 9}.evidence-tile img,.bassi-photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover;filter:grayscale(1) contrast(1.06)}figcaption{margin-top:10px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.career-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}.career-item{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--paper-line)}.chip-grid{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 36px}.chip{padding:11px 16px;border:1px solid var(--paper-line);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}.contact-list a{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.section-contact .section-intro{margin-bottom:16px}.footer-light{border-top-color:var(--paper-line);color:var(--paper-muted)}@media (max-width: 960px){.outdoors-accordion,.case-list,.evidence-grid,.bassi-photo-grid,.process-grid,.hero-grid,.split-copy,.product-row,.signal-row,.education-row,.contact-list li,.section-intro{grid-template-columns:1fr}.hero-grid{min-height:auto;gap:36px;padding-top:40px}.hero-copy{padding-top:20px}.hero-portrait-wrap{justify-self:start;width:min(100%,320px)}.section-intro,.product-row,.signal-row,.education-row,.contact-list li{gap:8px}.case-list,.process-grid,.evidence-grid,.bassi-photo-grid{gap:20px}.section-quote blockquote{max-width:100%}.mosaic{grid-auto-rows:14vw}.t-1,.t-2,.t-3,.t-4,.t-5,.t-6,.t-7,.t-8,.t-9{grid-column:span 12;grid-row:span 8}.outdoors-accordion{grid-template-columns:1fr}}@media (max-width: 640px){.hero-content,.indoors-shell,.story,.mosaic,.outdoors-accordion,.gallery-block h3{width:min(100% - 32px,1120px)}.hero-content{padding-top:18px}.indoors-content{padding-top:18px;padding-bottom:40px}.floating-nav{width:100%;justify-content:space-between}.nav-btn{min-width:0;flex:1 1 0}.indoors h1{font-size:clamp(3rem,16vw,4.9rem)}.section-intro h2,.case-row h3,.product-main h3,.education-row h3{font-size:1.8rem}.indoor-section{padding:34px 0 38px}.chip-grid{gap:8px}.chip{width:100%}}
