*,:before,:after{box-sizing:border-box}html{text-size-adjust:100%;scroll-behavior:smooth}body,h1,h2,h3,p,ul,ol,figure{margin:0}body{min-block-size:100vh}img,picture,svg,video{max-inline-size:100%;display:block}button,input,textarea,select{font:inherit}a{color:inherit}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color-scheme:light;--teal:#0c6f73;--teal-deep:#07565a;--aqua:#57c7c9;--mist:#dcebea;--salt:#f7f8f5;--paper:#fff;--graphite:#203033;--muted:#637174;--bronze:#a68455;--line:#2030332e;--font-body:Manrope, Avenir, "Segoe UI", system-ui, sans-serif;--font-heading:"Iowan Old Style", Baskerville, Georgia, "Times New Roman", serif;--gutter:clamp(1.15rem, 3.5vw, 4.5rem);--section:clamp(5.5rem, 10vw, 10rem);--max:92rem;--focus-ring:3px solid var(--bronze)}html{background:var(--salt);max-inline-size:100%;overflow-x:clip}body{background:var(--salt);min-block-size:100vh;max-inline-size:100%;color:var(--graphite);font-family:var(--font-body);text-rendering:optimizelegibility;font-size:clamp(.98rem,.94rem + .18vw,1.08rem);line-height:1.65;overflow-x:clip}a{text-underline-offset:.22em;text-decoration-thickness:.08em}button{color:inherit}:focus-visible{outline:var(--focus-ring);outline-offset:4px}.skip-link{z-index:100;background:var(--graphite);color:#fff;padding:.75rem 1rem;position:fixed;inset:1rem auto auto 1rem;translate:0 -180%}.skip-link:focus{translate:0}.eyebrow{color:var(--teal);letter-spacing:.17em;text-transform:uppercase;font-size:.72rem;font-weight:750}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.035em;text-wrap:balance;hyphens:none;font-weight:400}h1{font-size:clamp(3.7rem,7.3vw,8.6rem);line-height:.91}h2{font-size:clamp(2.7rem,5vw,5.9rem);line-height:.98}h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.05}.site-header{z-index:40;min-block-size:6.4rem;padding:.35rem var(--gutter);border-block-end:1px solid var(--line);backdrop-filter:blur(12px);background:#f7f8f5f0;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;display:grid;position:sticky;inset-block-start:0}.brand{inline-size:7.6rem;display:block}.brand img{block-size:auto;inline-size:7.6rem;display:block}.main-nav{gap:clamp(.85rem,2vw,2rem);font-size:.8rem;font-weight:650;display:flex}.main-nav a,.languages a{text-decoration:none}.main-nav a:hover{color:var(--teal)}.header-actions{justify-self:end;align-items:center;gap:1.25rem;display:flex}.languages{letter-spacing:.09em;gap:.55rem;font-size:.68rem;font-weight:750;display:flex}.languages a{color:var(--muted);padding:.2rem}.languages a[aria-current=page]{color:var(--teal);border-block-end:1px solid}.book-button{border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.75rem;min-block-size:3.25rem;padding:.72rem 1.45rem;font-weight:750;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.book-button:hover{background:var(--teal-deep)}.book-button--small{min-block-size:2.65rem;padding:.55rem 1rem;font-size:.82rem}.line-link{cursor:pointer;background:0 0;border:0;border-block-end:1px solid;align-items:center;gap:1rem;font-weight:700;text-decoration:none;display:inline-flex}.line-link span{color:var(--teal)}.hero{min-block-size:calc(100vh - 6.4rem);padding:clamp(3rem, 5vw, 5.5rem) var(--gutter);grid-template-columns:minmax(0,.93fr) minmax(25rem,1.07fr);align-items:center;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;max-inline-size:47rem;padding-inline-end:clamp(1rem,4vw,5rem);position:relative}.hero-brand-logo{inline-size:clamp(15rem,20vw,21rem);margin:0 auto 1.6rem;position:relative}.hero-brand-logo:before{content:"";z-index:-1;filter:blur(1rem);background:radial-gradient(circle,#57c7c930,#0000 68%);position:absolute;inset:16% -14%}.hero-brand-logo img{block-size:auto;inline-size:100%}.hero-copy h1{max-inline-size:10ch;margin-block-start:1.2rem}.hero-lead{max-inline-size:34rem;color:var(--muted);margin-block-start:2rem;font-size:clamp(1.08rem,1.25vw,1.34rem)}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.7rem;margin-block-start:2.2rem;display:flex}.language-note{color:var(--muted);letter-spacing:.04em;margin-block-start:clamp(3rem,8vh,6rem);font-size:.78rem}.hero-visual{min-block-size:34rem;background:var(--mist);align-self:stretch;margin-inline-start:-3rem;margin-inline-end:calc(-1 * var(--gutter));animation:.9s cubic-bezier(.2,.75,.2,1) both hero-reveal;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000 0,#000 15% 100%)}.hero-visual img{object-fit:cover;object-position:54% center;block-size:100%;inline-size:100%}.hero-visual:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0c6f731f,#0000 38%);position:absolute;inset:0}.hero-visual figcaption{letter-spacing:.06em;background:#f7f8f5eb;align-items:center;gap:1rem;padding:.7rem 1rem;font-size:.72rem;display:flex;position:absolute;inset:auto auto 1.5rem 1.5rem}.hero-visual figcaption span{font-family:var(--font-heading);color:var(--teal);font-size:1.4rem}.compass-mark{z-index:3;aspect-ratio:1;opacity:.62;filter:blur(.18px);pointer-events:none;inline-size:7rem;animation:28s linear infinite rose-drift;position:absolute;inset:50% auto auto 46.5%;translate:-50% -50%}.compass-mark:before,.compass-mark:after,.compass-mark i:before,.compass-mark i:after{content:"";background:linear-gradient(var(--teal), #57c7c914);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);block-size:6.4rem;inline-size:.09rem;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.compass-mark:after{opacity:.65;block-size:5.2rem;rotate:90deg}.compass-mark i:first-child:before{opacity:.46;block-size:4.6rem;rotate:45deg}.compass-mark i:first-child:after{opacity:.46;block-size:4.6rem;rotate:-45deg}.compass-mark i:nth-child(2):before{opacity:.24;block-size:3.2rem;rotate:22.5deg}.compass-mark i:nth-child(2):after{opacity:.24;block-size:3.2rem;rotate:-22.5deg}.compass-section{isolation:isolate;padding:var(--section) var(--gutter);background:var(--paper);grid-template-columns:minmax(21rem,.88fr) minmax(0,1.12fr);gap:clamp(3rem,7vw,8rem);display:grid;position:relative;overflow:hidden}.compass-section:before{content:"";z-index:-1;opacity:.04;pointer-events:none;background-image:url(/beauty-port-logo.svg),url(/beauty-port-logo.svg),url(/beauty-port-logo.svg);background-position:8% 18%,88% 10%,46% 88%;background-repeat:no-repeat;background-size:24rem,18rem,30rem;position:absolute;inset:-8rem}.section-intro{align-self:start;position:sticky;top:8rem}.section-intro h2{overflow-wrap:normal;word-break:normal;max-inline-size:12ch;margin-block-start:1rem;font-size:clamp(3rem,4.6vw,5.25rem)}.section-intro>p:last-child{max-inline-size:30rem;color:var(--muted);margin-block-start:1.7rem}.service-index{border-block-start:1px solid var(--line)}.service-index article{border-block-end:1px solid var(--line);grid-template-columns:3rem minmax(8rem,.65fr) 1fr;align-items:baseline;gap:1.5rem;padding-block:2rem;display:grid}.service-index article>span{color:var(--bronze);font-family:var(--font-heading)}.service-index article p{max-inline-size:30rem;color:var(--muted)}.story{isolation:isolate;background:var(--mist);grid-template-columns:1.18fr .82fr;min-block-size:52rem;display:grid;position:relative;overflow:hidden}.story-image{overflow:hidden}.story-image img{object-fit:cover;block-size:100%;inline-size:100%}.story-image--main{clip-path:polygon(0 0,100% 0,89% 100%,0 100%);min-block-size:52rem}.story-copy{z-index:2;padding:clamp(4rem, 8vw, 8rem) var(--gutter) clamp(4rem, 8vw, 8rem) 1rem;align-self:center;position:relative}.story-copy h2{max-inline-size:8.5ch;margin-block-start:1rem}.story-copy>p:last-child{color:#405356;max-inline-size:35rem;margin-block-start:2rem}.price-preview{padding:var(--section) var(--gutter) calc(var(--section) + 3rem);background:var(--teal);color:#fff;grid-template-columns:1fr 1fr;gap:5rem;display:grid;position:relative;overflow:hidden}.price-preview .eyebrow{color:#bce9e8}.price-preview h2{max-inline-size:8ch;margin-block-start:1rem}.price-preview>div:nth-child(2){align-self:end;max-inline-size:35rem}.price-preview>div:nth-child(2) p{color:#ffffffc2}.book-button--light{color:var(--teal-deep);background:#fff;border-color:#fff;margin-block-start:2rem}.book-button--light:hover{background:var(--mist)}.price-ribbon{color:#ffffff73;inline-size:max-content;font-family:var(--font-heading);letter-spacing:.08em;white-space:nowrap;border-block:1px solid #ffffff40;font-size:1.25rem;display:flex;position:absolute;inset:auto 0 0}.price-ribbon span{padding:1rem 2rem}.team-space{isolation:isolate;gap:var(--gutter);padding:var(--section) var(--gutter);background:var(--paper);grid-template-rows:auto 18rem;grid-template-columns:.72fr 1.28fr;display:grid;position:relative;overflow:hidden}.team-copy{padding-inline-end:clamp(1rem,5vw,6rem)}.team-copy h2{max-inline-size:9ch;margin-block-start:1rem}.team-copy>p:not(.eyebrow){max-inline-size:34rem;color:var(--muted);margin-block-start:2rem}.team-roster{border-block-start:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0 1.5rem;margin-block-start:2.5rem;padding:0;list-style:none;display:grid}.team-roster li{border-block-end:1px solid var(--line);grid-template-columns:2rem 1fr;gap:.7rem;padding-block:.85rem;display:grid}.team-roster li>span{color:var(--bronze);font-family:var(--font-heading);font-size:.82rem}.team-roster li div{gap:.15rem;display:grid}.team-roster strong{font-size:.82rem;line-height:1.25}.team-roster small{color:var(--muted);font-size:.66rem;line-height:1.4}.mobile-service{border-block-start:2px solid var(--teal);grid-template-columns:2.2rem 1fr;gap:1rem;margin-block-start:2rem;padding-block-start:1.5rem;display:grid}.mobile-service>span{color:var(--teal);font-size:1.4rem}.mobile-service h3{font-family:var(--font-body);letter-spacing:0;font-size:.9rem;font-weight:750}.mobile-service p{max-inline-size:34rem;color:var(--muted);margin-block-start:.45rem;font-size:.76rem}.team-image{overflow:hidden}.team-image img{object-fit:cover;block-size:100%;inline-size:100%}.team-image--wide{min-block-size:46rem;clip-path:polygon(8% 0,100% 0,100% 90%,92% 100%,0 100%,0 10%);grid-area:1/2/span 2;margin-inline-end:calc(-1 * var(--gutter))}.team-image--small{clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,12% 100%,0 88%);align-self:end;block-size:18rem;inline-size:88%}.team-space:before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(circle,#57c7c92e,#dcebea0d 58%,#0000 72%);border-radius:50%;inline-size:52rem;position:absolute;inset:8% -15rem auto auto}.visit{padding:var(--section) var(--gutter);border-block-start:1px solid var(--line)}.visit h2{max-inline-size:9ch;margin-block-start:1rem}.visit-grid{border-block:1px solid var(--line);grid-template-columns:1.3fr .9fr .9fr;gap:2rem;margin-block-start:4rem;padding-block:2rem;display:grid}.visit-grid address,.visit-grid p{font-family:var(--font-heading);font-size:clamp(1.25rem,2vw,1.8rem);font-style:normal;line-height:1.2}.visit-grid p{white-space:pre-line}.visit-grid small{color:var(--muted);font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;margin-block-end:.65rem;font-size:.67rem;font-weight:750;display:block}.visit-actions{flex-wrap:wrap;align-items:center;gap:2rem;margin-block-start:2.5rem;display:flex}footer{padding:2rem var(--gutter);background:var(--graphite);color:#ffffffb8;grid-template-columns:1fr 1.4fr auto;gap:2rem;font-size:.78rem;display:grid}footer a{color:#fff}.mobile-book{display:none}.booking-dialog{background:var(--salt);inline-size:min(92vw,36rem);color:var(--graphite);border:0;border-radius:0;padding:clamp(2rem,5vw,4rem);box-shadow:0 2rem 6rem #00000040}.booking-dialog::backdrop{backdrop-filter:blur(4px);background:#031f21ad}.booking-dialog h2{margin-block-start:.8rem;font-size:clamp(2.5rem,6vw,4.5rem)}.booking-dialog>p:not(.eyebrow){color:var(--muted);margin-block-start:1.2rem}.dialog-close{aspect-ratio:1;cursor:pointer;background:0 0;border:0;inline-size:2.5rem;font-size:1.7rem;position:absolute;inset:1rem 1rem auto auto}.booking-options{border-block-start:1px solid var(--line);margin-block-start:2rem}.booking-options a{border-block-end:1px solid var(--line);grid-template-columns:2rem 1fr auto;gap:1rem;padding-block:1.15rem;font-weight:750;text-decoration:none;display:grid}.booking-options span{color:var(--bronze);font-family:var(--font-heading)}.prices-page{max-inline-size:var(--max);padding:clamp(4rem, 8vw, 8rem) var(--gutter) var(--section);margin-inline:auto}.prices-hero{grid-template-columns:1.2fr .8fr;align-items:end;gap:1rem 5rem;padding-block-end:clamp(4rem,8vw,7rem);display:grid}.prices-hero .eyebrow{grid-column:1/-1}.prices-hero h1{max-inline-size:9ch}.prices-hero>p:not(.eyebrow){max-inline-size:34rem;color:var(--muted)}.prices-hero .line-link{grid-column:2;justify-self:start}.price-layout{grid-template-columns:minmax(14rem,.33fr) minmax(0,1fr);gap:clamp(3rem,8vw,8rem);display:grid}.category-nav{align-self:start;position:sticky;top:7rem}.category-nav>p{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-block-end:1rem;font-size:.7rem;font-weight:750}.category-nav nav{border-block-start:1px solid var(--line);display:grid}.category-nav a{border-block-end:1px solid var(--line);grid-template-columns:2rem 1fr;gap:.7rem;padding-block:.72rem;font-size:.78rem;font-weight:650;line-height:1.25;text-decoration:none;display:grid}.category-nav a:hover{color:var(--teal)}.category-nav a span{color:var(--bronze);font-family:var(--font-heading)}.price-group{padding-block:0 clamp(4rem,7vw,7rem);scroll-margin-top:7rem}.price-group>header{border-block-end:2px solid var(--graphite);grid-template-columns:3rem 1fr;align-items:start;gap:1rem;padding-block-end:1.5rem;display:grid}.price-group>header>span{color:var(--bronze);font-family:var(--font-heading)}.price-group h2{font-size:clamp(2.2rem,4vw,4.6rem)}.price-row{border-block-end:1px solid var(--line);grid-template-columns:1fr auto;align-items:baseline;gap:2rem;padding-block:1rem;display:grid}.price-row p{letter-spacing:.02em;font-size:.9rem;font-weight:650}.price-row small{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;margin-block-start:.25rem;font-size:.65rem;display:block}.price-row strong{font-family:var(--font-heading);white-space:nowrap;font-size:1.35rem;font-weight:400}.price-book{margin-block-start:1.4rem}.price-note{border-inline-start:3px solid var(--bronze);background:var(--mist);color:#405356;padding:1.5rem}.wind-rose{z-index:4;aspect-ratio:1;pointer-events:none;border:1px solid #0c6f7338;border-radius:50%;inline-size:8rem;animation:24s linear infinite rose-drift;position:absolute}.wind-rose:before,.wind-rose:after,.wind-rose i:before,.wind-rose i:after{content:"";background:linear-gradient(var(--teal), #57c7c926);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);block-size:7rem;inline-size:.1rem;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.wind-rose:after{opacity:.75;block-size:5.8rem;rotate:90deg}.wind-rose i:first-child:before{opacity:.5;block-size:5rem;rotate:45deg}.wind-rose i:first-child:after{opacity:.5;block-size:5rem;rotate:-45deg}.wind-rose i:last-child:before{opacity:.28;block-size:3.5rem;rotate:22.5deg}.wind-rose i:last-child:after{opacity:.28;block-size:3.5rem;rotate:-22.5deg}.wind-rose--story{opacity:.52;inset:auto 2.2rem 2.2rem auto}.wind-rose--team{background:#f7f8f5d6;inset:3rem 2rem auto auto}.price-tabs-section{isolation:isolate;padding:clamp(4.5rem, 7vw, 7rem) var(--gutter);background:var(--teal);color:#fff;scroll-margin-top:5rem;position:relative;overflow:hidden}.price-tabs-section:before{content:"";z-index:-1;filter:grayscale()brightness(3);opacity:.075;background-image:url(/beauty-port-logo.svg),url(/beauty-port-logo.svg),url(/beauty-port-logo.svg),url(/beauty-port-logo.svg),url(/beauty-port-logo.svg);background-position:95% 5%,8% 34%,67% 43%,38% 90%,92% 82%;background-repeat:no-repeat;background-size:34rem,22rem,18rem,27rem,15rem;position:absolute;inset:-7rem}.price-tabs-heading{max-inline-size:var(--max);grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin-inline:auto;display:grid}.price-tabs-heading .eyebrow{color:#bce9e8}.price-tabs-heading h2{margin-block-start:1rem}.price-tabs-heading>p{color:#ffffffb8;max-inline-size:36rem}.price-tabs{min-inline-size:0;max-inline-size:var(--max);margin:4rem auto 0}.price-tab-nav{grid-template-columns:3rem minmax(0,1fr) 3rem;align-items:center;gap:.8rem;min-inline-size:0;max-inline-size:100%;display:grid}.price-carousel-arrow{appearance:none;color:#fff;block-size:3rem;min-block-size:3rem;inline-size:3rem;font-family:var(--font-heading);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:2.15rem;line-height:1;transition:opacity .2s,background .2s,translate .2s;display:grid;box-shadow:none!important;background:#ffffff1f!important;border:0!important}.price-carousel-arrow:hover:not(:disabled){translate:0 -.1rem;background:#ffffff3b!important}.price-carousel-arrow:disabled{opacity:.22;cursor:default}.price-tab-list{overscroll-behavior-inline:contain;scrollbar-width:none;gap:2rem;min-inline-size:0;max-inline-size:100%;display:flex;overflow:auto hidden}.price-tab-list::-webkit-scrollbar{display:none}.price-tab-list button{color:#ffffff94;cursor:pointer;background:0 0;border:0;flex:none;grid-template-columns:2rem auto;gap:.65rem;min-block-size:3.6rem;padding:.6rem 0;font-size:.78rem;font-weight:700;transition:color .2s;display:grid;position:relative}.price-tab-list button span{color:#d4b98d;font-family:var(--font-heading)}.price-tab-list button:after{content:"";transform-origin:0;background:#fff;block-size:2px;transition:scale .25s;position:absolute;inset:auto 0 0;scale:0 1}.price-tab-list button:hover,.price-tab-list button[aria-selected=true]{color:#fff}.price-tab-list button[aria-selected=true]:after{scale:1}.inline-price-panels{min-inline-size:0;max-inline-size:100%;padding-block-start:2.35rem;overflow:clip}.inline-price-panel[hidden]{display:none}.inline-price-panel>header{grid-template-columns:3rem 1fr;align-items:start;gap:1rem;margin-block-end:1.5rem;display:grid}.inline-price-panel>header>span{color:#d4b98d;font-family:var(--font-heading)}.inline-price-panel h3{overflow-wrap:normal;word-break:normal;max-inline-size:100%;font-size:clamp(2.35rem,4.2vw,4.8rem)}.inline-price-rows{grid-template-columns:1fr 1fr;column-gap:4rem;display:grid}.inline-price-rows>div{border-block-end:1px solid #fff3;grid-template-columns:1fr auto;align-items:baseline;gap:1.25rem;padding-block:1rem;display:grid}.inline-price-rows p{font-size:.84rem;font-weight:650}.inline-price-rows small{color:#bce9e8;letter-spacing:.1em;text-transform:uppercase;margin-block-start:.2rem;font-size:.63rem;display:block}.inline-price-rows strong{font-family:var(--font-heading);white-space:nowrap;align-items:baseline;gap:.38rem;font-size:1.3rem;font-weight:400;display:inline-flex}.inline-price-rows strong span{color:#bce9e8;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:800}.inline-price-panel .book-button{margin-block-start:2rem}.price-tabs-note{max-inline-size:var(--max);color:#ffffffa8;margin:1.25rem auto 0;font-size:.75rem}.wind-rose--prices{opacity:.55;border-color:#ffffff38;inset:3rem 3rem auto auto}.wind-rose--prices:before,.wind-rose--prices:after,.wind-rose--prices i:before,.wind-rose--prices i:after{background:linear-gradient(#fff,#ffffff1a)}.portfolio-section{isolation:isolate;padding:clamp(3.4rem, 4.5vw, 4.8rem) var(--gutter);background:var(--graphite);color:#fff;scroll-margin-top:7rem;position:relative;overflow:hidden}.portfolio-section:before{content:"";z-index:-1;aspect-ratio:1;filter:grayscale()brightness(3);opacity:.045;background:url(/beauty-port-logo.svg) 50%/contain no-repeat;inline-size:38rem;position:absolute;inset:auto -9rem -17rem auto}.portfolio-summary{max-inline-size:var(--max);grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(2rem,6vw,7rem);margin-inline:auto;display:grid}.portfolio-heading .eyebrow{color:#8fd8d8}.portfolio-heading h2{max-inline-size:9ch;margin-block-start:.65rem;font-size:clamp(2.55rem,3.7vw,4.35rem)}.portfolio-heading>p:last-child{color:#ffffffa8;max-inline-size:29rem;margin-block-start:1.15rem}.portfolio-preview,.portfolio-grid{inline-size:100%;max-inline-size:var(--max);margin-inline:auto}.portfolio-preview{grid-template-columns:1.08fr .78fr 1fr;block-size:clamp(11rem,14vw,14rem);inline-size:100%;display:grid;position:relative;overflow:hidden}.portfolio-preview:before{content:"";z-index:4;background:linear-gradient(90deg, var(--graphite) 0, transparent 7%, transparent 93%, var(--graphite) 100%), linear-gradient(180deg, var(--graphite) 0, transparent 13%, transparent 87%, var(--graphite) 100%);pointer-events:none;position:absolute;inset:0}.portfolio-shot{color:#fff;cursor:zoom-in;background:#173739;border:0;min-inline-size:0;padding:0;position:relative;overflow:hidden}.portfolio-shot img{object-fit:cover;filter:saturate(.82)contrast(.96);block-size:100%;inline-size:100%;transition:scale .65s cubic-bezier(.2,.75,.2,1),filter .35s}.portfolio-shot:after{content:"";pointer-events:none;background:linear-gradient(145deg,#0000 55%,#031f216b);position:absolute;inset:0}.portfolio-shot:hover img{filter:saturate()contrast();scale:1.025}.portfolio-preview .portfolio-shot+.portfolio-shot{margin-inline-start:-1px}.portfolio-more{max-inline-size:var(--max);margin:1.15rem auto 0}.portfolio-toggle{border:0;color:#fff;letter-spacing:.08em;text-align:start;text-transform:uppercase;cursor:pointer;background:0 0;border-block:1px solid #ffffff38;grid-template-columns:1fr auto;align-items:center;gap:2rem;min-block-size:4.6rem;inline-size:100%;padding:0;font-size:.82rem;font-weight:750;display:grid}.portfolio-toggle i{aspect-ratio:1;inline-size:2rem;transition:rotate .38s cubic-bezier(.2,.75,.2,1);position:relative}.portfolio-toggle i:before,.portfolio-toggle i:after{content:"";background:#8fd8d8;block-size:1px;position:absolute;inset:50% 0 auto}.portfolio-toggle i:after{rotate:90deg}.portfolio-close-label,.portfolio-toggle[aria-expanded=true] .portfolio-open-label{display:none}.portfolio-toggle[aria-expanded=true] .portfolio-close-label{display:inline}.portfolio-toggle[aria-expanded=true] i{rotate:45deg}.portfolio-reveal{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .62s cubic-bezier(.2,.75,.2,1),opacity .35s;display:grid}.portfolio-reveal.is-expanded{opacity:1;grid-template-rows:1fr}.portfolio-scroll-shell{min-inline-size:0;position:relative;overflow:hidden}.portfolio-scroll-shell:before,.portfolio-scroll-shell:after{content:"";z-index:5;pointer-events:none;inline-size:clamp(1rem,2vw,2rem);position:absolute;inset-block:.42rem .8rem}.portfolio-scroll-shell:before{background:linear-gradient(90deg,#1f3436e0,#0000);inset-inline-start:0}.portfolio-scroll-shell:after{background:linear-gradient(270deg,#1f3436e0,#0000);inset-inline-end:0}.portfolio-grid{overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:thin;scrollbar-color:#8fd8d8b8 #ffffff1a;flex-direction:column;align-items:flex-start;gap:1rem;padding:.75rem 1.5rem 1rem;scroll-padding-inline:1.5rem;display:flex;position:relative;overflow:auto hidden}.portfolio-category{gap:.42rem;inline-size:max-content;display:grid}.portfolio-category h3{z-index:2;color:#ffffffeb;inline-size:max-content;font-family:var(--font-heading);margin:0;font-size:clamp(1.35rem,2vw,1.9rem);font-weight:400;line-height:1;position:sticky;inset-inline-start:0}.portfolio-category h3:after{content:"";vertical-align:middle;background:#8fd8d88f;block-size:1px;inline-size:clamp(2.5rem,5vw,5rem);margin-inline-start:.8rem;display:inline-block}.portfolio-row{flex:none;gap:.42rem;inline-size:max-content;display:flex}.portfolio-category:first-child .portfolio-row{block-size:clamp(11.5rem,14vw,14.5rem)}.portfolio-category:nth-child(2) .portfolio-row{block-size:clamp(10.5rem,12vw,13rem)}.portfolio-category:nth-child(3) .portfolio-row{block-size:clamp(12rem,15vw,15.5rem)}.portfolio-row .portfolio-shot{block-size:100%;inline-size:auto;min-inline-size:0;aspect-ratio:var(--shot-ratio);scroll-snap-align:start;flex:none}.portfolio-grid::-webkit-scrollbar{block-size:.35rem}.portfolio-grid::-webkit-scrollbar-track{background:#ffffff1a}.portfolio-grid::-webkit-scrollbar-thumb{background:#8fd8d8b8}.portfolio-scroll-controls{border-block-end:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:2rem;min-block-size:3.8rem;display:flex}.portfolio-scroll-controls p{color:#ffffff8f;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.portfolio-scroll-controls>div{gap:.35rem;display:flex}.portfolio-scroll-controls button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff3d;border-radius:50%;place-items:center;block-size:2.8rem;inline-size:2.8rem;padding:0;font-size:1.1rem;transition:background .2s;display:grid}.portfolio-scroll-controls button:hover{background:#ffffff1a}.portfolio-lightbox{color:#fff;cursor:zoom-out;background:#031f21e0;border:0;place-items:center;block-size:100dvh;max-block-size:none;inline-size:100vw;max-inline-size:none;margin:0;padding:clamp(1.25rem,5vw,4rem);display:none;position:fixed;inset:0}.portfolio-lightbox[open]{animation:.24s both lightbox-in;display:grid}.portfolio-lightbox::backdrop{background:0 0}.portfolio-lightbox img{object-fit:contain;cursor:default;block-size:auto;max-block-size:calc(100dvh - 5rem);inline-size:auto;max-inline-size:min(92vw,90rem);display:block;box-shadow:0 2rem 5rem #00000059}.portfolio-lightbox-close{z-index:2;color:#fff;cursor:pointer;background:#031f219e;border:1px solid #ffffff61;border-radius:50%;place-items:center;block-size:3rem;inline-size:3rem;padding:0;font-size:2rem;line-height:1;display:grid;position:fixed;inset:1.2rem 1.2rem auto auto}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.contact-channels{isolation:isolate;padding:var(--section) var(--gutter);background:var(--mist);scroll-margin-top:5rem;position:relative;overflow:hidden}.contact-channels:before{content:"";z-index:-1;opacity:.047;background-image:url(/beauty-port-logo.svg),url(/beauty-port-logo.svg),url(/beauty-port-logo.svg);background-position:92% 8%,8% 42%,75% 94%;background-repeat:no-repeat;background-size:28rem,18rem,24rem;position:absolute;inset:-6rem}.contact-heading{max-inline-size:var(--max);grid-template-columns:.9fr 1.1fr;gap:1rem 6rem;margin-inline:auto;display:grid}.contact-heading .eyebrow{grid-column:1/-1}.contact-heading h2{max-inline-size:8ch}.contact-heading>p:last-child{color:#405356;align-self:end;max-inline-size:34rem}.channel-grid{max-inline-size:var(--max);grid-template-columns:repeat(3,1fr);gap:clamp(2.5rem,5vw,6rem);margin:5rem auto 0;display:grid}.channel-button{min-block-size:5.5rem;color:var(--graphite);grid-template-columns:3rem 1fr auto;align-items:center;gap:1.1rem;padding:.4rem 0;text-decoration:none;transition:color .22s,translate .22s;display:grid}.channel-button:hover{color:var(--teal);translate:.25rem}.channel-icon{aspect-ratio:1;inline-size:2.8rem;color:var(--teal);place-items:center;display:grid}.channel-icon svg{fill:currentColor;inline-size:2rem}.channel-icon--phone svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.channel-copy{gap:.22rem;display:grid}.channel-copy strong{font-family:var(--font-heading);font-size:1.5rem;font-weight:400}.channel-copy small{color:var(--muted);font-size:.75rem}.channel-button:hover .channel-copy small{color:var(--teal-deep)}.channel-arrow{font-size:1.2rem}.wind-rose--contact{opacity:.55;inset:3rem 4rem auto auto}@keyframes hero-reveal{0%{opacity:0;clip-path:inset(0 0 0 30%)}to{opacity:1;clip-path:inset(0)}}@keyframes rose-drift{to{rotate:360deg}}@media (width<=62rem){.site-header{grid-template-columns:1fr auto}.main-nav{display:none}.hero{grid-template-columns:1fr;padding-block-start:4rem}.hero-copy{padding-inline-end:0}.hero-visual{min-block-size:38rem;margin:2rem calc(-1 * var(--gutter)) 0;mask-image:none}.compass-mark{inset:auto 1.5rem 34rem auto;translate:none}.compass-section{grid-template-columns:1fr}.section-intro{position:static}.story{grid-template-columns:1fr;min-block-size:auto}.story-image--main{clip-path:none;grid-row:auto;min-block-size:35rem}.story-copy{padding-block-end:4rem}.team-space{grid-template-columns:1fr 1fr}.team-copy{grid-column:1/-1}.team-image--wide{grid-area:auto;min-block-size:32rem;margin-inline-end:0}.team-image--small{block-size:32rem;inline-size:100%}.price-tabs-heading,.contact-heading{grid-template-columns:1fr}.portfolio-summary{grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr);gap:2.5rem}.portfolio-preview{grid-template-columns:1.08fr .82fr 1fr;block-size:12rem}.portfolio-category:first-child .portfolio-row{block-size:11.5rem}.portfolio-category:nth-child(2) .portfolio-row{block-size:10.5rem}.portfolio-category:nth-child(3) .portfolio-row{block-size:12.2rem}.contact-heading .eyebrow{grid-column:1}.inline-price-rows{grid-template-columns:1fr}.channel-grid{grid-template-columns:repeat(2,1fr)}.price-layout{grid-template-columns:1fr}.category-nav{padding-block-end:1rem;position:static;overflow:auto}.category-nav nav{border-block-end:1px solid var(--line);inline-size:max-content;display:flex}.category-nav a{border-block-start:1px solid var(--line);inline-size:12rem}}@media (width<=46rem){body{padding-block-end:4rem}h2{font-size:clamp(2.55rem,11.5vw,3.8rem)}.site-header{gap:.7rem;min-block-size:5.65rem;padding-inline:1rem}.brand,.brand img{inline-size:6.1rem}.header-actions{gap:.5rem}.book-button--small{display:none}.languages{gap:.25rem}.hero{min-block-size:auto;padding-block:4rem 0}.hero h1{font-size:clamp(3.5rem,18vw,5.3rem)}.hero-brand-logo{inline-size:14rem;margin-block-end:1.25rem}.language-note{margin-block-start:3rem}.hero-visual{min-block-size:31rem}.compass-mark{inline-size:4.5rem;inset-block-end:27.5rem}.compass-section,.story-copy,.price-preview,.team-space,.visit{padding-inline:1.15rem}.section-intro h2{max-inline-size:11ch;font-size:clamp(2.7rem,12.5vw,4rem)}.service-index article{grid-template-columns:2rem 1fr;gap:.7rem 1rem}.service-index article p{grid-column:2}.story-image--main{min-block-size:30rem}.story-image--detail{margin-inline:1.15rem}.price-preview{grid-template-columns:1fr;gap:2rem}.price-tabs-section,.contact-channels,.portfolio-section{padding-inline:1.15rem}.portfolio-summary{grid-template-columns:1fr;gap:1.8rem}.portfolio-heading h2{max-inline-size:10ch;font-size:clamp(2.6rem,12vw,3.5rem)}.portfolio-heading>p:last-child{margin-block-start:.85rem}.portfolio-preview{grid-template-columns:1.1fr .8fr 1fr;block-size:9.5rem}.portfolio-preview:before{background:linear-gradient(90deg, var(--graphite) 0, transparent 10%, transparent 90%, var(--graphite) 100%), linear-gradient(180deg, var(--graphite) 0, transparent 10%, transparent 90%, var(--graphite) 100%)}.portfolio-toggle{min-block-size:4.2rem;font-size:.72rem}.portfolio-grid{gap:.8rem;padding:.6rem 1rem .8rem;scroll-padding-inline:1rem}.portfolio-category{gap:.35rem}.portfolio-category h3{font-size:1.3rem}.portfolio-row{gap:.35rem}.portfolio-category:first-child .portfolio-row{block-size:9.6rem}.portfolio-category:nth-child(2) .portfolio-row{block-size:8.6rem}.portfolio-category:nth-child(3) .portfolio-row{block-size:10.2rem}.portfolio-scroll-controls{min-block-size:3.4rem}.portfolio-scroll-controls p{max-inline-size:15rem;font-size:.62rem}.price-tabs-heading{gap:1.5rem}.price-tabs{margin-block-start:2.5rem}.price-tab-list button{min-block-size:3.9rem}.inline-price-panels{min-block-size:0}.inline-price-panel>header{grid-template-columns:2rem 1fr}.inline-price-panel h3{font-size:clamp(2.05rem,9vw,3rem);line-height:1}.channel-grid{grid-template-columns:1fr}.channel-button{grid-template-columns:3rem 1fr auto;min-block-size:5.8rem}.channel-copy strong{font-size:1.3rem}.channel-copy small{overflow-wrap:anywhere}.wind-rose--story,.wind-rose--team,.wind-rose--prices,.wind-rose--contact{opacity:.42;inline-size:5.5rem}.team-space,.team-roster{grid-template-columns:1fr}.team-image--wide,.team-image--small{block-size:27rem;min-block-size:27rem}.team-image--wide{clip-path:polygon(0 0,100% 0,100% 92%,92% 100%,0 100%)}.team-image--small{clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,0 100%)}.visit-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr;padding-inline:1.15rem}.mobile-book{z-index:38;background:var(--teal);color:#fff;border:1px solid #ffffff73;place-items:center;min-block-size:3.35rem;inline-size:calc(100% - 1.6rem);font-weight:800;text-decoration:none;display:grid;position:fixed;inset:auto .8rem .8rem;box-shadow:0 .5rem 2rem #031f2140}.prices-page{padding-inline:1.15rem}.prices-hero{grid-template-columns:1fr}.prices-hero .line-link{grid-column:1}.price-group>header{grid-template-columns:2rem 1fr}.price-row{gap:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;block-size:1px!important;inline-size:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.flow>*+*{margin-block-start:var(--flow-space,var(--space-3))}
