:root{--color-canvas: #f6f3f0;--color-surface: #fbf9f7;--color-paper: #fffefc;--color-ink: #1d1d1b;--color-ink-soft: #46413d;--color-muted: #77706a;--color-line: #d8cec5;--color-line-soft: #e7e0da;--color-champagne: #a8794f;--color-champagne-light: #c3a382;--font-display: "Bodoni Moda", Didot, "Bodoni MT", "Times New Roman", serif;--font-ui: Manrope, Inter, "Helvetica Neue", Arial, sans-serif;--page-max: 1360px;--page-gutter: 20px;--ease-luxury: cubic-bezier(.22, 1, .36, 1);--duration-fast: .18s;--duration-slow: .75s}@media(min-width:768px){:root{--page-gutter: 32px}}@media(min-width:1280px){:root{--page-gutter: 48px}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;background:var(--color-canvas)}body{min-width:320px;margin:0;color:var(--color-ink);background:var(--color-canvas);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,button,a{font-family:var(--font-ui)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}.site{overflow:clip}.page-shell{width:min(calc(100% - (var(--page-gutter) * 2)),var(--page-max));margin-inline:auto}.eyebrow{margin:0;color:var(--color-ink-soft);font-size:.65rem;font-weight:600;letter-spacing:.24em;line-height:1.4;text-transform:uppercase}.button{min-height:48px;width:fit-content;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding-inline:24px;border:1px solid;font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:background-color var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.button__arrow{transition:transform var(--duration-fast)}.button:hover .button__arrow{transform:translate(4px)}.button--dark{color:#fff;background:var(--color-ink);border-color:var(--color-ink)}.button--dark:hover{background:#35332f;border-color:#35332f}.button--accent{color:#fff;background:var(--color-champagne);border-color:var(--color-champagne)}.button--accent:hover{background:#90643f;border-color:#90643f}.button--outline{color:#5b4a3b;background:transparent;border-color:var(--color-champagne-light)}.button--outline:hover{color:#fff;background:var(--color-champagne);border-color:var(--color-champagne)}.button--deferred{cursor:default}.button--deferred:hover .button__arrow{transform:none}.section-anchor{scroll-margin-top:24px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.site-header{position:relative;z-index:20;background:var(--color-canvas)}.site-header__inner{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;flex-direction:column;width:fit-content;text-transform:uppercase}.brand__name{font-family:var(--font-display);font-size:1.35rem;line-height:.95;letter-spacing:.01em}.brand__descriptor{margin-top:7px;padding-left:3px;font-size:.48rem;font-weight:600;letter-spacing:.3em}.desktop-nav,.site-header__booking{display:none}.menu-toggle{width:48px;height:48px;display:grid;place-content:center;gap:7px;padding:0;border:0;background:transparent;cursor:pointer}.menu-toggle span{width:25px;height:1px;display:block;background:var(--color-ink)}.mobile-menu{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;justify-content:center;padding:max(28px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));visibility:hidden;opacity:0;pointer-events:none;background:var(--color-paper);transition:opacity .3s var(--ease-luxury),visibility .3s}.mobile-menu--open{visibility:visible;opacity:1;pointer-events:auto}.mobile-menu__close{position:absolute;top:20px;right:20px;width:48px;height:48px;border:0;background:none;font:300 2rem/1 var(--font-display);cursor:pointer}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{min-height:54px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--color-line-soft);font:400 clamp(1.7rem,9vw,2.6rem)/1 var(--font-display)}.mobile-menu nav a span{width:24px;color:var(--color-champagne);font:600 .55rem/1 var(--font-ui);letter-spacing:.12em}.mobile-menu__booking{margin-top:36px}.hero{background:var(--color-canvas)}.hero__inner{display:grid;padding-top:30px}.hero__copy{position:relative;z-index:2;padding-bottom:42px}.hero h1{margin:18px 0 0;font:400 clamp(3.25rem,16vw,4.75rem)/.93 var(--font-display);letter-spacing:-.035em}.hero h1 span{color:var(--color-champagne)}.accent-rule{width:30px;height:1px;display:block;margin:25px 0 21px;background:var(--color-champagne)}.hero__description{margin:0 0 26px;color:var(--color-ink-soft);font-size:.82rem;line-height:1.65}.hero__media{position:relative;margin-inline:calc(var(--page-gutter) * -1)}.hero__media picture,.hero__media img{width:100%;height:100%}.hero__media picture{display:block}.hero__media img{aspect-ratio:4 / 5;object-fit:cover;object-position:center top}.hero-seal{position:absolute;left:20px;bottom:20px;width:96px;height:96px;color:var(--color-ink)}.hero-seal__ring{fill:currentColor;font:600 5.2px var(--font-ui);letter-spacing:1.15px}.hero-seal__mark{fill:currentColor;font:400 27px var(--font-display)}.hero-pager,.scroll-cue{display:none}@media(min-width:768px){.site-header__inner{height:88px}.brand__name{font-size:1.65rem}.hero__inner{min-height:680px;grid-template-columns:42% 58%;padding-top:0}.hero__copy{align-self:center;padding:30px 28px 60px 0}.hero h1{font-size:clamp(4rem,7.8vw,5.5rem)}.hero__media{min-height:680px;margin-inline:0 calc(var(--page-gutter) * -1)}.hero__media img{aspect-ratio:auto;object-position:center}.hero-seal{left:-52px;bottom:42px;width:112px;height:112px}.hero-pager{position:absolute;top:50%;right:20px;display:grid;gap:20px;margin:0;padding:0;transform:translateY(-50%);list-style:none;font-size:.56rem}.hero-pager li{position:relative}.hero-pager .is-active:after{content:"";position:absolute;top:50%;right:-20px;width:12px;height:1px;background:var(--color-champagne)}.scroll-cue{position:absolute;right:20px;bottom:24px;display:flex;align-items:center;gap:12px;font-size:.5rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl}.scroll-cue span:last-child{font-size:1.2rem}}@media(min-width:1024px){.menu-toggle,.mobile-menu{display:none}.desktop-nav{display:flex;align-items:center;gap:clamp(22px,3.2vw,48px);margin-left:auto}.desktop-nav a{position:relative;min-height:44px;display:grid;place-items:center;font-size:.58rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.desktop-nav a:after{content:"";position:absolute;bottom:7px;left:50%;width:0;height:1px;background:var(--color-champagne);transition:width var(--duration-fast),left var(--duration-fast)}.desktop-nav a:hover:after{left:0;width:100%}.site-header__booking{display:inline-flex;margin-left:clamp(24px,4vw,64px)}.hero__inner{min-height:735px;grid-template-columns:32% 68%}.hero__copy{padding-right:42px}.hero__media{min-height:735px}}@media(min-width:1280px){.hero__inner,.hero__media{min-height:780px}}@media(prefers-reduced-motion:no-preference){.hero__copy>*{animation:reveal-up .8s both var(--ease-luxury)}.hero__copy h1{animation-delay:80ms}.hero__copy .accent-rule,.hero__copy .hero__description{animation-delay:.16s}.hero__copy .button{animation-delay:.24s}.hero__media img{animation:image-reveal .9s both var(--ease-luxury)}@keyframes reveal-up{0%{opacity:0;transform:translateY(12px)}}@keyframes image-reveal{0%{opacity:0;transform:scale(1.015)}}}.portfolio{padding-block:64px 72px;background:var(--color-surface)}.section-header{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;margin-bottom:30px}.section-header h2{margin:0;font:400 clamp(1.55rem,7vw,2rem)/1.1 var(--font-display);letter-spacing:-.01em;text-transform:uppercase}.section-header__line{height:1px;background:var(--color-line-soft)}.text-action{grid-column:1 / -1;width:fit-content;display:inline-flex;gap:12px;color:var(--color-champagne);font-size:.55rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.portfolio-grid{display:grid;gap:30px 12px}.portfolio-card{margin:0}.portfolio-card__media{overflow:hidden;background:var(--color-line-soft)}.portfolio-card img{width:100%;aspect-ratio:4 / 5;object-fit:cover;transition:transform .65s var(--ease-luxury)}.portfolio-card:hover img{transform:scale(1.018)}.portfolio-card figcaption{margin-top:15px;text-align:center;font:400 1rem/1.1 var(--font-display);text-transform:uppercase}.services{padding-block:74px}.centered-label{display:grid;justify-items:center;gap:12px}.centered-label h2{margin:0;font-size:.64rem;font-weight:600;letter-spacing:.22em;line-height:1.3;text-align:center;text-transform:uppercase}.centered-label>span{width:28px;height:1px;background:var(--color-champagne)}.services-grid{margin-top:42px}.service{padding:30px 10px;border-bottom:1px solid var(--color-line);text-align:center}.service:first-child{padding-top:0}.service:last-child{padding-bottom:0;border-bottom:0}.service h3{margin:0 0 18px;font:400 1.15rem/1.2 var(--font-display);text-transform:uppercase}.service p{max-width:29ch;margin:0 auto;color:var(--color-ink-soft);font-size:.78rem;line-height:1.75}.pricing{padding-block:30px 82px}.pricing-grid{max-width:1120px;display:grid;gap:22px;margin:44px auto 0}.pricing-card{width:100%;max-width:420px;margin-inline:auto;border:1px solid var(--color-line);background:#fffefc3d}.pricing-card__badge{min-height:34px;display:grid;place-items:center;color:#fff;background:var(--color-champagne);font-size:.55rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.pricing-card__body{min-height:410px;display:flex;flex-direction:column;align-items:center;padding:34px 28px 28px;text-align:center}.pricing-card h3{margin:0;font:500 .7rem/1.2 var(--font-ui);letter-spacing:.2em;text-transform:uppercase}.pricing-card__price{margin:17px 0 16px;font:400 clamp(2.7rem,12vw,3.25rem)/1 var(--font-display)}.pricing-card__price span{margin-right:2px;font-size:.65em;vertical-align:.2em}.pricing-card__description{max-width:24ch;min-height:48px;margin:0;color:var(--color-ink-soft);font-size:.72rem;line-height:1.65}.pricing-card ul{width:100%;margin:25px 0 30px;padding:0;list-style:none;text-align:left}.pricing-card li{display:flex;gap:12px;margin-block:9px;color:var(--color-ink-soft);font-size:.7rem}.pricing-card li span{color:var(--color-ink)}.pricing-card .button{width:100%;margin-top:auto}.about{display:grid;border-block:1px solid var(--color-line-soft);background:var(--color-surface)}.about__media{min-height:360px;overflow:hidden}.about__media img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:42% center}.about__content{display:flex;align-items:center;padding:52px max(20px,env(safe-area-inset-right)) 62px max(20px,env(safe-area-inset-left))}.about__content-inner{max-width:540px}.about h2{margin:12px 0 18px;font:400 clamp(2.6rem,13vw,4rem)/1 var(--font-display);letter-spacing:-.025em}.about__lead{margin:0 0 17px;font:400 1.05rem/1.4 var(--font-display)}.about__content-inner>p:not(.eyebrow):not(.about__lead){margin:0 0 17px;color:var(--color-ink-soft);font-size:.78rem;line-height:1.75}.about .button{margin-top:10px}.final-cta{padding-block:78px;text-align:center}.final-cta .page-shell{display:flex;flex-direction:column;align-items:center}.final-cta h2{max-width:820px;margin:18px 0 28px;font:400 clamp(2.45rem,11vw,4.25rem)/1.08 var(--font-display);letter-spacing:-.025em}.site-footer{padding-top:34px;border-top:1px solid var(--color-line-soft);background:var(--color-paper)}.brand--compact .brand__name{font-size:1.2rem}.brand--compact .brand__descriptor{font-size:.42rem}.site-footer__main{display:grid;justify-items:center;gap:34px;padding-bottom:32px;text-align:center}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px}.site-footer nav a{min-height:44px;display:grid;place-items:center;font-size:.52rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.site-footer__social{display:flex;gap:10px}.site-footer__social>span{width:44px;height:44px;display:grid;place-items:center;font-size:1rem}.site-footer__legal{display:grid;gap:12px;padding-block:18px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--color-line-soft);color:var(--color-muted);font-size:.5rem;line-height:1.5;text-align:center}.site-footer__legal p{margin:0}.site-footer__legal p:last-child{display:flex;justify-content:center;align-items:center;gap:12px}.site-footer__legal i{width:1px;height:12px;background:var(--color-line)}@media(min-width:480px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-card__body{padding-inline:36px}}@media(min-width:768px){.portfolio{padding-block:72px 86px}.section-header{grid-template-columns:auto 1fr auto;margin-bottom:36px}.section-header h2{font-size:1.8rem}.text-action{grid-column:auto}.portfolio-grid{gap:36px 18px}.services{padding-block:90px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px}.service{min-height:150px;padding:4px 28px;border-right:1px solid var(--color-line);border-bottom:0}.service:first-child{padding-top:4px}.service:last-child{padding-bottom:4px;border-right:0}.pricing{padding-block:38px 96px}.about{min-height:460px;grid-template-columns:1fr 1fr}.about__media{min-height:460px}.about__media img{aspect-ratio:auto}.about__content{padding:48px clamp(34px,5vw,72px)}.about h2{font-size:clamp(2.8rem,5vw,4rem)}.final-cta{padding-block:92px}.site-footer__main{grid-template-columns:auto 1fr auto;align-items:center;justify-items:stretch;text-align:left}.site-footer__social{justify-content:flex-end}.site-footer__legal{grid-template-columns:1fr auto;text-align:left}}@media(min-width:1024px){.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-card figcaption{margin-top:18px}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.pricing-card{max-width:none}.pricing-card__body{min-height:430px;padding:38px 34px 30px}.about__content{padding-inline:clamp(56px,7vw,104px)}}@media(min-width:1280px){.portfolio{padding-block:76px 94px}.services{padding-block:96px}.pricing-grid{gap:44px}}
