:root{--navy:#14355c;--olive:#888456;--paper:#f5f3ed;--white:#faf9f5;--line:#d8d8d2;--ink:#0c2945}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--navy);font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--olive);outline-offset:7px}header{height:110px;padding:28px 4.5%;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.brand{width:160px}.brand img{width:100%;height:auto;display:block;mix-blend-mode:multiply}header nav{margin-left:auto;display:flex;gap:26px}header nav a,header button{font-size:12px;letter-spacing:.08em;text-transform:uppercase}header nav a:hover{color:var(--olive)}header button{border:0;background:none;padding:10px 0}#language span{opacity:.5}#menu{display:none}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:20px}.skip:focus{top:0}.hero{min-height:calc(100svh - 110px);height:760px;max-height:1100px;position:relative;padding:35px 4.5% 0;overflow:hidden}.eyebrow{font-size:12px;letter-spacing:.15em;line-height:1.6;font-weight:500}.hero-top{display:flex;justify-content:space-between;color:#677587}.hero-copy{position:relative;z-index:2;padding-top:90px;pointer-events:none}.hero-copy a{pointer-events:auto}.olive{color:var(--olive)}h1{font-weight:400;font-size:clamp(58px,6.4vw,104px);line-height:1.02;letter-spacing:-.065em;margin:25px 0 33px}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}.intro{line-height:1.8;color:#536475;margin:0 0 30px;font-size:17px}.text-link{display:inline-flex;align-items:center;gap:44px;font-size:13px;padding-bottom:12px;border-bottom:1px solid var(--olive)}.text-link>span:last-child{font-size:20px}.hero-drawing{position:absolute;width:62%;right:-4%;top:17%;height:69%;z-index:1}.hero-drawing canvas{width:100%;height:100%}.drawing-caption{position:absolute;bottom:12%;left:20%;right:12%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:#7e898d}.hero-bottom{position:absolute;bottom:26px;left:4.5%;right:4.5%;border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;font-size:13px;color:#637180}.hero-bottom b{margin-left:30px;font-size:18px;font-weight:400}::selection{background:#88845633}section{scroll-margin-top:20px}@media(min-width:1600px){.hero{height:900px}.hero-copy{padding-top:130px}}@media(max-width:1000px){header nav{gap:14px}header{gap:20px}.brand{width:130px}.hero-copy{padding-top:80px}.hero-drawing{right:-15%;width:75%;opacity:.65}}@media(max-width:720px){header{height:86px;padding:20px 6%}.brand{width:125px}#language{margin-left:auto}#menu{display:block}header nav{display:none;position:absolute;left:0;right:0;top:86px;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line)}header nav.open{display:grid;gap:25px}.hero{height:850px;min-height:calc(100svh - 86px);padding:25px 6%}.hero-top span:last-child{display:none}.hero-top{font-size:10px}.hero-copy{padding-top:45px}.hero-copy>.eyebrow{font-size:10px}h1{font-size:60px}.hero-drawing{top:420px;right:-12%;width:115%;height:330px;opacity:1}.drawing-caption{font-size:8px;bottom:10%}.hero-bottom{left:6%;right:6%;font-size:12px}.hero-bottom>span:first-child{max-width:150px}.hero-bottom .eyebrow{font-size:10px}.hero-bottom b{margin-left:12px}.intro{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:root{--stage-height:100svh}.section-pad{padding:50px 6% 100px}.section-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:23px}.journey{height:650vh;position:relative;background:var(--white)}.journey-pin{position:sticky;top:0;height:var(--stage-height);min-height:640px;padding:32px 4.5% 0;display:flex;flex-direction:column;overflow:hidden}.journey-layout{display:grid;grid-template-columns:32% 68%;flex:1;align-items:center;min-height:0}.stage-copy{padding-right:25px;position:relative;z-index:2}h2{font-size:clamp(36px,3.6vw,60px);font-weight:400;line-height:1.1;letter-spacing:-.045em;margin:25px 0}.stage-copy>p:not(.eyebrow){font-size:16px;color:#526475;line-height:1.85;max-width:380px}.stage-tools{margin-top:32px;font-size:10px;color:var(--olive);letter-spacing:.1em}.stage-visual{height:100%;min-height:350px;position:relative}.stage-visual canvas{width:100%;height:100%}.stage-visual video{position:absolute;left:5%;top:12%;width:90%;height:70%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .5s}.stage-visual video.visible{opacity:1;pointer-events:auto}.visual-note{position:absolute;bottom:5%;left:8%;right:4%;font-size:12px;color:#6d787f;line-height:1.5;max-width:520px}.stage-nav{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:22px 0 28px}.stage-nav button{border:0;background:none;text-align:left;display:flex;gap:12px;align-items:center;font-size:12px;color:#7f8587;padding:8px 0}.stage-nav button span{font-size:10px;color:var(--olive)}.stage-nav button.active{color:var(--navy)}.stage-nav button.active span{border-bottom:1px solid var(--olive);padding-bottom:5px}.journey-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--line)}.journey-progress i{display:block;background:var(--olive);height:100%}.editorial-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:start;margin:55px 0}.editorial-heading h2{margin-top:0}.editorial-heading p{font-size:17px;line-height:1.8;color:#5b6b79;margin-top:0;max-width:480px}figure{margin:0}figure img{display:block;width:100%;object-fit:cover}figcaption{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.12em;padding-top:16px;color:#6c797f}.facility-images{display:grid;grid-template-columns:1.55fr .7fr;align-items:end;gap:7%}.facility-images figure:first-child img{height:420px}.facility-images figure:last-child img{height:300px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:65px;align-items:start}.approach p{font-size:23px;line-height:1.55;margin:0}.technology{background:#e9e9e2}.technology .editorial-heading{margin-bottom:80px}.workflow{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c6c9c2;border-bottom:1px solid #c6c9c2;padding:30px 0;font-size:12px;letter-spacing:.1em}.workflow i{font-style:normal;color:var(--olive)}.finish-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:50px}.finish-layout p{line-height:1.9;color:#586977;font-size:17px}.finish-layout p.olive{color:var(--olive);margin-top:30px}.finish-layout figure>img{height:680px}.detail-image{margin-top:35px;width:62%;height:200px;object-fit:cover}.contact{padding-top:60px;border-top:1px solid var(--line);background:var(--white)}.contact h2{font-size:clamp(45px,5.5vw,85px);margin-bottom:40px}.contact-foot{margin-top:100px;display:flex;align-items:end;justify-content:space-between}.contact-foot img{width:190px;height:auto;mix-blend-mode:multiply}.contact-foot span{font-size:12px;letter-spacing:.15em}footer{padding:25px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;color:#6d777e}.hero-yacht{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.hero-drawing{right:-2%;width:63%;top:17%;height:64%}.hero-drawing .drawing-caption{bottom:9%;left:12%;right:12%}.journey-yacht{position:absolute;width:100%;height:85%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none;top:0;left:0}.contact-address{margin-top:30px;font-size:15px;line-height:2}.contact-address a{border-bottom:1px solid var(--line)}@media(max-width:1000px){.stage-nav{gap:10px}.stage-nav button{font-size:10px;gap:6px}.journey-layout{grid-template-columns:38% 62%}.facility-images figure:first-child img{height:350px}.finish-layout figure>img{height:590px}.hero-drawing{right:-12%;width:72%;opacity:.8}}@media(max-width:720px){.hero-drawing{top:430px;width:112%;right:-6%;height:280px;opacity:1}.journey{height:590vh}.journey-pin{padding:22px 6% 0;min-height:650px}.section-top>.eyebrow:last-child{display:none}.journey-layout{display:flex;flex-direction:column;align-items:stretch;justify-content:start}.stage-copy{padding:22px 0 0}.stage-copy .eyebrow{font-size:10px;margin:0}.stage-copy h2{font-size:36px;margin:14px 0}.stage-copy>p:not(.eyebrow){font-size:14px;line-height:1.65;max-width:none;margin:0}.stage-tools{margin-top:15px!important}.stage-visual{flex:1;min-height:200px;height:240px}.visual-note{font-size:10px;bottom:0;left:0;right:0}.stage-nav{gap:0;flex-wrap:wrap;padding:12px 0}.stage-nav button{width:33%;font-size:10px;padding:8px 0}.section-pad{padding:35px 6% 65px}.editorial-heading{display:block;margin:35px 0}.editorial-heading h2{font-size:38px;margin-bottom:30px}.editorial-heading p{font-size:16px}.facility-images{gap:18px;grid-template-columns:1fr}.facility-images figure:first-child img{height:250px}.facility-images figure:last-child{width:65%;margin-left:auto}.facility-images figure:last-child img{height:230px}.approach{display:block;padding-top:35px}.approach p{font-size:22px;margin-top:20px}.workflow{flex-wrap:wrap;gap:16px;font-size:10px;justify-content:start}.workflow i:last-of-type{display:none}.technology .editorial-heading{margin-bottom:35px}.finish-layout{display:block;margin-top:35px}.finish-layout figure{margin-top:35px}.finish-layout figure>img{height:440px}.detail-image{width:60%;height:180px}.contact-foot{margin-top:60px;align-items:start;gap:30px;flex-direction:column}.contact-foot img{width:150px}.contact-foot span{font-size:10px}.contact h2{font-size:46px}footer{gap:20px;font-size:10px}.stage-visual video{left:0;width:100%;height:75%;top:3%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.journey{height:420vh}}

h1{font-family:Georgia,Times,serif;font-size:clamp(58px,5.6vw,90px);letter-spacing:-.045em}h1 em{font-style:normal}.hero-drawing{width:100%;right:-13%;top:0;height:100%;opacity:.85}.hero-yacht{object-fit:cover;object-position:center}.hero-drawing .drawing-caption{bottom:15%;left:49%;right:18%}.hero-copy{padding-top:90px}.hero-copy h1{max-width:560px}.journey-yacht{object-fit:cover;object-position:70% 50%}.hero-bottom{z-index:3}.hero-top{position:relative;z-index:3}@media(max-width:1000px){.hero-drawing{right:-21%;width:110%;opacity:.65}}@media(max-width:720px){.hero-drawing{top:395px;right:-10%;width:130%;height:370px;opacity:.9}.hero-yacht{object-fit:cover;object-position:65% 50%}.hero-copy{padding-top:45px}h1{font-size:60px}.hero-drawing .drawing-caption{left:28%;right:15%;bottom:2%}.journey-yacht{height:90%;object-fit:contain;object-position:center}}
/* One shared visual surface: the yacht remains in place while its deck lifts into CAD. */
.experience{position:relative;isolation:isolate;background:var(--paper)}
.continuous-art{position:sticky;top:0;height:100svh;margin-bottom:-100svh;width:100%;z-index:1;pointer-events:none}
.continuous-art canvas{display:block;width:100%;height:100%;mix-blend-mode:multiply}
.experience .hero,.experience .journey,.experience .journey-pin{background:transparent}
.hero-yacht,#hero-canvas,#deck-canvas{display:none!important}
.hero-copy,.hero-top,.hero-bottom,.drawing-caption{z-index:3}
.journey-pin{z-index:2;overflow:visible}
.stage-copy,.section-top,.stage-nav,.visual-note{position:relative;z-index:2}
.visual-note{position:absolute}
.stage-visual{background:transparent!important}
.facility-film{margin:0 0 60px;max-width:100%}
.facility-film video{display:block;width:100%;height:min(66vw,650px);object-fit:contain;background:#ecece6}
.facility-film figcaption{font-size:12px}
@media(max-width:720px){.facility-film{margin-bottom:35px}.facility-film video{height:70svh;max-height:680px}.journey-pin{min-height:650px}}
/* Photography now supports whole sections, with clear text above the media. */
.cnc-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,243,237,.98),rgba(245,243,237,.91) 31%,rgba(245,243,237,.16) 70%),url('assets/cnc-installed.jpg') center/cover;opacity:0;transition:opacity .65s;pointer-events:none;z-index:0}
.cnc-active .cnc-backdrop{opacity:1}.cnc-active .stage-nav{background:rgba(245,243,237,.9)}.cnc-active .visual-note{background:rgba(245,243,237,.86);padding:9px 12px}
.facility{position:relative;isolation:isolate;min-height:90svh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.facility-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-2}
.facility:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,243,237,.94),rgba(245,243,237,.8) 48%,rgba(245,243,237,.37));z-index:-1}
.facility .editorial-heading p{color:var(--navy)}.facility .approach{padding-bottom:50px}.film-toggle{position:absolute;bottom:22px;right:6%;background:var(--paper);border:1px solid var(--line);padding:10px 16px;font-size:12px;z-index:3}
.finish-layout{display:block}.finish-layout>div{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:start}.finish-layout h2{grid-row:span 2}.finish-layout .detail-image{width:100%;height:180px;max-width:300px;grid-column:1;margin-top:0}.finish-layout>figure{margin-top:45px}.finish-layout>figure>img{width:100%;height:clamp(300px,48vw,680px);object-fit:cover;object-position:center 56%}
.contact-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:8%;align-items:center}.contact h2{font-size:clamp(40px,4.6vw,70px)}.contact-intro{max-width:570px;font-size:17px;line-height:1.8;color:#526475;margin:0 0 32px}.contact-facility img{height:480px;width:100%;object-fit:cover}.contact-foot{margin-top:65px}
@media(max-width:720px){.cnc-backdrop{background:linear-gradient(180deg,rgba(245,243,237,.99),rgba(245,243,237,.92) 45%,rgba(245,243,237,.14) 70%),url('assets/cnc-installed.jpg') center/cover}.facility{min-height:105svh}.facility:before{background:rgba(245,243,237,.84)}.facility .approach{padding-bottom:40px}.finish-layout>div{display:block}.finish-layout .detail-image{margin-top:25px;width:60%}.finish-layout>figure>img{height:320px}.contact-layout{display:block}.contact-facility{margin-top:35px}.contact-facility img{height:320px}.contact-intro{font-size:16px}}

.contact-location{font-style:normal;line-height:1.65;margin:24px 0 12px;color:var(--navy,#14355c)}
.contact-map{display:inline-block;font-size:14px;border-bottom:1px solid #888456;padding-bottom:7px;text-decoration:none}.contact-map:hover{color:#888456}
