:root{--ink:#211b17;--paper:#eee7de;--paper2:#e5ddd3;--bronze:#a17c62;--muted:#776c63;--line:rgba(39,31,26,.14);--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;background:var(--paper);color:var(--ink)}body.menu-open{overflow:hidden}a{color:inherit}.visual-story{position:relative;isolation:isolate}.visual-scene{position:relative;height:100svh;overflow:hidden;background:var(--paper2)}.visual-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50%) center;filter:brightness(1.12) saturate(.62) contrast(.86) sepia(.03)}.visual-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(248,245,240,.13),transparent 48%),linear-gradient(0deg,rgba(238,231,222,.1),transparent 42%);mix-blend-mode:screen}.visual-scene-light img{filter:saturate(.86) contrast(.94) brightness(1.01)}.visual-scene-light:after{background:linear-gradient(90deg,rgba(248,245,240,.13),transparent 48%)}.motion-ready .visual-scene{height:115svh;overflow:visible}.motion-ready .visual-scene:last-child{height:100svh}.motion-ready .visual-scene img{position:fixed;inset:0;height:100svh;visibility:hidden;transform:scale(1.06);will-change:transform,clip-path,filter}.motion-ready .visual-scene:first-child img{visibility:visible}
.scene-copy{position:sticky;z-index:30;top:0;height:100svh;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(110px,14vh,160px) clamp(28px,7vw,124px) clamp(52px,8vh,96px);pointer-events:none;color:var(--ink);will-change:transform,opacity}.scene-copy>*{position:relative;z-index:2}.scene-copy>span{max-width:34ch;margin:0 0 clamp(18px,2.5vh,32px);font:700 clamp(8px,.62vw,11px)/1.2 var(--sans);letter-spacing:.28em;text-transform:uppercase}.scene-copy h1,.scene-copy h2{margin:0;max-width:7.4em;font-family:var(--serif);font-weight:400;line-height:.79;letter-spacing:-.072em;text-wrap:balance}.scene-copy h1{font-size:clamp(88px,11.2vw,190px)}.scene-copy h2{font-size:clamp(72px,8.8vw,150px)}.scene-copy p{max-width:29ch;margin:clamp(24px,3vh,38px) 0 0;font:400 clamp(14px,1.05vw,18px)/1.55 var(--sans);letter-spacing:-.015em}.scene-copy>a{pointer-events:auto;display:inline-flex;align-items:center;gap:22px;margin-top:clamp(28px,4vh,50px);padding:0 0 11px;border-bottom:1px solid currentColor;font:700 clamp(8px,.62vw,10px)/1 var(--sans);letter-spacing:.23em;text-transform:uppercase;text-decoration:none;transition:gap .3s var(--ease),opacity .25s}.scene-copy>a:hover{gap:31px;opacity:.65}.scene-copy>a i{font:400 14px/1 var(--sans);font-style:normal}.scene-copy[data-no]:before{content:attr(data-no);position:absolute;left:clamp(28px,3vw,54px);bottom:clamp(24px,4vh,48px);font:700 8px/1 var(--sans);letter-spacing:.18em;opacity:.52}.copy-right{align-items:flex-end;padding-left:51vw;text-align:right}.copy-left{padding-right:51vw}.copy-low{justify-content:flex-end;padding-bottom:clamp(76px,11vh,132px)}.copy-hero{justify-content:flex-end;padding-bottom:clamp(70px,9vh,112px)}.copy-hero h1{max-width:5em}.copy-final{justify-content:center}.copy-light{color:#fbf7f1;text-shadow:0 2px 24px rgba(25,17,12,.2)}.visual-scene-real:before{content:"";position:fixed;z-index:19;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(249,245,239,.72),rgba(249,245,239,.16) 48%,transparent 72%);visibility:hidden}.motion-ready .visual-scene-real.is-active:before{visibility:visible}
.visual-header{position:fixed;z-index:100;inset:18px clamp(18px,2.2vw,34px) auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,2.1vw,34px);color:var(--ink);background:transparent;border:1px solid transparent;box-shadow:none;pointer-events:none;transition:inset .4s var(--ease),min-height .4s var(--ease),background .35s,border-color .35s,box-shadow .35s}.visual-header.is-scrolled:not(.nav-open){inset:10px clamp(18px,2.2vw,34px) auto;min-height:66px;background:rgba(250,248,244,.88);box-shadow:0 14px 38px rgba(43,34,28,.09)}.visual-header a,.visual-header button,.visual-header details{pointer-events:auto}.visual-logo{position:relative;z-index:103;display:flex;flex-direction:column;gap:7px;text-decoration:none}.visual-logo strong{font:400 clamp(29px,2.4vw,40px)/.9 var(--serif);letter-spacing:.22em}.visual-logo span{font:700 6px/1 var(--sans);letter-spacing:.35em}.header-actions{position:relative;z-index:103;display:flex;align-items:center;gap:0;padding:4px;color:var(--ink);border:1px solid rgba(61,39,25,.12);background:rgba(247,244,239,.62);backdrop-filter:blur(14px);box-shadow:0 9px 30px rgba(44,30,21,.055)}.header-book{min-height:40px;padding:0 17px;display:inline-flex;align-items:center;font:700 9px/1 var(--sans);letter-spacing:.17em;text-decoration:none;text-transform:uppercase;border-right:1px solid rgba(61,39,25,.12)}.header-toggle{position:relative;width:42px;height:40px;padding:0;color:inherit;border:0;background:transparent;cursor:pointer}.header-toggle span{position:absolute;left:13px;top:50%;width:18px;height:1px;background:currentColor;transition:transform .35s var(--ease)}.header-toggle span:first-child{transform:translateY(-4px)}.header-toggle span:last-child{transform:translateY(4px)}.nav-open .header-toggle span:first-child{transform:rotate(45deg)}.nav-open .header-toggle span:last-child{transform:rotate(-45deg)}.nav-open .header-actions{border-color:transparent;background:transparent;backdrop-filter:none;box-shadow:none}.nav-open .header-book{border-color:var(--line)}
.header-links{position:fixed;z-index:101;inset:0;width:auto;height:auto;min-height:100dvh;display:none;grid-template-columns:minmax(340px,.92fr) minmax(520px,1.08fr);grid-template-rows:repeat(4,minmax(72px,1fr));gap:0;padding:clamp(126px,16vh,170px) 0 0 clamp(42px,7vw,132px);color:var(--ink);background:linear-gradient(105deg,#f7f4ef 0 49%,#ddd3c8 49% 100%);overflow:hidden}.nav-open .header-links{display:grid;animation:menu-in .55s var(--ease) both}@keyframes menu-in{from{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}.header-links>a,.header-links>.header-about{grid-column:1;display:flex;align-items:center;gap:22px;padding:0 clamp(28px,5vw,88px) 0 0;color:inherit;border:0;border-bottom:1px solid var(--line);background:none;font:400 clamp(35px,3.4vw,58px)/1 var(--serif);letter-spacing:-.035em;text-align:left;text-decoration:none;cursor:pointer;transition:padding .3s var(--ease),color .25s}.header-links>a:hover,.header-links>.header-about:hover{padding-left:13px;color:var(--bronze)}.header-links>a:nth-of-type(1){grid-row:1}.header-links>.header-about{grid-row:2}.header-links>a:nth-of-type(2){grid-row:3}.header-links>a:nth-of-type(3){grid-row:4}.header-links>a:before,.header-links>.header-about:before{content:attr(data-index);width:30px;color:var(--muted);font:700 8px/1 var(--sans)}.header-links>a:after,.header-links>.header-about:after{content:"↗";margin-left:auto;font:300 15px/1 var(--sans);opacity:.45}
.services-menu{position:relative;isolation:isolate;grid-column:2;grid-row:1/5;padding:0 clamp(32px,5vw,84px);border-left:1px solid rgba(255,255,255,.38);color:#f8f3ed;background:linear-gradient(rgba(30,23,19,.48),rgba(30,23,19,.62)),url('assets/light/nova-hero-light-v1.jpg') 61% center/cover no-repeat}.services-menu:before{content:"N";position:absolute;z-index:-1;right:-.04em;bottom:-.18em;color:rgba(255,255,255,.055);font:400 min(44vw,680px)/.8 var(--serif)}.services-menu>summary{padding:0 0 28px;border-bottom:1px solid rgba(255,255,255,.3);font:400 clamp(30px,2.6vw,44px)/1 var(--serif);list-style:none;cursor:default}.services-menu>summary::-webkit-details-marker{display:none}.services-dropdown{display:block}.services-grid{display:grid;grid-template-columns:1fr 1fr}.services-grid a{min-height:clamp(70px,9vh,94px);display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.26);text-decoration:none;transition:background .25s,padding .3s}.services-grid a:hover{padding-left:23px;background:rgba(255,255,255,.1)}.services-grid a:nth-child(odd){border-right:1px solid rgba(255,255,255,.26)}.services-grid small{opacity:.7;font:700 8px/1 var(--sans)}.services-grid b{font:400 clamp(17px,1.4vw,23px)/1.1 var(--serif)}.services-grid i{font-style:normal;opacity:.55}.about-dialog{width:min(560px,calc(100% - 40px));padding:58px 45px;color:var(--ink);border:1px solid var(--line);background:#f7f4ef;font:400 15px/1.8 var(--sans)}.about-dialog::backdrop{background:rgba(45,36,30,.26);backdrop-filter:blur(12px)}.about-dialog h2{margin:18px 0;font:400 48px/1.1 var(--serif)}.about-eyebrow{font:700 9px/1 var(--sans);letter-spacing:.25em}.about-dialog address{margin:24px 0 12px;color:var(--muted);font-style:normal}.about-close{position:absolute;right:18px;top:14px;color:inherit;border:0;background:none;font-size:30px;cursor:pointer}
@media(max-width:1100px){.visual-header,.visual-header.is-scrolled:not(.nav-open){inset:10px 10px auto;min-height:64px;padding:10px 13px 10px 16px}.visual-logo strong{font-size:25px}.visual-logo span{font-size:5.5px}.header-book{display:none}.header-toggle{width:40px;height:40px}.visual-header.nav-open{inset:0 0 auto;min-height:82px;padding:13px 18px;background:#f7f4ef;border:0;border-bottom:1px solid var(--line);box-shadow:none}.header-links{inset:0 0 -4px;width:auto;height:auto;min-height:calc(100dvh + 4px);padding:102px 22px calc(28px + env(safe-area-inset-bottom));grid-template-columns:1fr;grid-template-rows:none;background:#f7f4ef;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.nav-open .header-links{display:block}.header-links>a,.header-links>.header-about{width:100%;min-height:52px;padding-right:4px;font-size:27px;line-height:1}.header-links>a:hover,.header-links>.header-about:hover{padding-left:0}.header-links>a:before,.header-links>.header-about:before{width:22px;font-size:7px}.services-menu{margin-top:22px;padding:21px 0 0;border:0;border-top:1px solid var(--line);color:var(--ink);background:none}.services-menu:before{display:none}.services-menu>summary{padding-bottom:15px;border-color:var(--line);font-size:22px}.services-grid{grid-template-columns:1fr}.services-grid a{min-height:44px;padding:8px 2px;border-right:0!important;border-color:var(--line)}.services-grid a:hover{padding-left:2px;background:none}.services-grid b{font:600 9px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase}.services-grid small{color:var(--muted)}.scene-copy{justify-content:flex-end;align-items:flex-start;padding:116px 22px max(58px,8vh);text-align:left}.scene-copy:after{content:"";position:absolute;z-index:1;inset:32% 0 0;background:linear-gradient(180deg,transparent,rgba(242,234,225,.72) 54%,rgba(242,234,225,.94) 100%);pointer-events:none}.scene-copy h1,.scene-copy h2{max-width:6.6em;font-size:clamp(57px,17vw,92px);line-height:.82;letter-spacing:-.066em}.scene-copy>span{margin-bottom:15px;font-size:7px}.scene-copy p{max-width:23ch;margin-top:19px;font-size:13px}.scene-copy>a{margin-top:25px;font-size:8px}.scene-copy[data-no]:before{z-index:2;left:auto;right:22px;bottom:26px}.copy-light:after{background:linear-gradient(180deg,transparent,rgba(31,23,18,.66) 54%,rgba(31,23,18,.9) 100%)}.copy-low,.copy-hero,.copy-final{justify-content:flex-end;padding-bottom:max(58px,8vh)}.visual-scene img{object-position:var(--focus,62%) center}.motion-ready .visual-scene{height:108svh}.visual-scene:after{background:linear-gradient(0deg,rgba(246,238,229,.08),transparent 50%)}}
@media(prefers-reduced-motion:reduce){.motion-ready .visual-scene{height:100svh}.nav-open .header-links{animation:none}.header-toggle span{transition:none}}
