@font-face{font-family:DM Sans;src:url(assets/dm-sans-regular.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url(assets/dm-sans-semibold.ttf) format('truetype');font-weight:500 800;font-display:swap}
:root{--paper:#f6f4ed;--ink:#203f3c;--muted:#536862;--sand:#ded7c6;--line:#ccd0c5;--sage:#c4cbbd;--accent:#b9724f;--gutter:clamp(24px,4.5vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:#81948b var(--paper);scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}::selection{background:#c1cebe;color:#173531}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:6px}input,textarea{caret-color:var(--ink)}img{max-width:100%;display:block}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.05;letter-spacing:-.04em;text-wrap:balance}h1{font-size:clamp(54px,6.3vw,96px)}h2{font-size:clamp(42px,4.4vw,68px)}h3{font-size:30px}p{max-width:65ch}a,button{transition:color .2s,background .2s,border-color .2s}button{border:0;background:none;padding:0}.site-header{height:112px;position:absolute;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);color:var(--ink)}.brand{display:block;width:150px}.brand img{height:auto;width:100%}.site-header nav{display:flex;align-items:center;gap:48px;font-size:14px}.site-header nav>a:first-child{border-bottom:1px solid transparent}.site-header nav>a:first-child:hover{border-color:currentColor}.nav-cta{display:flex;gap:22px;align-items:center;background:var(--ink);color:var(--paper);padding:12px 22px;border-radius:3px}.nav-cta:hover,.button:hover{background:#365e55}.nav-cta svg{width:18px}.menu-toggle{display:none}.skip-link{position:absolute;z-index:100;top:-90px;left:24px;padding:12px 24px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:15px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;font-weight:600;line-height:1.5;border-bottom:1px solid currentColor;padding:4px 0 9px;max-width:max-content}.text-link:hover{color:var(--accent)}.text-link svg{width:19px;height:19px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:var(--paper);border-radius:3px;min-height:56px;padding:15px 25px;font-size:14px;font-weight:600}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:#e0dfd2}.button svg{width:20px}.journey{height:680vh;position:relative}.experience{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;background:#d8ded4}.scene-backdrop{position:absolute;inset:0;background:url(assets/coastal-van.jpg) center/cover}.scene-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,244,237,.65),transparent 65%)}#van-canvas{display:block;position:absolute;width:100%;height:100%;inset:0;opacity:0;transition:opacity 1s}.scene-ready #van-canvas{opacity:1}.scene-ready .scene-backdrop{opacity:0}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(239,240,226,.3),transparent 46%);transition:background .6s}.story-content{position:absolute;inset:0;pointer-events:none}.story-panel{position:absolute;top:22%;left:var(--gutter);width:34%;max-width:490px;opacity:0;transform:translateY(14px);visibility:hidden;transition:opacity .55s,transform .55s,visibility .55s;color:var(--ink)}.story-panel.active{opacity:1;transform:none;visibility:visible}.story-panel.active a,.story-panel.active button{pointer-events:auto}.story-panel p{margin-top:24px;max-width:31ch;font-size:16px;line-height:1.65}.story-panel h2{font-size:clamp(48px,5vw,76px)}.story-panel .text-link{margin-top:25px}.story-detail{display:block;font-size:12px;margin-top:28px;max-width:34ch;line-height:1.6}.story-panel .button{margin-top:30px}.panel-interior{top:auto;bottom:19%;width:360px;padding:26px;background:rgba(246,244,237,.96);border-radius:3px}.panel-interior h2{font-size:40px}.panel-interior p{font-size:14px;margin-top:16px}.panel-interior .story-detail{margin-top:18px}.scene-meta{position:absolute;right:var(--gutter);top:145px;display:flex;flex-direction:column;gap:10px;text-align:right;font-size:10px;letter-spacing:.1em;font-weight:600}.scene-meta button{font-size:11px;letter-spacing:0;font-weight:400;text-align:right;text-decoration:underline;text-underline-offset:4px}.journey-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:30px var(--gutter);gap:30px;color:var(--ink);background:linear-gradient(transparent,rgba(246,244,237,.7))}.scroll-invite{display:flex;gap:12px;align-items:center;font-size:11px;white-space:nowrap}.scroll-icon{display:block;width:18px;height:28px;border:1px solid currentColor;border-radius:10px;position:relative}.scroll-icon:after{content:'';position:absolute;top:5px;left:7px;height:7px;width:2px;background:currentColor;animation:scroll-nudge 1.6s ease-in-out infinite}@keyframes scroll-nudge{50%{transform:translateY(7px)}}.chapter-nav{display:flex;gap:24px;justify-content:center}.chapter-nav button{display:flex;gap:8px;font-size:11px;white-space:nowrap;opacity:.6;padding:9px 0;border-bottom:1px solid transparent}.chapter-nav button.active{opacity:1;border-color:currentColor}.chapter-nav button span{font-size:9px;align-self:center}.skip-tour{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:11px}.skip-tour svg{width:15px;height:15px}.journey-track{position:absolute;bottom:0;height:2px;left:0;right:0;background:rgba(32,63,60,.14)}.journey-track span{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}.loading-message{position:absolute;left:var(--gutter);bottom:125px;font-size:11px;display:flex;align-items:center;gap:12px;transition:opacity .3s}.loading-line{width:32px;height:1px;background:currentColor;animation:load 1s alternate infinite}@keyframes load{to{opacity:.25}}.scene-ready .loading-message,.scene-failed .loading-message{display:none}.scene-night .story-panel:not(.panel-interior),.scene-night .scene-meta{color:var(--paper)}.scene-night .scene-shade{background:linear-gradient(90deg,rgba(11,29,33,.45),transparent 65%)}.scene-night .journey-bottom{color:var(--paper);background:linear-gradient(transparent,rgba(10,31,34,.65))}.scene-night .journey-track span{background:var(--paper)}.intro-section{padding:145px var(--gutter) 150px;display:grid;grid-template-columns:1.1fr .9fr;gap:12vw}.intro-copy{max-width:460px;padding-top:8px}.intro-copy p{font-size:18px;line-height:1.75}.intro-copy p+p{margin-top:20px;color:var(--muted);font-size:16px}.intro-copy .text-link{margin-top:28px}.wave-decoration{width:95px;height:40px;margin-top:36px;stroke-width:1.2}.lifestyle-section{display:grid;grid-template-columns:1.15fr 1fr;min-height:650px;background:#e6e8de}.lifestyle-image{position:relative;min-height:600px}.lifestyle-image img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-note{position:absolute;bottom:25px;left:30px;color:white;font-size:11px;text-shadow:0 1px 5px #172c25}.lifestyle-copy{padding:80px clamp(30px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.lifestyle-options{display:flex;gap:22px;border-bottom:1px solid #b2beb0;margin-top:38px}.lifestyle-options button{font-size:13px;padding:0 0 13px;color:var(--muted);position:relative;white-space:nowrap}.lifestyle-options button[aria-selected=true]{color:var(--ink)}.lifestyle-options button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ink)}#lifestyle-description{min-height:170px;padding-top:23px}#lifestyle-description p{font-size:15px;line-height:1.75}#lifestyle-description span{display:block;font-size:11px;color:var(--muted);margin-top:18px}.lifestyle-copy>.text-link{margin-top:12px}.closing-section{text-align:center;padding:125px var(--gutter) 135px}.closing-section>p{max-width:none;font-size:14px;margin-bottom:16px;color:var(--muted)}.closing-section h2{font-size:clamp(44px,6vw,84px)}.closing-section .button{margin-top:35px}.site-footer{display:grid;grid-template-columns:1fr 1fr;row-gap:36px;padding:50px var(--gutter) 30px;border-top:1px solid var(--line);align-items:center}.site-footer>p{text-align:right;font-size:14px}.site-footer>div{display:flex;gap:28px;font-size:12px}.site-footer>span{text-align:right;font-size:11px;color:var(--muted)}.site-footer small{font-size:10px;color:var(--muted);grid-column:1/-1}.inside-page .site-header{position:relative}.page-hero{padding:70px var(--gutter) 90px;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end}.page-hero p{font-size:17px;color:var(--muted);max-width:40ch}.page-hero h1{font-size:clamp(54px,6vw,88px)}.editorial-banner{position:relative;height:65vw;max-height:640px;min-height:300px;margin:0 var(--gutter)}.editorial-banner img{width:100%;height:100%;object-fit:cover}.editorial-banner figcaption{position:absolute;bottom:24px;left:28px;color:white;font-size:11px;text-shadow:0 2px 5px #18332c}.services-intro{padding:120px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.services-intro>div>p{color:var(--muted);margin-top:24px;max-width:38ch}.service-list{margin:0}.service-list>div{padding:24px 0;border-bottom:1px solid var(--line)}.service-list>div:first-child{padding-top:0}.service-list dt{font-size:21px;margin-bottom:10px}.service-list dd{margin:0;color:var(--muted);font-size:14px;max-width:49ch}.process-section{padding:105px var(--gutter);background:#e6e8de}.process-header{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:60px}.process-header p{max-width:38ch;color:var(--muted);font-size:15px}.process-row{display:grid;grid-template-columns:70px 1fr 1.2fr;gap:24px;padding:35px 0;border-top:1px solid #b7c2b4}.process-row>span{font-size:13px;padding-top:6px}.process-row h3{font-size:28px}.process-row p{color:var(--muted);font-size:15px;max-width:55ch}.process-note{margin-top:25px;font-size:12px;color:var(--muted)}.finishes{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:120px var(--gutter);align-items:center}.finishes>img{width:100%;aspect-ratio:1.05;object-fit:cover}.finishes p{margin-top:24px;color:var(--muted)}.swatches{display:flex;gap:18px;margin:30px 0}.swatches>span{display:flex;flex-direction:column;font-size:10px;gap:8px}.swatches i{display:block;width:52px;height:52px;border-radius:50%;border:1px solid rgba(32,63,60,.15)}.faq{padding:0 var(--gutter) 120px;max-width:1100px;margin:auto}.faq>h2{margin-bottom:45px}.faq details{border-top:1px solid var(--line);padding:25px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:20px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px}.faq summary:after{content:'+';font-size:25px;font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{margin-top:20px;color:var(--muted);font-size:15px;max-width:70ch}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;padding:65px var(--gutter) 120px}.contact-intro h1{font-size:clamp(52px,5.7vw,82px)}.contact-intro>p{font-size:17px;color:var(--muted);margin-top:25px;max-width:34ch}.contact-email{display:block;font-size:15px;margin-top:30px;text-decoration:underline;text-underline-offset:6px}.contact-photo{margin-top:50px;aspect-ratio:1.3;object-fit:cover;width:100%;max-width:430px}.build-form{padding-top:12px}.form-step{margin-bottom:35px;padding:0;border:0;min-width:0}.form-step legend{font-size:22px;letter-spacing:-.02em;margin-bottom:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:20px}.field label{display:block;font-size:12px;margin-bottom:8px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #b4c0b3;border-radius:3px;background:transparent;padding:13px 14px;color:var(--ink);font-size:14px;min-height:50px}.field textarea{resize:vertical;min-height:130px}.field input::placeholder,.field textarea::placeholder{color:#6b7b70}.field select{appearance:auto}.radio-options{display:flex;gap:10px;flex-wrap:wrap}.radio-options label{cursor:pointer;position:relative;display:flex;align-items:center;gap:8px;border:1px solid #b4c0b3;border-radius:3px;padding:11px 14px;font-size:12px;flex:1;white-space:nowrap}.radio-options label:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--paper)}.radio-options input{accent-color:#b9cabc}.form-note{font-size:12px;color:var(--muted);margin-top:15px;max-width:55ch}.form-note a{text-decoration:underline;text-underline-offset:3px}.form-status{margin-top:20px;font-size:14px;color:var(--ink)}.form-status:empty{display:none}.secondary-action{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:4px;margin-left:22px}.preview-note{font-size:11px;color:var(--muted)}.static-tour .journey{height:100svh}.static-tour .experience{min-height:650px}.static-tour .scroll-invite{display:none}.static-tour .chapter-nav{margin:auto}.static-tour .journey-bottom{gap:12px}
@media(min-width:1500px){.story-panel{top:25%}.panel-interior{top:auto;bottom:20%}.journey-bottom{padding-bottom:35px}.chapter-nav{gap:32px}}
@media(max-width:1150px){.chapter-nav{gap:16px}.chapter-nav button{font-size:10px;gap:5px}.scroll-invite{display:none}.journey-bottom{gap:10px}.story-panel{width:38%}.lifestyle-copy{padding:55px 40px}.lifestyle-options{gap:16px}.site-header nav{gap:30px}.contact-layout{gap:7vw}.radio-options label{flex:auto}.process-header{align-items:start}}
@media(max-width:760px){:root{--gutter:24px}.site-header{height:88px}.brand{width:123px}.site-header nav{gap:20px}.site-header nav>a:first-child{display:none}.nav-cta{font-size:11px;padding:10px 13px;gap:12px}.nav-cta svg{width:15px}.journey{height:620vh}.experience{min-height:640px}.story-panel{top:17%;width:calc(100% - 48px);max-width:400px}.story-panel h1{font-size:56px;line-height:1}.story-panel h2{font-size:48px}.story-panel p{font-size:14px;max-width:32ch;margin-top:18px}.story-panel .text-link{margin-top:19px;font-size:12px}.scene-meta{top:110px;right:24px;font-size:8px}.scene-meta button{font-size:9px}.intro .text-link{display:none}.story-panel:not(.intro){top:auto;bottom:115px}.panel-interior{max-width:315px;padding:20px;bottom:108px}.panel-interior h2{font-size:34px}.panel-interior p{font-size:12px;max-width:36ch;margin-top:12px}.story-detail{font-size:10px;margin-top:15px}.panel-interior .story-detail{margin-top:12px}.final-panel h2{font-size:50px}.final-panel .button{min-height:50px;font-size:12px;margin-top:20px}.journey-bottom{padding:22px 24px 25px}.chapter-nav{width:100%;justify-content:space-between;gap:8px}.chapter-nav button{font-size:0;gap:0;padding:10px 10px}.chapter-nav button.active{font-size:10px;gap:6px}.chapter-nav button span{font-size:9px}.skip-tour{display:none}.scene-shade{background:linear-gradient(180deg,rgba(246,244,237,.2),transparent 55%)}.scene-night .scene-shade{background:linear-gradient(0deg,rgba(11,29,33,.8),transparent 80%)}.loading-message{bottom:100px;font-size:9px}.intro-section{padding:85px 24px;grid-template-columns:1fr;gap:32px}.intro-title h2{font-size:43px}.wave-decoration{display:none}.intro-copy p{font-size:17px}.intro-copy p+p{font-size:15px}.lifestyle-section{grid-template-columns:1fr}.lifestyle-image{min-height:410px}.lifestyle-copy{padding:55px 24px 60px}.lifestyle-copy h2{font-size:45px}.lifestyle-options{gap:30px}.lifestyle-options button{font-size:13px}#lifestyle-description{min-height:150px}.closing-section{padding:85px 24px 95px}.closing-section h2{font-size:47px}.site-footer{grid-template-columns:1fr;row-gap:28px;padding:35px 24px 25px}.site-footer>p,.site-footer>span{text-align:left}.site-footer>p{margin-top:-12px;font-size:13px}.site-footer>div{gap:26px}.site-footer small{grid-column:auto;max-width:40ch}.page-hero{padding:40px 24px 50px;grid-template-columns:1fr;gap:27px}.page-hero h1{font-size:54px}.page-hero p{font-size:16px}.editorial-banner{margin:0;height:430px}.editorial-banner figcaption{left:24px}.services-intro{padding:75px 24px;grid-template-columns:1fr;gap:45px}.services-intro h2{font-size:44px}.services-intro>div>p{font-size:15px}.service-list dt{font-size:20px}.process-section{padding:70px 24px}.process-header{display:block;margin-bottom:35px}.process-header h2{font-size:43px}.process-header p{margin-top:24px}.process-row{grid-template-columns:30px 1fr;gap:10px;padding:27px 0}.process-row p{grid-column:2;margin-top:8px;font-size:14px}.process-row h3{font-size:25px}.finishes{padding:75px 24px;grid-template-columns:1fr;gap:38px}.finishes h2{font-size:44px}.finishes p{font-size:15px}.faq{padding:0 24px 75px}.faq h2{font-size:40px}.faq summary{font-size:17px}.contact-layout{padding:40px 24px 75px;grid-template-columns:1fr;gap:50px}.contact-intro h1{font-size:54px}.contact-intro>p{font-size:16px}.contact-photo{display:none}.contact-email{font-size:14px;margin-top:24px}.field-row{gap:15px}.radio-options{gap:8px}.radio-options label{padding:10px 11px}.form-step{margin-bottom:28px}.form-step legend{font-size:21px}.secondary-action{display:block;margin:18px 0 0}.static-tour .journey{height:100svh}.static-tour .experience{min-height:640px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Photographic establishing scenes frame the live 3D concept tour. */
.cinematic-plate{position:absolute;inset:0;background-position:center;background-size:cover;pointer-events:none;will-change:opacity,transform}.dawn-plate{background-image:url(assets/coastal-van.jpg);opacity:1}.dusk-plate{background-image:url(assets/sunset-van.jpg);opacity:0}.scene-opening .scene-shade{background:linear-gradient(90deg,rgba(10,31,31,.52),rgba(10,31,31,.1) 65%,transparent)}.scene-opening .story-panel.intro,.scene-opening .scene-meta,.scene-opening .journey-bottom{color:var(--paper)}.scene-opening .journey-bottom{background:linear-gradient(transparent,rgba(10,31,31,.35))}.scene-opening .site-header{color:var(--paper)}.scene-opening .site-header .brand img{content:url(assets/swell-logo-white.svg)}.scene-opening .nav-cta{background:var(--paper);color:var(--ink)}.scene-opening .nav-cta:hover{background:#e1e2d7}.scene-opening .loading-message{color:var(--paper)}.story-panel.intro{width:50%;max-width:640px;top:28%}.story-panel.intro h1{font-size:clamp(54px,5.7vw,88px);line-height:1.03}.story-panel.intro p{font-size:16px;margin-top:25px}.scene-opening .journey-track span{background:var(--paper)}
@media(max-width:760px){.dawn-plate,.dusk-plate{background-position:62% center}.story-panel.intro{top:19%;width:calc(100% - 48px);max-width:430px}.story-panel.intro h1{font-size:clamp(45px,11.8vw,62px)}.story-panel.intro p{font-size:14px;max-width:26ch;margin-top:20px}.scene-opening .scene-shade{background:linear-gradient(180deg,rgba(10,31,31,.45),rgba(10,31,31,.05) 64%,rgba(10,31,31,.25))}.scene-meta{top:auto;bottom:102px}.scene-opening .scene-meta{top:auto;bottom:102px}.static-tour .scene-meta{bottom:102px}.chapter-nav button.active{font-size:9px}}

@media(max-width:480px){.field-row{grid-template-columns:1fr;gap:0}.contact-intro h1{font-size:52px}}

@media(max-width:760px){.home:not(.scene-opening) .scene-meta{top:28px;bottom:auto}.home.static-tour:not(.scene-opening) .scene-meta{top:105px;bottom:auto}}

.story-panel[data-chapter="1"],.story-panel[data-chapter="4"]{top:auto;bottom:19%;width:350px;padding:26px;background:rgba(246,244,237,.96);border-radius:3px}.story-panel[data-chapter="1"] h2,.story-panel[data-chapter="4"] h2{font-size:40px}.story-panel[data-chapter="1"] p,.story-panel[data-chapter="4"] p{font-size:14px;margin-top:16px}.story-panel[data-chapter="1"] .story-detail{margin-top:18px}.story-panel[data-chapter="4"] .text-link{font-size:12px;margin-top:20px}.scene-night .story-panel[data-chapter="4"]{color:var(--ink)}
@media(max-width:760px){.story-panel[data-chapter="1"],.story-panel[data-chapter="4"]{width:calc(100% - 48px);max-width:315px;bottom:115px;padding:20px}.story-panel[data-chapter="1"] h2,.story-panel[data-chapter="4"] h2{font-size:34px}.story-panel[data-chapter="1"] p,.story-panel[data-chapter="4"] p{font-size:12px;margin-top:12px}}

.home{overflow-anchor:none}

.scene-meta{background:rgba(246,244,237,.94);padding:10px 12px;border-radius:3px}.home.scene-opening .scene-meta,.home.scene-night .scene-meta{color:var(--ink)}.journey-bottom{background:rgba(246,244,237,.92);padding-top:20px;padding-bottom:20px}.chapter-nav button{opacity:.82;min-height:36px}.chapter-nav button.active{opacity:1}

.closing-section h2+p{margin:22px auto 0}.closing-section h2+p+.button{margin-top:30px}

/* User-supplied Swell wave and wordmark lockup. */
.brand{width:246px;flex-shrink:0}.brand img{width:100%;height:auto;aspect-ratio:1920/430}
@media(max-width:760px){.brand{width:172px}.site-footer .brand{width:220px}}
@media(max-width:360px){.site-header .brand{width:140px}.site-header .nav-cta{font-size:10px;padding:10px;gap:8px}}

/* Booking inquiries remain a conversation before a deposit is paid. */
.contact-intro>p.reservation-note{font-size:13px;line-height:1.7;max-width:44ch;margin-top:20px}
.closing-section.booking-close>p{max-width:57ch;margin-left:auto;margin-right:auto}
.closing-section.booking-close>p+p{margin-top:12px}
