:root{--ink:#20221e;--paper:#f0f0ea;--acid:#e7ff63;--line:#c9cbc1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #627715;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}button{border:0}.skip{position:fixed;top:-70px;padding:14px;background:var(--acid);z-index:100}.skip:focus{top:0}header{padding:27px 3.3%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--paper);position:relative;z-index:20}.brand{font-size:25px;font-weight:600;letter-spacing:-1.3px;line-height:1}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:1.1px;margin-top:9px}nav{display:flex;align-items:center;gap:35px;font-size:14px}nav>a{padding:10px 0}nav>a:hover{text-decoration:underline;text-underline-offset:6px}.contact-link{margin-left:25px}.contact-link span{font-size:24px;margin-left:22px}.menu-toggle{display:none}.hero{min-height:690px;height:calc(100svh - 94px);max-height:1000px;display:grid;grid-template-columns:47% 53%;padding-left:3.3%}.hero-intro{display:flex;flex-direction:column;justify-content:space-between;padding:30px 32px 36px 0}.eyebrow{font-size:12px;letter-spacing:1.2px;line-height:1.5}.hero-intro>.eyebrow{display:flex;gap:20px;justify-content:space-between}.hero h1{font-size:clamp(54px,6.1vw,103px);font-weight:400;letter-spacing:-5px;line-height:1.03;margin:50px -70px 35px 0;position:relative;z-index:2}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}.hero-bottom{display:flex;justify-content:space-between;align-items:end;padding-right:15px}.hero-bottom p{font-size:16px;line-height:1.65;margin:0}.circle-link{width:92px;height:92px;border:1px solid var(--ink);border-radius:50%;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:12px;letter-spacing:.5px;transition:.25s}.circle-link span{font-size:26px;line-height:1.3}.circle-link:hover{background:var(--acid);transform:rotate(-10deg)}.hero-visual{position:relative;overflow:hidden;background:#686557}.hero-visual>img{transition:opacity .25s,transform 1.4s;object-position:center}.hero-visual:hover>img{transform:scale(1.04)}.image-shade{position:absolute;inset:0;background:linear-gradient(transparent 50%,#0008)}.vertical-label{position:absolute;right:23px;top:30px;writing-mode:vertical-rl;color:white;font-size:12px;letter-spacing:2px}.hero-caption{position:absolute;bottom:35px;left:40px;right:35px;color:white}.hero-caption>span{font-size:12px;letter-spacing:1.5px}.hero-caption h2{font-weight:400;font-family:Georgia,serif;font-style:italic;font-size:42px;margin:12px 0 25px;letter-spacing:-1px}.scene-buttons{display:flex;gap:10px}.scene-buttons button{background:transparent;border:1px solid #fffa;color:white;width:43px;height:43px;font-size:12px;border-radius:50%;transition:.25s}.scene-buttons button.active{color:var(--ink);background:var(--acid);border-color:var(--acid)}.floating-tag{background:var(--acid);position:absolute;right:-43px;top:48%;font-size:11px;letter-spacing:.8px;padding:14px 55px;transform:rotate(-90deg)}.ribbon{display:flex;overflow:hidden;gap:35px;align-items:center;justify-content:center;padding:28px 0;background:var(--acid);white-space:nowrap}.ribbon span{font-size:36px;letter-spacing:-1px}.ribbon i{font-style:normal;font-size:38px}.section{padding:110px 5.4%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:60px}.section-head h2{font-size:clamp(42px,4.4vw,72px);font-weight:400;line-height:1.05;letter-spacing:-3px;margin:22px 0 0}.section-head p{font-size:16px;line-height:1.7;margin:0;max-width:330px}.projects{background:var(--ink);color:var(--paper)}.projects .eyebrow{color:#b7bbae}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px 6%}.project{background:transparent;padding:0;text-align:left;width:100%}.project-image{overflow:hidden;position:relative;height:440px}.project-image img{transition:transform .65s}.project:hover img{transform:scale(1.045)}.project-open{position:absolute;right:20px;bottom:20px;background:var(--acid);padding:17px 20px;color:var(--ink);font-size:12px;letter-spacing:1px}.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-top:22px}.project-meta h3{font-size:25px;font-weight:400;letter-spacing:-.6px;margin:0}.project-meta>span{font-size:12px;color:#b7bbae}.offset{padding-top:100px}.offset .project-image{height:480px}.wide{grid-column:1/-1;width:78%;margin-left:auto}.wide .project-image{height:430px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:120px}.approach h2{font-size:clamp(48px,5.3vw,82px);line-height:1.07;font-weight:400;letter-spacing:-3px;margin:45px 0}.approach-copy>.lead{font-size:27px;letter-spacing:-.6px;line-height:1.35;margin-top:0}.approach-copy>p{font-size:16px;line-height:1.8;color:#5e6256}.service{display:flex;gap:23px;padding:25px 0;border-top:1px solid var(--line)}.service>span{font-size:12px;margin-top:5px}.service h3{font-size:20px;letter-spacing:-.4px;font-weight:400;margin:0 0 8px}.service p{font-size:14px;line-height:1.5;color:#62665d;margin:0}.material-lab{display:grid;grid-template-columns:1fr 1.15fr;gap:6%;padding-top:75px;padding-bottom:75px;background:#dedfd6}.material-heading h2{font-size:clamp(40px,4vw,67px);font-weight:400;letter-spacing:-2.5px;line-height:1.1;margin:25px 0}.material-heading>p{font-size:16px;line-height:1.7}.mood-controls{display:flex;gap:8px;margin:32px 0}.mood-controls button{border:1px solid #a5a99a;background:transparent;border-radius:30px;padding:12px 16px;display:flex;align-items:center;gap:9px;font-size:14px}.mood-controls i{width:15px;height:15px;border-radius:50%}.mood-controls .selected{background:var(--ink);color:white;border-color:var(--ink)}.mood-text h3{font-size:21px;font-weight:400;margin:0 0 10px}.mood-text p{font-size:14px;line-height:1.7;max-width:310px;color:#5e6256}.material-image{position:relative;min-height:470px;overflow:hidden}.material-image>img{transition:filter .6s}.material-note{position:absolute;top:25px;left:25px;color:white;text-shadow:0 1px 8px black;font-size:11px;letter-spacing:1px}#palette{position:absolute;bottom:25px;left:25px;display:flex;padding:8px;background:#f0f0eacc;gap:5px}#palette i{height:45px;width:45px;transition:background .6s}#palette i:nth-child(1){background:#a7794f}#palette i:nth-child(2){background:#dfd3bd}#palette i:nth-child(3){background:#535343}#palette i:nth-child(4){background:#ede6d8}.journal .section-head{align-items:end}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:10px}.journal-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.journal-statement{padding:35px 28px;background:var(--acid);display:flex;flex-direction:column}.journal-statement>span{font-size:12px;letter-spacing:1px}.journal-statement h3{font-size:clamp(31px,3.2vw,50px);font-weight:400;letter-spacing:-2px;line-height:1.08;margin:35px 0}.journal-statement p{font-size:14px;line-height:1.7;max-width:270px;margin:0 0 30px}.journal-statement a{font-size:13px;margin-top:auto;border-bottom:1px solid;width:fit-content;padding-bottom:7px}.journal-photo{position:relative;min-height:460px;overflow:hidden}.journal-photo img{transition:transform .6s}.journal-photo:hover img{transform:scale(1.05)}.journal-photo>span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000a);padding:50px 22px 25px;color:white;font-size:14px;line-height:1.5}.contact{background:var(--acid);padding-top:65px;padding-bottom:55px;position:relative;overflow:hidden}.contact>.eyebrow{display:flex;justify-content:space-between;gap:20px}.contact h2{font-size:clamp(85px,12.5vw,200px);font-weight:400;letter-spacing:-8px;line-height:.98;margin:65px 0 55px;position:relative}.asterisk{position:absolute;right:8%;top:15%;font-size:180px;animation:rotate 40s linear infinite}.contact-bottom{display:flex;align-items:end;justify-content:space-between;border-top:1px solid #7d8a37;padding-top:30px;gap:30px}.contact-bottom p{font-size:16px;line-height:1.7;margin:0}.contact-bottom a{font-size:22px;letter-spacing:-.5px}.contact-bottom a span{font-size:35px;margin-left:20px}footer{padding:35px 5.4%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer>span,footer>a:last-child{font-size:12px}dialog{padding:0;border:0;width:min(1100px,92vw);max-height:90svh;background:var(--paper);color:var(--ink);overflow:auto}dialog[open]{display:grid;grid-template-columns:1.2fr 1fr}dialog::backdrop{background:#111c;backdrop-filter:blur(8px)}.close-dialog{position:absolute;right:16px;top:16px;z-index:2;padding:13px 18px;background:var(--acid);font-size:12px;letter-spacing:.8px}.dialog-image{min-height:540px}.dialog-copy{padding:80px 35px 40px}.dialog-copy h2{font-size:50px;font-weight:400;letter-spacing:-2px;line-height:1.05;margin:25px 0}.dialog-copy>p{font-size:16px;line-height:1.8;color:#5e6256}#dialog-tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 45px}#dialog-tags span{font-size:12px;border:1px solid var(--line);padding:9px 12px;border-radius:25px}.dialog-contact{font-size:16px;border-bottom:1px solid;padding-bottom:8px}@keyframes rotate{to{transform:rotate(360deg)}}@media(min-width:1700px){body{max-width:2200px;margin:auto}}@media(max-width:1000px){nav{gap:20px}.contact-link{margin-left:0}.hero{min-height:610px;height:760px}.hero h1{letter-spacing:-3px;font-size:65px}.project-meta{display:block}.project-meta>span{display:block;margin-top:10px}.project-image{height:350px}.offset .project-image{height:390px}.wide .project-image{height:330px}.section{padding:80px 5%}.approach{gap:6%}.journal-grid{grid-template-columns:1fr 1fr}.journal-photo.last{display:none}.asterisk{font-size:125px}.material-lab{gap:4%}.mood-controls{flex-wrap:wrap}.dialog-copy h2{font-size:39px}}@media(max-width:700px){header{padding:24px 6%}.brand{font-size:23px}.menu-toggle{display:block;background:transparent;padding:10px 0;font-size:14px}nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--paper);padding:25px 6%;flex-direction:column;align-items:start;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{padding:0;height:auto;min-height:0;display:flex;flex-direction:column}.hero-intro{padding:25px 6% 30px}.hero-intro>.eyebrow{font-size:10px}.hero h1{font-size:clamp(48px,11.7vw,80px);letter-spacing:-2.5px;margin:40px 0 30px;line-height:1.03}.hero-bottom{padding:0}.hero-bottom p{font-size:14px}.circle-link{width:75px;height:75px;font-size:10px}.hero-visual{height:510px}.hero-caption{bottom:28px;left:6%;right:6%}.hero-caption h2{font-size:35px}.vertical-label{right:18px;top:24px}.floating-tag{font-size:10px}.ribbon{padding:20px 0;gap:22px}.ribbon span{font-size:27px}.ribbon i{font-size:28px}.section{padding:65px 6%}.section-head{display:block;margin-bottom:35px}.section-head h2{font-size:43px;letter-spacing:-2px}.section-head p{margin-top:25px;font-size:14px}.project-grid{display:block}.project{margin-bottom:35px}.project-image{height:390px}.offset{padding-top:0}.offset .project-image{height:420px}.wide{width:100%;margin:0}.wide .project-image{height:330px}.project-meta{display:flex;align-items:center}.project-meta h3{font-size:22px}.project-meta>span{font-size:11px;margin:0}.approach{display:block}.approach h2{font-size:56px;margin:30px 0 40px}.approach-copy>.lead{font-size:24px}.material-lab{display:block}.material-heading h2{font-size:45px;letter-spacing:-2px}.material-image{height:410px;min-height:0;margin-top:35px}.material-heading>p{font-size:14px}.mood-controls{margin:25px 0}.journal .text-link{display:inline-block;margin-top:25px}.journal-grid{display:block}.journal-statement{min-height:370px;padding:30px}.journal-statement h3{font-size:45px;margin:30px 0}.journal-photo{display:block;height:400px;min-height:0;margin-top:22px}.journal-photo.last{display:block;height:340px}.contact>.eyebrow{font-size:10px}.contact h2{font-size:clamp(77px,19vw,130px);letter-spacing:-4px;margin:55px 0 40px}.asterisk{right:0;top:25%;font-size:75px}.contact-bottom{display:block}.contact-bottom p{font-size:14px}.contact-bottom a{display:block;margin-top:25px;font-size:20px}footer{padding:30px 6%;flex-wrap:wrap;align-items:start}footer .brand{width:100%;margin-bottom:10px}dialog[open]{display:block}.dialog-image{height:300px;min-height:0}.dialog-copy{padding:30px 25px 40px}.dialog-copy h2{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Architecture as a process: drawing, materials, atmosphere. */
.drawing-journey{height:185vh;min-height:1050px;background:#e6e8df;position:relative}.drawing-sticky{position:sticky;top:0;min-height:100vh;display:grid;grid-template-columns:1fr 1.55fr;align-items:center;gap:5%;padding:65px 5.4%}.drawing-story h2{font-size:clamp(38px,4.2vw,68px);font-weight:400;line-height:1.09;letter-spacing:-2.8px;margin:30px 0}.drawing-story>p{font-size:16px;line-height:1.8;color:#63675d}.drawing-steps{margin:38px 0 35px}.drawing-step{display:flex;gap:20px;padding:18px 0;border-top:1px solid #bdc2b3;opacity:.4;transition:opacity .35s}.drawing-step.current{opacity:1}.drawing-step>span{font-size:12px;margin-top:4px}.drawing-step h3{font-size:20px;font-weight:400;margin:0 0 7px}.drawing-step p{font-size:13px;margin:0;line-height:1.5}.drawing-scroll-note{font-size:10px;letter-spacing:1.7px;color:#74796a}.drawing-board{--material-opacity:0;--sun-opacity:0;--label-opacity:0;background:#20271f;color:#e6ecd8;border:1px solid #b9beae;transition:background .8s,color .8s;position:relative;box-shadow:0 25px 60px #17231010;transform:perspective(1200px) rotateY(-3deg);transform-origin:left center}.drawing-board.material-phase{background:#f1f0e7;color:#424d3c}.drawing-board-top,.drawing-board-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.1px;padding:21px 23px;gap:18px}.drawing-board-top{border-bottom:1px solid #8b967f40}.drawing-board-bottom{border-top:1px solid #8b967f40}.floor-plan{display:block;width:100%;height:auto}.plan-material{opacity:var(--material-opacity)}.plan-sun{opacity:var(--sun-opacity)}.plan-labels,.plan-dimensions{opacity:var(--label-opacity)}.drawing-progress{height:2px;flex:1;max-width:130px;background:#87917640}.drawing-progress i{display:block;width:var(--drawing-progress,0%);height:100%;background:currentColor}.light-lab{background:#171c18;color:#f0f0e8;padding-top:85px;padding-bottom:90px}.light-header{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.light-header .eyebrow{color:#b1b9a5}.light-header h2{font-size:clamp(44px,5.1vw,80px);font-weight:400;line-height:1.05;letter-spacing:-3px;margin:25px 0 0}.light-header>p{font-size:16px;line-height:1.8;color:#b4beaf;margin:0}.light-workspace{border:1px solid #b3c09930}.light-scene{--day-opacity:.75;--lamp-opacity:0;--light-intensity:.65;aspect-ratio:3/2;position:relative;isolation:isolate;overflow:hidden;background:#0b110e}.light-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.room-base{filter:brightness(.17) saturate(.4)}.room-daylight{filter:brightness(1.04) saturate(.78);opacity:var(--day-opacity);mask-image:linear-gradient(100deg,#000 0%,#000 12%,#000d 28%,#0008 49%,#0004 68%,transparent 88%);-webkit-mask-image:linear-gradient(100deg,#000 0%,#000 12%,#000d 28%,#0008 49%,#0004 68%,transparent 88%);transition:opacity 1.1s cubic-bezier(.22,.61,.36,1)}.room-lamplight{filter:brightness(1.17) saturate(.9);opacity:var(--lamp-opacity);mask-image:radial-gradient(ellipse 56% 69% at 92% 44%,#000 0%,#000 13%,#000d 29%,#0009 45%,#0003 70%,transparent 94%);-webkit-mask-image:radial-gradient(ellipse 56% 69% at 92% 44%,#000 0%,#000 13%,#000d 29%,#0009 45%,#0003 70%,transparent 94%);transition:opacity .75s cubic-bezier(.16,1,.3,1),filter 1s}.light-scene.neutral-light .room-lamplight{filter:brightness(1.17) saturate(.22)}.lamp-glow{position:absolute;left:var(--lamp-x);top:var(--lamp-y);transform:translate(-50%,-50%);width:14%;aspect-ratio:1;opacity:calc(var(--lamp-opacity) * .34);background:radial-gradient(ellipse,#ffe7ae88,transparent 66%);filter:blur(14px);mix-blend-mode:screen;transition:opacity .8s}.neutral-light .lamp-glow{background:radial-gradient(ellipse,#ffffff88,transparent 66%)}.light-hotspot{position:absolute;padding:0;background:transparent;color:white;display:flex;align-items:center;flex-direction:column;gap:13px;z-index:4;transform:translate(-50%,-50%);text-align:center}.window-hotspot{left:var(--window-x);top:var(--window-y)}.lamp-hotspot{left:var(--lamp-x);top:var(--lamp-y)}.hotspot-ring{display:flex;justify-content:center;align-items:center;width:47px;height:47px;border:1px solid #f0f0e9aa;border-radius:50%;background:#15201966;backdrop-filter:blur(6px);box-shadow:0 0 0 8px #fff1;transition:.35s}.hotspot-symbol{font-size:23px}.light-hotspot:hover .hotspot-ring{box-shadow:0 0 0 14px #fff1;background:var(--acid);color:#20271f;border-color:var(--acid)}.light-hotspot[aria-pressed=true] .hotspot-ring{background:var(--acid);border-color:var(--acid);color:var(--ink);box-shadow:0 0 0 8px #e7ff631c}.hotspot-label{font-size:10px;line-height:1.5;letter-spacing:1px;padding:7px 9px;background:#111b15bb;backdrop-filter:blur(5px);white-space:nowrap}.scene-topline{position:absolute;left:25px;right:25px;top:25px;display:flex;justify-content:space-between;color:#f1f1e7ad;font-size:10px;letter-spacing:1.3px;pointer-events:none}.scene-caption{position:absolute;bottom:24px;left:25px;right:25px;display:flex;align-items:end;justify-content:space-between;gap:20px;pointer-events:none}.scene-state{font-size:30px;font-family:Georgia,serif;font-style:italic;letter-spacing:-1px;text-shadow:0 2px 15px #000}.scene-tip{font-size:12px;background:#10181199;padding:10px 13px;color:#d2dbc7}.light-controls{padding:30px 32px;background:#1e251f}.light-controls-heading{display:flex;justify-content:space-between;border-bottom:1px solid #b3c09930;padding-bottom:24px;gap:20px}.light-controls-heading>.eyebrow{font-size:11px;color:#c4cfb8}.light-reset-note{font-size:12px;color:#8e9a83}.light-control-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr 1.2fr;gap:30px;padding:28px 0}.light-toggle-row>span,.temp-label{display:block;font-size:12px;color:#aebaa2;margin-bottom:16px}.source-toggle{display:flex;align-items:center;gap:10px;background:transparent;color:#e2e8dc;padding:0;font-size:13px;white-space:nowrap}.toggle-track{display:block;position:relative;width:38px;height:21px;border:1px solid #7a866e;border-radius:20px;transition:.3s;flex-shrink:0}.toggle-track i{position:absolute;top:3px;left:3px;display:block;width:13px;height:13px;border-radius:50%;background:#a0ad91;transition:.3s}.source-toggle.enabled .toggle-track{background:var(--acid);border-color:var(--acid)}.source-toggle.enabled .toggle-track i{left:20px;background:#24301d}.light-range label{display:flex;justify-content:space-between;align-items:center;color:#aebaa2;font-size:12px;gap:20px;margin-bottom:13px}.light-range output{font-size:11px;color:var(--acid)}.light-range input{width:100%;accent-color:var(--acid);cursor:pointer;height:20px;margin:0}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:#818e78;margin-top:4px}.temperature-buttons{display:flex;gap:7px}.temperature-buttons button{background:transparent;border:1px solid #606e53;color:#e2e8dc;font-size:12px;padding:9px;display:flex;align-items:center;gap:6px;border-radius:2px}.temperature-buttons small{font-size:10px;color:#9eac90}.temperature-buttons i{width:10px;height:10px;border-radius:50%;background:#edc38c;flex-shrink:0}.temperature-buttons button:last-child i{background:#e6eadf}.temperature-buttons .selected{border-color:#cfdd9b;background:#a9be5320}.temperature-buttons .selected small{color:#c5d6b5}.light-insight{display:flex;align-items:center;gap:18px;padding-top:22px;border-top:1px solid #b3c09930}.insight-mark{font-size:32px;color:var(--acid)}.light-insight p{font-size:13px;line-height:1.65;color:#aebaa2;margin:0;max-width:720px}.light-insight button{background:transparent;color:#d9e6ca;font-size:12px;white-space:nowrap;margin-left:auto;padding:10px 0 10px 20px}.light-lab:target .light-workspace{animation:light-attention 1.2s ease-out}@keyframes light-attention{0%{border-color:#e7ff63}100%{border-color:#b3c09930}}@media(max-width:1100px){nav{gap:22px;font-size:13px}.drawing-sticky{gap:3%;grid-template-columns:1fr 1.3fr}.drawing-story h2{font-size:45px}.light-control-grid{grid-template-columns:1fr 1fr;gap:28px 40px}.light-controls{padding:25px}.light-header h2{font-size:62px}.drawing-board-top,.drawing-board-bottom{font-size:9px;padding:17px}.drawing-progress{max-width:90px}}@media(max-width:800px){.drawing-journey{height:auto;min-height:0;padding:65px 6%}.drawing-sticky{position:relative;min-height:0;display:block;padding:0}.drawing-story h2{font-size:48px}.drawing-story>p{font-size:14px}.drawing-steps{display:flex;gap:15px;margin:30px 0}.drawing-step{flex:1;gap:8px;padding:15px 0;display:block}.drawing-step>span{font-size:11px;display:block;margin-bottom:12px}.drawing-step h3{font-size:17px}.drawing-step p{font-size:11px}.drawing-scroll-note{display:block;margin-bottom:30px;font-size:9px}.drawing-board{transform:none}.drawing-board-top,.drawing-board-bottom{font-size:8px;padding:14px;letter-spacing:.5px}.drawing-progress{max-width:70px}.light-header{display:block}.light-header h2{font-size:49px;letter-spacing:-2px}.light-header>p{margin-top:24px;font-size:14px}.light-lab{padding-top:65px;padding-bottom:65px}.light-header{margin-bottom:30px}.light-controls{padding:22px 20px}.light-control-grid{gap:25px 18px}.light-control-grid .light-range,.light-control-grid .light-temperature{grid-column:1/-1}.light-range label{font-size:13px}.light-range input{height:30px}.temperature-buttons button{padding:11px 15px}.light-controls-heading{padding-bottom:20px}.light-controls-heading>.eyebrow{font-size:9px}.light-reset-note{font-size:10px}.light-toggle-row>span{font-size:11px}.source-toggle{font-size:11px;gap:8px}.light-insight{align-items:start;flex-wrap:wrap;gap:12px}.insight-mark{font-size:25px}.light-insight p{width:calc(100% - 40px);font-size:12px}.light-insight button{padding:5px;margin-left:35px}.hotspot-ring{width:38px;height:38px;box-shadow:0 0 0 5px #fff1}.light-hotspot[aria-pressed=true] .hotspot-ring{box-shadow:0 0 0 5px #e7ff6322}.hotspot-label{font-size:8px;letter-spacing:.5px;padding:5px 7px;max-width:90px;white-space:normal}.lamp-hotspot{left:86%}.window-hotspot{left:13%}.scene-topline{top:15px;left:15px;right:15px;font-size:8px;letter-spacing:.7px}.scene-caption{bottom:15px;left:15px;right:15px}.scene-state{font-size:22px}.scene-tip{display:none}.light-scene{aspect-ratio:3/2;min-height:0}.light-hotspot{gap:9px}.light-hotspot:focus-visible{outline-offset:8px}.temp-label{font-size:12px}}@media(prefers-reduced-motion:reduce){.drawing-journey{height:auto;min-height:0}.drawing-sticky{position:relative;min-height:0}.drawing-board{transform:none}.room-daylight,.room-lamplight,.lamp-glow{transition:none}.drawing-scroll-note{display:none}}
/* Photographic room studies. */
.room-lab{background:#171c18;color:#f0f0e8;padding-top:85px;padding-bottom:90px}.room-header{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.room-header .eyebrow{color:#b1b9a5}.room-header h2{font-size:clamp(44px,5.1vw,80px);font-weight:400;line-height:1.05;letter-spacing:-3px;margin:25px 0 0}.room-header>p{font-size:16px;line-height:1.8;color:#b4beaf;margin:0}.room-workspace{border:1px solid #b3c09930;background:#1e251f}.room-view{--compare:50%;aspect-ratio:3/2;position:relative;overflow:hidden;background:#171c18;isolation:isolate}.room-frame{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.room-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--compare)) 0 0);display:none}.room-view.comparing .room-before{display:block}.room-view-top{position:absolute;top:25px;left:25px;right:25px;display:flex;justify-content:space-between;gap:20px;pointer-events:none;font-size:10px;letter-spacing:1.3px;color:#fff;text-shadow:0 1px 9px #0008}.room-view-bottom{position:absolute;bottom:24px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.room-view-bottom>span{font-size:30px;font-family:Georgia,serif;font-style:italic;letter-spacing:-1px;text-shadow:0 2px 15px #000;color:white}.room-view-bottom>button{background:#142016bb;border:1px solid #e8efdab3;color:#fff;padding:12px 18px;backdrop-filter:blur(8px);font-size:12px;transition:background .2s}.room-view-bottom>button:hover:not(:disabled),.room-view-bottom>button[aria-pressed=true]{background:var(--acid);color:var(--ink);border-color:var(--acid)}.room-view-bottom>button:disabled{opacity:.5;cursor:default}.room-point{position:absolute;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;gap:12px;transform:translate(-50%,-50%);color:white;z-index:3}.window-point{left:10.4%;top:34.7%}.lamp-point{left:91.6%;top:34.6%}.object-point{left:82%;top:81%}.room-point-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid #f0f0e9bb;border-radius:50%;background:#14201680;backdrop-filter:blur(6px);box-shadow:0 0 0 8px #fff2;transition:.3s;font-size:24px}.room-point:hover .room-point-icon{background:var(--acid);color:var(--ink);border-color:var(--acid);box-shadow:0 0 0 12px #e7ff6322}.room-point-label{font-size:9px;letter-spacing:1px;padding:7px 9px;line-height:1.5;background:#111b15bb;backdrop-filter:blur(6px);white-space:nowrap}.object-point[aria-pressed=true] .room-point-icon{background:var(--acid);color:var(--ink);border-color:var(--acid)}.room-view.comparing .room-point{display:none}.comparison-label{display:none;position:absolute;top:65px;padding:10px 13px;background:#122015bb;backdrop-filter:blur(6px);color:white;pointer-events:none}.before-label{left:25px}.after-label{right:25px;text-align:right}.comparison-label>span{display:block;font-size:11px;letter-spacing:1.5px}.comparison-label>small{display:block;font-size:10px;margin-top:7px;line-height:1.4;color:#d3dfc8}.room-view.comparing .comparison-label{display:block}.comparison-divider{display:none;position:absolute;left:var(--compare);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-50%);z-index:4;cursor:ew-resize;touch-action:none;box-shadow:0 0 12px #0003}.comparison-divider::before{content:"";position:absolute;inset:0 -18px}.comparison-divider>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--acid);color:#1c2618;border:1px solid #c8e444;box-shadow:0 5px 22px #0004}.room-view.comparing .comparison-divider{display:block}.room-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:15px 20px;max-width:85%;background:#142016df;color:#e7efd9;font-size:13px;line-height:1.6;text-align:center;backdrop-filter:blur(12px);z-index:6}.room-status[hidden],.comparison-tools[hidden]{display:none}.comparison-tools{border-top:1px solid #b3c09930;padding:20px 30px;background:#263023}.comparison-tools label{display:flex;justify-content:space-between;font-size:12px;color:#d9e5cc;gap:20px}.comparison-tools output{color:var(--acid);font-size:11px}.comparison-tools input{accent-color:var(--acid);height:28px;width:100%;margin:12px 0 5px;cursor:ew-resize}.comparison-tools p{font-size:11px;color:#a4b197;margin:0}.room-controls{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:30px;padding:30px 32px}.room-control-label{display:block;font-size:12px;color:#aebaa2;margin-bottom:17px}.room-segments{display:flex;align-items:stretch;gap:7px}.room-segments button{border:1px solid #6f7c61;background:transparent;color:#e6eedf;font-size:13px;padding:12px 14px;white-space:nowrap;transition:.25s}.room-segments button>span{font-size:17px;margin-right:7px}.room-segments button.selected{background:var(--acid);color:#20271a;border-color:var(--acid)}.room-choice>small{display:block;color:#8e9d82;font-size:10px;margin-top:12px;line-height:1.5}.room-object-toggle{display:flex;align-items:center;gap:13px;background:transparent;color:#e6eedf;text-align:left;padding:0}.object-toggle-mark{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border:1px solid #6f7c61;font-size:25px;transition:.3s}.room-object-toggle[aria-pressed=true] .object-toggle-mark{background:var(--acid);color:var(--ink);border-color:var(--acid)}.room-object-toggle>span:last-child{font-size:13px}.room-object-toggle small{display:block;font-size:11px;color:#9dab90;margin-top:5px}.room-footer{border-top:1px solid #b3c09930;margin:0 32px;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}.room-insight{display:flex;gap:17px;align-items:center}.room-insight>span{font-size:32px;color:var(--acid)}.room-insight p{font-size:13px;line-height:1.7;color:#aebaa2;max-width:610px;margin:0}.room-secondary-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}.room-secondary-actions button{background:transparent;color:#d9e6ca;padding:8px 0;font-size:11px;white-space:nowrap;border-bottom:1px solid #89997a}.room-secondary-actions button:disabled{opacity:.4;cursor:default}.room-lab:target .room-workspace{animation:light-attention 1.2s ease-out}.room-view:focus-within{outline:2px solid var(--acid);outline-offset:3px}@media(max-width:1100px){.room-controls{gap:20px;padding:25px}.room-control-label{font-size:11px}.room-segments button{font-size:12px;padding:11px}.room-footer{display:block;margin:0 25px}.room-secondary-actions{justify-content:end;margin-top:20px}.room-header h2{font-size:60px}}@media(max-width:800px){.room-lab{padding-top:65px;padding-bottom:65px}.room-header{display:block;margin-bottom:30px}.room-header h2{font-size:49px;letter-spacing:-2px}.room-header>p{font-size:14px;margin-top:24px}.room-controls{grid-template-columns:1fr 1fr;gap:25px 18px;padding:25px 20px}.object-choice{grid-column:1/-1;border-top:1px solid #b3c09930;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.object-choice .room-control-label{margin:0}.room-control-label{font-size:10px;margin-bottom:12px}.room-segments{gap:5px}.room-segments button{font-size:11px;padding:10px}.room-segments button>span{font-size:14px;margin-right:4px}.room-choice>small{font-size:9px;margin-top:9px}.room-object-toggle>span:last-child{font-size:11px}.room-object-toggle small{font-size:10px}.object-toggle-mark{width:37px;height:37px;font-size:21px}.room-view-top{top:15px;left:15px;right:15px;font-size:8px;letter-spacing:.6px}.room-view-top>span:last-child{display:none}.room-view-bottom{bottom:14px;left:15px;right:15px;gap:12px}.room-view-bottom>span{font-size:20px;letter-spacing:-.5px;max-width:50%}.room-view-bottom>button{font-size:10px;padding:9px 11px}.room-point{gap:8px}.room-point-icon{width:35px;height:35px;font-size:21px;box-shadow:0 0 0 5px #fff2}.room-point-label{font-size:7px;letter-spacing:.3px;padding:5px 7px;max-width:82px;white-space:normal}.window-point{left:13%}.lamp-point{left:87%}.object-point{top:72%;left:81%}.comparison-label{top:43px;padding:8px 10px}.before-label{left:15px}.after-label{right:15px}.comparison-label>span{font-size:9px}.comparison-label>small{font-size:8px;max-width:100px}.comparison-divider>span{width:40px;height:40px}.comparison-tools{padding:18px 20px}.comparison-tools label{font-size:11px}.comparison-tools p{font-size:10px}.room-footer{margin:0 20px;padding:22px 0}.room-insight{align-items:start;gap:12px}.room-insight>span{font-size:26px}.room-insight p{font-size:12px}.room-secondary-actions{gap:24px;margin-top:22px;justify-content:start;margin-left:34px}.room-secondary-actions button{font-size:10px}.room-status{font-size:11px;padding:12px 15px}}@media(max-width:370px){.room-controls{display:block}.room-choice{margin-bottom:22px}.room-segments button{font-size:12px;padding:12px 17px}.object-choice{margin-bottom:0}}@media(prefers-reduced-motion:reduce){.room-frame{transition:none}}
.room-transition{opacity:0;transition:opacity .65s ease;pointer-events:none}@media(prefers-reduced-motion:reduce){.room-transition{transition:none}}
/* Reference-led architectural floor plan, monochrome on paper. */
.drawing-board,.drawing-board.material-phase{background:#fafaf7;color:#767773;border-color:#ced0c7;transform:none;box-shadow:0 20px 60px #1723100c}.drawing-board-top,.drawing-board-bottom{color:#73776c}.residence-plan{max-height:70vh;padding:12px 24px 20px}.residence-plan .plan-architecture{color:#777}.residence-plan .draw-line{stroke-linejoin:miter;stroke-linecap:square}.residence-plan .plan-material{opacity:var(--material-opacity)}.residence-plan .plan-labels{opacity:var(--label-opacity)}.drawing-board-top{font-size:10px}.drawing-board-bottom{font-size:9px}.drawing-sticky{grid-template-columns:1fr 1.35fr}.drawing-step.current h3{color:#20271f}@media(max-width:800px){.residence-plan{max-height:none;padding:10px 12px 15px}.drawing-board-top,.drawing-board-bottom{font-size:8px}.drawing-board-bottom>.drawing-progress{max-width:65px}}

/* Vector separators render consistently without platform emoji fonts. */
.asterisk-graphic{display:block;width:1em;height:1em;flex-shrink:0}.ribbon i{display:flex;align-items:center;justify-content:center;flex-shrink:0}.asterisk{display:block;width:1em;height:1em}
