:root{--parchment: #f1ecde;--parchment-deep: #e6dfcb;--bone: #faf7ee;--navy: #16294c;--navy-deep: #0e1b36;--ember: #dd5a2e;--ember-deep: #b23e1a;--ink: #181513;--ink-soft: rgba(24, 21, 19, .78);--ink-muted: rgba(24, 21, 19, .6);--rule: #d8d0ba;--font-display: "Fraunces", "Times New Roman", serif;--font: "Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--cream: var(--parchment);--orange: var(--ember)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{font-family:var(--font);background:var(--parchment);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:0}.scroll-track{position:relative;width:1px;height:900vh;pointer-events:none}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;z-index:40;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");animation:grain 1.2s steps(4) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,2%)}to{transform:translate(2%,-1%)}}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;pointer-events:none;background:radial-gradient(120% 100% at 50% 45%,transparent 62%,rgba(22,41,76,.13))}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--parchment);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .7s ease,visibility .7s}.loader.done{opacity:0;visibility:hidden}.loader p{font-family:var(--font-mono);font-size:.64rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-muted)}.loader-mark{width:72px;height:auto;display:block;animation:markfloat 1.6s ease-in-out infinite}@keyframes markfloat{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,4vw,56px);pointer-events:none}.topbar a{pointer-events:auto;text-decoration:none}.brand{display:inline-flex;align-items:center}.brand-lockup{height:44px;width:auto;display:block}@media (max-width: 600px){.brand-lockup{height:34px}}.top-cta{font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--parchment);background:var(--navy);padding:13px 22px;transition:background .25s,transform .25s;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.top-cta:hover{background:var(--ember);transform:translateY(-2px)}.dots{position:fixed;right:clamp(16px,3vw,40px);top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:18px}.dots button{display:flex;align-items:center;gap:10px;flex-direction:row-reverse;background:none;border:0;cursor:pointer;font-family:inherit;padding:2px}.dots i{width:11px;height:11px;display:block;background:transparent;border:1.5px solid var(--navy);transform:rotate(45deg);transition:background .3s,transform .3s,border-color .3s}.dots span{font-family:var(--font-mono);font-size:.56rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);opacity:0;transform:translate(6px);transition:opacity .25s,transform .25s;white-space:nowrap}.dots button:hover span{opacity:.7;transform:none}.dots button.on i{background:var(--ember);border-color:var(--ember);transform:rotate(45deg) scale(1.25)}.dots button.on span{opacity:1;transform:none}.panels{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}.panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(26px,7vw,110px);opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}.panel.on{opacity:1;visibility:visible}.panel.on>*{pointer-events:auto}.panel .eyebrow{font-family:var(--font-mono);font-size:.64rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--ember);margin-bottom:22px;display:flex;align-items:center;gap:12px}.panel .eyebrow:before{content:"";width:30px;height:1.5px;background:var(--ember)}.panel h1,.panel h2{font-family:var(--font-display);font-weight:430;line-height:.92;letter-spacing:-.02em;color:var(--ink);font-size:clamp(2.9rem,8vw,7rem);margin-bottom:26px}.panel h1 span,.panel h2 span,.panel-contact h2 span{color:var(--ember);font-style:italic}.panel .lead{font-weight:500;font-size:clamp(1.02rem,1.5vw,1.24rem);line-height:1.65;color:var(--ink-soft);max-width:40ch;margin-bottom:30px}.panel .eyebrow,.panel h1,.panel h2,.panel .lead,.panel .enter-btn{transform:translateY(26px) rotateX(28deg);transform-origin:top center;opacity:0;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .6s ease}.panel.on .eyebrow{transition-delay:.05s}.panel.on h1,.panel.on h2{transition-delay:.12s}.panel.on .lead{transition-delay:.2s}.panel.on .enter-btn{transition-delay:.28s}.panel.on .eyebrow,.panel.on h1,.panel.on h2,.panel.on .lead,.panel.on .enter-btn{transform:none;opacity:1}.panel-right{align-items:flex-start;text-align:left}.panel-left{align-items:flex-end;text-align:right}.panel-left .eyebrow{flex-direction:row-reverse}.panel-left .lead{margin-left:auto}.panel-hero{align-items:flex-start;justify-content:flex-end;padding-bottom:clamp(90px,16vh,170px)}.panel-contact{justify-content:center}.enter-btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:.64rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);background:transparent;border:1.5px solid var(--navy);padding:16px 28px;cursor:pointer;text-decoration:none;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:background .25s,color .25s,transform .25s}.enter-btn svg{width:15px;height:15px;transition:transform .3s}.enter-btn:hover{background:var(--navy);color:var(--parchment);transform:translateY(-2px)}.enter-btn:hover svg{transform:translate(4px)}.enter-btn.solid{background:var(--ember);border-color:var(--ember);color:var(--bone)}.enter-btn.solid:hover{background:var(--navy);border-color:var(--navy)}.dive{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:96px clamp(22px,6vw,90px) 28px;overflow-y:auto;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .5s ease .15s,visibility .5s .15s}.dive.on{opacity:1;visibility:visible;pointer-events:auto}.dive-card{width:min(500px,92vw);background:#faf7eee6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(24,21,19,.12);padding:clamp(28px,3.4vw,48px);box-shadow:0 40px 90px -34px #16294c66;clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px);transform:translateY(30px) rotateX(14deg);transform-origin:top center;transition:transform .7s cubic-bezier(.16,1,.3,1)}.dive.on .dive-card{transform:none}.dive-card .eyebrow{font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--ember);margin-bottom:16px}.dive-card h3{font-family:var(--font-display);font-weight:430;line-height:1.02;letter-spacing:-.015em;font-size:clamp(1.9rem,3.4vw,2.9rem);margin-bottom:22px;color:var(--ink)}.dive-card h3 span{color:var(--ember);font-style:italic}.dive-card ul{list-style:none;margin-bottom:28px}.dive-card li{font-weight:500;font-size:.95rem;line-height:1.58;color:var(--ink-soft);padding:10px 0 10px 22px;position:relative;border-bottom:1px solid rgba(24,21,19,.08)}.dive-card li:before{content:"";position:absolute;left:0;top:17px;width:9px;height:9px;background:var(--ember);transform:rotate(45deg);clip-path:polygon(0 0,100% 0,100% 100%)}.dive-card li b{color:var(--ink);font-weight:600}.dive-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.back-btn{background:none;border:0;cursor:pointer;font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);padding:8px 0;transition:color .25s}.back-btn:hover{color:var(--ember)}.dive-work{width:min(640px,100%);transform:translateY(26px);opacity:0;transition:transform .7s cubic-bezier(.16,1,.3,1) .18s,opacity .6s ease .18s}.dive.on .dive-work{transform:none;opacity:1}.dw-label{font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:10px;display:flex;align-items:center;gap:12px}.dw-label:after{content:"";flex:1;height:1px;background:var(--rule)}.dw-row{display:flex;gap:12px}.dw-tile{flex:1;min-width:0;background:#faf7eeeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(24,21,19,.12);padding:16px 18px 14px;cursor:pointer;outline:none;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s}.dw-tile:hover,.dw-tile:focus-visible{transform:translateY(-5px);box-shadow:0 22px 44px -20px #16294c73;border-color:#dd5a2e80}.dw-tag{font-family:var(--font-mono);font-size:.55rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ember)}.dw-tile h4{font-family:var(--font-display);font-weight:400;font-size:1.02rem;line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin-top:7px}.dw-result{font-weight:700;font-size:.82rem;color:var(--ember);max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .35s cubic-bezier(.16,1,.3,1),opacity .3s,margin-top .35s}.dw-tile:hover .dw-result,.dw-tile:focus-visible .dw-result{max-height:2.4em;opacity:1;margin-top:9px}@media (max-width: 760px){.dw-row{flex-direction:column}.dw-result{max-height:2.4em;opacity:1;margin-top:9px}}@media (min-width: 1100px){.dive{flex-direction:row;align-items:center;gap:clamp(20px,3vw,44px)}.dive-work{width:308px;flex:none}.dw-row{flex-direction:column;gap:10px}}.panels,.dots,.cue{transition:opacity .45s ease}body.diving .panels,body.diving .dots,body.diving .cue{opacity:0;pointer-events:none}body.diving .panels .panel.on>*{pointer-events:none}.cue{position:fixed;bottom:26px;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:10px;transition:opacity .4s}.cue span{font-family:var(--font-mono);font-size:.56rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-muted)}.cue i{width:1px;height:44px;display:block;position:relative;overflow:hidden;background:#1815132e}.cue i:after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--ember);animation:cue 2s ease infinite}@keyframes cue{0%{transform:translateY(-100%)}60%,to{transform:translateY(300%)}}.cue.hide{opacity:0}@media (max-width: 760px){.dots span,.brand em{display:none}.panel-left,.panel-right{align-items:flex-start;text-align:left}.panel-left .eyebrow{flex-direction:row}.panel-left .lead{margin-left:0}.panel{justify-content:flex-end;padding-bottom:110px}.dive{padding:0 16px 24px;align-items:flex-end}}@media (prefers-reduced-motion: reduce){.grain{animation:none}.cue i:after{animation:none}}
