@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#0b1013;--ink:#f1f0eb;--muted:#a8b2b5;--gold:#c5ad80;--line:#ffffff20;--font:'DM Sans',Arial,sans-serif;--display:'Space Grotesk',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}[hidden]{display:none!important}.glass{background:linear-gradient(135deg,#ffffff0f,#ffffff03);border:1px solid #ffffff22;box-shadow:inset 0 1px #ffffff12;backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}header{position:fixed;inset:0 0 auto;z-index:20;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#11191bb0;border-bottom:1px solid var(--line);backdrop-filter:blur(25px) saturate(120%);-webkit-backdrop-filter:blur(25px) saturate(120%)}.wordmark{font:700 43px/.7 var(--display);letter-spacing:-3px}.wordmark span{font:400 12px var(--font);vertical-align:top;letter-spacing:0;margin-left:4px}.wordmark small{display:block;font:500 9px var(--font);letter-spacing:6px;text-align:right;margin-top:9px;padding-right:18px}nav{display:flex;gap:32px;font-size:14px}nav a:hover{color:var(--gold)}.book{display:inline-flex;justify-content:center;align-items:center;padding:13px 25px;border:1px solid #d7c59e70;background:linear-gradient(125deg,#c5ad8024,#c5ad8008);font-size:14px;border-radius:3px;transition:background .25s}.book:hover{background:#c5ad8038}.skip{position:fixed;top:-100px;background:white;color:black;padding:15px;z-index:40}.skip:focus{top:10px}#story{height:460vh}.sticky{height:100svh;min-height:700px;position:sticky;top:0;overflow:hidden;background:radial-gradient(ellipse at 75% 50%,#263138,#10171c 42%,#080c0f 80%)}#scene,#hero-poster{position:absolute;inset:0;width:100%;height:100%}#scene canvas{display:block;width:100%;height:100%}#hero-poster{object-fit:contain;left:8%;width:92%;transition:opacity .4s}#hero-poster.loaded{opacity:0}.story-copy{position:absolute;left:max(6%,calc((100vw - 1320px)/2));top:36%;width:43%;max-width:610px;z-index:2;pointer-events:none}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.13em;color:var(--gold);text-transform:uppercase;margin:0 0 23px}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(40px,4.7vw,72px)/1.11 var(--display);letter-spacing:-.045em;margin:0}h2{font:400 clamp(36px,4vw,58px)/1.15 var(--display);letter-spacing:-.04em;margin:0}h3{font:400 30px/1.25 var(--display);letter-spacing:-.025em}.chapters{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;gap:5px;padding:7px;border:1px solid #ffffff24;border-radius:50px;background:#ffffff08;backdrop-filter:blur(22px);z-index:3;white-space:nowrap}.chapters button{border:0;border-radius:40px;background:transparent;padding:12px 25px;font-size:14px;color:var(--muted)}.chapters button.active{background:#ffffff13;color:var(--ink)}.section{padding:110px max(6%,calc((100vw - 1320px)/2));border-top:1px solid #ffffff0c}.section-heading{text-align:center;max-width:800px;margin:0 auto 58px}.section-heading p:last-child:not(.eyebrow){margin:24px auto 0;color:var(--muted);max-width:580px}.portfolio-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pillar{position:relative;height:610px;overflow:hidden;border-radius:5px;background:#1a252b}.pillar-slides,.portfolio-photo{height:100%;width:100%}.portfolio-photo{border:0;padding:0;background:none;display:block;cursor:zoom-in}.portfolio-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s}.portfolio-photo:hover img{transform:scale(1.035)}.pillar-overlay{position:absolute;inset:auto 16px 54px;padding:25px 22px;border-radius:4px;background:#10181a99;pointer-events:none}.pillar-overlay h3{margin:0 0 10px}.pillar-overlay p{font-size:14px;line-height:1.5;margin:0 0 20px;color:#d4dadb}.pillar-overlay a{font-size:14px;border-bottom:1px solid #c5ad80;padding-bottom:4px;pointer-events:auto}.slide-dots{position:absolute;bottom:18px;display:flex;gap:7px;left:50%;transform:translateX(-50%)}.slide-dots button{border:0;width:28px;height:22px;background:transparent;position:relative}.slide-dots button:after{content:'';position:absolute;width:6px;height:6px;left:11px;top:8px;border-radius:50%;background:#ffffff70}.slide-dots button[aria-pressed=true]:after{background:white;width:18px;left:5px;border-radius:5px}#about,#team{background:#10181c}.founders{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;max-width:1140px;margin:auto}.founders>img{width:100%;height:610px;object-fit:cover;border-radius:5px 0 0 5px}.founder-story{padding:60px 45px;display:flex;flex-direction:column;justify-content:center;border-radius:0 5px 5px 0}.founder-story h3{font-size:35px}.founder-story>p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-block;width:fit-content;border-bottom:1px solid #c5ad8070;font-size:14px;padding-bottom:5px}.text-link:hover{border-color:var(--gold)}#team{padding-top:55px}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px;max-width:1140px;margin:auto;justify-content:center}.team-member img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;border-radius:4px;filter:saturate(.8)}.team-name{text-align:center;padding-top:16px}.team-name h3{font-size:21px;margin:0 0 5px}.team-name span{font-size:13px;color:var(--muted)}.team-member:nth-child(n+5){transform:translateX(54%)}#reviews{background:radial-gradient(ellipse at 50% 70%,#263138,#0b1013 70%)}.review-frame{padding:22px;border-radius:6px;max-width:1100px;margin:auto;overflow:hidden}.review-frame iframe{width:100%;height:450px;border:0;border-radius:3px;display:block;background:#f6f6f6;color-scheme:light}.centered-link{display:block;margin:28px auto 0}#packages{background:#10181c}.package-selector{display:flex;justify-content:center;gap:7px;max-width:1000px;margin:0 auto 32px;padding:7px;border:1px solid var(--line);border-radius:5px;background:#ffffff03}.package-selector button{flex:1;border:0;background:transparent;padding:15px 12px;font-size:14px;color:var(--muted);border-radius:3px}.package-selector button[aria-selected=true]{color:var(--ink);background:#ffffff10;box-shadow:inset 0 0 0 1px #ffffff15}.package-panel{display:grid;grid-template-columns:1fr 1fr;max-width:1100px;margin:auto;border-radius:6px;overflow:hidden;min-height:550px}.package-panel>img{width:100%;height:100%;max-height:660px;min-height:550px;object-fit:cover}.package-content{padding:44px;display:flex;flex-direction:column;align-items:flex-start}.package-content .eyebrow{margin-bottom:17px}.package-content h3{font-size:33px;margin-bottom:18px}.package-content>p:not(.eyebrow){color:var(--muted)}.price{font:400 40px var(--display);margin:5px 0 20px}.price span{font:14px var(--font);color:var(--muted);margin-right:10px}.package-content details{width:100%;margin-bottom:25px}.package-content .book{margin-top:auto}.package-note{text-align:center;max-width:680px;margin:26px auto 0;font-size:13px;color:var(--muted)}summary{cursor:pointer;padding:16px 0;list-style:none;border-top:1px solid var(--line);font-size:16px;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:var(--gold)}details[open]>summary:after{content:'−'}details ul{margin:0 0 12px;padding-left:20px;color:var(--muted);font-size:14px}.contact-card{padding:70px 35px;text-align:center;border-radius:6px;background:radial-gradient(ellipse at 50% 0%,#ffffff0c,transparent),#ffffff03}.contact-card>p:not(.eyebrow){color:var(--muted);margin:25px 0}.contact-buttons{display:flex;align-items:center;justify-content:center;gap:30px;margin:34px 0}.contact-details{display:flex;justify-content:center;gap:30px;color:var(--muted);font-size:14px}.faq{max-width:800px;margin:55px auto 0}.faq details p{color:var(--muted);padding:8px 0 20px}.faq details:last-child{border-bottom:1px solid var(--line)}footer{padding:50px 6%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>div{font-size:13px;color:var(--muted);margin:0}footer>div{display:flex;gap:24px}#lightbox{border:1px solid var(--line);background:#0b1013;color:var(--ink);padding:18px;max-width:94vw;max-height:94vh}#lightbox::backdrop{background:#05080cec;backdrop-filter:blur(15px)}#lightbox img{display:block;max-width:88vw;max-height:76vh;object-fit:contain}#lightbox p{font-size:14px;margin:14px 0 0}.close-lightbox{display:block;margin:0 0 16px auto;background:none;border:0;font-size:14px}.no-webgl #story{height:100svh;min-height:700px}.no-webgl .chapters{display:none}
@media(max-width:1000px){nav{gap:20px}.pillar{height:490px}.pillar-overlay{padding:20px 16px;left:10px;right:10px}.pillar-overlay h3{font-size:25px}.founder-story{padding:35px}.founder-story h3{font-size:29px}.founders>img{height:600px}.package-content{padding:30px}.team-grid{gap:30px 16px}.team-name h3{font-size:19px}}
@media(max-width:650px){header{height:76px;padding:0 6%}header nav{display:none}.wordmark{font-size:35px}header .book{padding:11px 17px;font-size:13px}.section{padding:70px 6%}.section-heading{margin-bottom:36px}.section-heading .eyebrow{margin-bottom:17px}h2{font-size:36px}.sticky{min-height:740px}.story-copy{top:18%;left:6%;width:88%;max-width:none;text-align:center}h1{font-size:clamp(36px,8.6vw,52px);max-width:480px;margin:auto;line-height:1.15}.story-copy .eyebrow{font-size:11px;margin-bottom:20px}.chapters{bottom:27px;width:90%;justify-content:center;padding:5px}.chapters button{font-size:12px;padding:12px 13px;flex:1}#hero-poster{object-fit:contain;width:165%;left:-68%;top:33%;height:64%}#story{height:420vh}.portfolio-pillars{grid-template-columns:1fr;gap:25px}.pillar{height:570px}.pillar-overlay{left:18px;right:18px;padding:25px}.pillar-overlay h3{font-size:30px}.founders{grid-template-columns:1fr}.founders>img{height:450px;border-radius:5px 5px 0 0}.founder-story{border-radius:0 0 5px 5px;padding:35px 28px}.team-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.team-member:nth-child(n+5){transform:none}.team-member:last-child{grid-column:1/3;width:calc(50% - 8px);justify-self:center}.team-name h3{font-size:19px}.team-name span{font-size:12px}.review-frame{padding:10px}.review-frame iframe{height:510px}.package-selector{display:grid;grid-template-columns:1fr 1fr;gap:5px}.package-selector button{font-size:13px;padding:13px 8px}.package-panel{grid-template-columns:1fr}.package-panel>img{height:260px;min-height:0;max-height:none}.package-content{padding:30px}.package-content h3{font-size:29px}.package-content .book{width:100%}.contact-card{padding:45px 22px}.contact-card h2{font-size:33px}.contact-buttons,.contact-details{flex-direction:column;gap:20px}.contact-card>p:not(.eyebrow){font-size:14px}footer{flex-wrap:wrap;padding:40px 6%}footer>div{width:100%;justify-content:center}.no-webgl #story{min-height:740px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}#story{height:260vh}.no-webgl #story{height:100svh}}

.client-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.client-quotes figure{margin:0;padding:40px 30px;border-radius:5px;display:flex;flex-direction:column;justify-content:space-between;min-height:275px;text-align:center}.client-quotes blockquote{font:400 25px/1.5 var(--display);letter-spacing:-.02em;margin:0 0 30px}.client-quotes figcaption{font-size:14px}.client-quotes figcaption span{display:block;color:var(--muted);font-size:12px;margin-top:6px}@media(max-width:650px){.client-quotes{grid-template-columns:1fr}.client-quotes figure{min-height:235px}}

/* One heading per section, carried by the established warm gold. */
.section-title{color:var(--gold);font:400 clamp(32px,3.5vw,49px)/1.2 var(--display);letter-spacing:-.025em;margin:0 0 24px;text-align:center}.founder-story .section-title,.package-content .section-title{text-align:left;font-size:30px}.section-heading{margin-bottom:44px}.section-heading>p:not(.eyebrow){margin:18px auto 0}.coastal-atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:#0b1013}.coastal-atmosphere img{width:110%;height:110%;object-fit:cover;opacity:.20;filter:saturate(.55);transform-origin:85% 10%;animation:coastal-drift 22s ease-in-out infinite alternate;will-change:transform}.coastal-atmosphere:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b101370,#0b1013cc 50%,#0b101350)}main,footer{position:relative;z-index:1}.section{background:#0b101345}#about,#team,#packages{background:#10181cba}#reviews{background:radial-gradient(ellipse at 50% 70%,#26313880,#0b101340 70%)}.team-member img{filter:none}#motion-toggle{position:fixed;right:16px;bottom:16px;z-index:21;border:1px solid #ffffff26;border-radius:30px;padding:9px 15px;background:#10191dcc;backdrop-filter:blur(14px);font-size:12px;color:#c0c9c9}.motion-paused .coastal-atmosphere img{animation-play-state:paused}@keyframes coastal-drift{0%{transform:translate(-3%,-2%) rotate(-1.4deg) scale(1.02)}50%{transform:translate(-1%,0) rotate(.1deg) scale(1.045)}100%{transform:translate(-2%,-1%) rotate(1.4deg) scale(1.02)}}@media(prefers-reduced-motion:reduce){.coastal-atmosphere img{animation:none}#motion-toggle{display:none}}@media(max-width:650px){.section-title{font-size:34px}.coastal-atmosphere img{opacity:.16}#motion-toggle{font-size:11px;padding:8px 11px}}
/* Fixed framing, local frond bending, transparent hero. */
.coastal-atmosphere img{animation:none!important;transform:none!important;width:100%;height:100%;opacity:.32;filter:saturate(.7)}.palm-motion{position:absolute;inset:0;width:100%;height:100%;opacity:.32;filter:saturate(.7)}.palms-ready>img{opacity:0}.coastal-atmosphere:after{background:linear-gradient(90deg,#0b101350,#0b101380 48%,#0b101330)}.sticky{background:transparent}#hero-poster{mix-blend-mode:lighten;mask-image:radial-gradient(ellipse at 70% 50%,black 30%,transparent 72%)}#hero-poster.loaded{opacity:0}.section{background:#0b101325}#about,#team,#packages{background:#10181c90}@media(max-width:650px){.palm-motion,.coastal-atmosphere img{opacity:.25}.palms-ready>img{opacity:0}}

/* One continuous coastal canvas across hero, content sections and footer. */
.sticky,.section,#about,#team,#reviews,#packages,footer{background:transparent}

/* Compact, transparent portfolio labels and warm-gold interaction. */
.pillar{border:1px solid #ffffff12;transition:border-color .45s,box-shadow .45s,transform .55s cubic-bezier(.22,1,.36,1)}
.pillar-overlay{inset:auto 14px 52px;padding:17px 18px;background:linear-gradient(135deg,#111a1c59,#111a1c29);backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);border-color:#ffffff29;transition:border-color .4s,background .4s}
.pillar-overlay h3{font-size:23px;margin:0 0 5px}.pillar-overlay p{font-size:14px;line-height:1.4;margin:0 0 10px}.pillar-overlay a{font-size:13px;padding-bottom:2px}
.pillar:focus-within{border-color:#d5b777a8;box-shadow:0 0 0 1px #c5ad8038,0 18px 45px #0005}.pillar:focus-within .pillar-overlay{border-color:#d5b77780}
@media(hover:hover){.pillar:hover{border-color:#d5b777b0;box-shadow:0 0 0 1px #c5ad8038,0 18px 45px #0005;transform:translateY(-5px)}.pillar:hover .pillar-overlay{border-color:#d5b77780;background:linear-gradient(135deg,#302b2059,#111a1c29)}}
/* Sliding glass selection follows the active tab, including the mobile two-row layout. */
.package-selector{position:relative;isolation:isolate;padding:7px;background:#ffffff04;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-color:#c5ad8033}
.package-glider{position:absolute;left:0;top:0;pointer-events:none;z-index:-1;border:1px solid #dbbd827d;border-radius:4px;background:linear-gradient(130deg,#d6b77733,#d6b77708 60%,#ffffff0b);box-shadow:inset 0 1px #fff3,0 4px 18px #0004;transition:transform .6s cubic-bezier(.22,1,.36,1),width .6s cubic-bezier(.22,1,.36,1),height .6s cubic-bezier(.22,1,.36,1)}
.package-selector button{position:relative;transition:color .35s}.package-selector button[aria-selected=true]{color:#ecd7b0;background:transparent;box-shadow:none}.package-selector button:hover{color:#ecd7b0}
.package-panel{border:1px solid #c5ad8070;box-shadow:0 22px 60px #0005,0 0 32px #c5ad8009,inset 0 1px #ffffff1c;background:linear-gradient(125deg,#ffffff0d,#c5ad8008);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);will-change:auto}
.package-panel .book{border-color:#d6b777a0;background:linear-gradient(125deg,#c5ad8038,#c5ad800c)}
/* Quiet editorial carousel. Star ratings come from the source records. */
.reviews-carousel{max-width:1050px;margin:auto}.review-stage{position:relative;transition:height .55s cubic-bezier(.22,1,.36,1)}
.review-slide{margin:0;width:100%;padding:52px 64px;border-radius:6px;min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(130deg,#ffffff0b,#ffffff03);border-color:#c5ad8038}
.review-slide blockquote{font:400 clamp(23px,2.3vw,32px)/1.5 var(--display);letter-spacing:-.02em;margin:0 0 25px;max-width:850px}.review-long blockquote{font-size:22px;line-height:1.65}.review-slide figcaption{font-size:15px;color:#e3e5df}.review-stars{color:#d5b36f;font-size:21px;letter-spacing:.18em;margin-top:15px;line-height:1.5}.rating-only{font:400 30px/1.5 var(--display);margin:0 0 25px}
.review-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:22px}.review-controls button{background:transparent;border:0;color:var(--muted);font-size:13px;padding:9px 14px;min-height:40px}.review-controls button:hover{color:var(--gold)}
@media(max-width:650px){.pillar-overlay{inset:auto 14px 52px;padding:15px 17px}.pillar-overlay h3{font-size:23px}.pillar-overlay p{margin-bottom:8px}.package-panel{box-shadow:0 14px 35px #0004}.review-slide{padding:34px 23px;min-height:320px}.review-slide blockquote{font-size:22px}.review-long blockquote{font-size:18px;line-height:1.65}.review-controls{gap:5px}.review-controls button{padding:10px}.rating-only{font-size:25px}}
@media(prefers-reduced-motion:reduce){.pillar:hover{transform:none}.package-glider,.review-stage{transition:none}}

/* Continuous client stories: three cards on desktop, four/five on wider displays. */
.reviews-carousel{max-width:none}.review-stage{overflow:hidden;transition:none;mask-image:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent);padding:8px 0 18px}.review-track{display:flex;gap:20px;will-change:transform;align-items:stretch}.review-track .review-slide{flex:0 0 calc((100% - 40px)/3);min-width:0;padding:32px 26px;min-height:410px;justify-content:center;box-shadow:0 8px 22px #0002}.review-track blockquote{font-size:20px;line-height:1.5;margin-bottom:24px}.review-track .review-long blockquote{font-size:15px;line-height:1.65}.review-track figcaption{margin-top:auto;padding-top:10px}.review-track .review-stars{font-size:19px}.review-track .rating-only{font-size:24px}.review-track .review-slide>blockquote{margin-top:auto}
@media(min-width:1600px){.review-track .review-slide{flex-basis:calc((100% - 60px)/4)}}@media(min-width:2000px){.review-track .review-slide{flex-basis:calc((100% - 80px)/5)}}
@media(max-width:900px){.review-track .review-slide{flex-basis:calc((100% - 20px)/2)}}@media(max-width:650px){.review-track .review-slide{flex-basis:88%;padding:30px 23px;min-height:390px}.review-track blockquote{font-size:19px}.review-track .review-long blockquote{font-size:16px}}

/* Portfolio carousel: photos stack and slide in from the right. */
.pillar-slides{position:relative;overflow:hidden}.pillar-slides .portfolio-photo{position:absolute;inset:0;will-change:transform}

/* The real 3D camera is the only camera shown; the static poster is a no-WebGL fallback only. */
#hero-poster{opacity:0}.no-webgl #hero-poster{opacity:1}#scene canvas{opacity:0;transition:opacity .9s ease}#scene[data-ready=true] canvas{opacity:1}@media(prefers-reduced-motion:reduce){#scene canvas{transition:none}}
