@charset "UTF-8";
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400 600;font-display:swap;src:url("assets/fonts/inter-tight-latin.woff2") format("woff2")}
:root{color-scheme:light;--ink:#111;--paper:#fff;--muted:#626262;--line:#d8d8d8;--soft:#f4f4f4;--space:clamp(4rem,8vw,8rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter Tight",Arial,Helvetica,sans-serif;font-size:1rem;font-weight:400;letter-spacing:-.015em;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none;text-underline-offset:.3em}
a:hover{text-decoration:underline}
a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
::selection{background:var(--ink);color:var(--paper)}
p,h1,h2,h3,figure,dl{margin:0}
h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.045em}
.wrap{width:min(1280px,calc(100% - 8rem));margin-inline:auto}
.skip{position:absolute;z-index:20;top:-100px;left:1rem;padding:.75rem 1.25rem;background:#111;color:#fff}
.skip:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{min-height:108px;display:flex;justify-content:space-between;align-items:center;gap:2rem;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;line-height:1;flex-shrink:0}
.brand:hover{text-decoration:none}
.brand-logo{position:relative;display:block;width:240px;aspect-ratio:1612/284;overflow:hidden}
.brand-logo img{position:absolute;width:123.014888%;max-width:none;height:auto;left:-11.662531%;top:-86.619718%}
nav{display:flex;align-items:center;gap:2.4rem;font-size:.9rem}
.nav-book{padding:.55rem 0;border-bottom:1px solid #111}
.nav-book span{margin-left:.65rem}
.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:2.5rem;padding-block:clamp(3.8rem,7vw,7rem) 4.5rem}
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.18em;line-height:1.6}
.hero h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(3.5rem,5.95vw,6.25rem);margin-top:1.65rem;line-height:1.02;letter-spacing:-.065em}
.hero h1 span{color:#777}
.hero-description{max-width:24rem;margin-top:1.9rem;color:#555;font-size:1.1rem;line-height:1.7}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.6rem;min-height:53px;padding:.9rem 1.35rem;line-height:1.4;font-size:.9rem;font-weight:500;transition:background .18s,color .18s}
.button:hover{text-decoration:none}
.button.dark{color:#fff;background:#111;border:1px solid #111}
.button.dark:hover{background:#353535}
.button.light{color:#111;background:#fff;border:1px solid #fff}
.button.light:hover{background:#dfdfdf}
.button.outline{color:#111;background:#fff;border:1px solid #111}
.button.outline:hover{color:#fff;background:#111}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin-top:2.2rem}
.hero-actions .button{white-space:nowrap}
@media(max-width:540px){.hero-actions{gap:.75rem}.hero-actions .button{padding-inline:1rem;gap:.85rem}}
.hero-note{margin-top:1rem;font-size:.875rem;color:var(--muted)}
.hero-image{padding-top:1.3rem;min-width:0}
.image-frame{aspect-ratio:1/1.09;overflow:hidden;background:#f2f2f2;position:relative}
.image-frame img{width:100%;height:100%;object-fit:cover;object-position:52% center;filter:grayscale(1)}
.hero-image figcaption{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:#5c5c5c;margin-top:.85rem}
.hero-image figcaption span:first-child{letter-spacing:.11em}
.section{padding-block:var(--space)}
.pricing{border-top:1px solid #111}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3.4rem}
.section-heading h2{font-size:clamp(2.25rem,3.5vw,3.75rem);margin-top:1.15rem}
.section-heading>p{font-size:1.0625rem;letter-spacing:-.02em;line-height:1.55;color:#555;max-width:25rem}
table{width:100%;border-collapse:collapse;text-align:left}
thead{border-bottom:1px solid #111}
thead th{padding:0 1.6rem 1rem 0;font-size:.875rem;font-weight:400;color:#555}
thead th:not(:first-child){text-align:right}
thead th:last-child{padding-right:0}
tbody tr{border-bottom:1px solid var(--line)}
tbody th{padding:1.6rem 1.6rem 1.6rem 0;font-weight:500;font-size:1rem}
tbody th span{display:block;font-size:.875rem;color:#666;font-weight:400;margin-top:.1rem}
tbody td{text-align:right;font-size:1.65rem;letter-spacing:-.045em;padding:1.6rem 1.6rem 1.6rem 0;font-variant-numeric:tabular-nums}
tbody td:last-child{padding-right:0;font-weight:600}
.pricing-notes{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.2rem}
.pricing-notes p{font-size:.9rem;color:#5b5b5b;max-width:30rem}
.pricing-notes strong{display:block;color:#111;font-weight:500;margin-bottom:.35rem}
.small-note{font-size:.875rem;color:#666;line-height:1.65;margin-top:1.4rem}
.signature{background:#111;color:#fff;padding-block:var(--space)}
.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem}
.signature .eyebrow{color:#bfbfbf}
.signature h2{font-size:clamp(3rem,5vw,5.5rem);margin-top:1.4rem;line-height:1.03}
.signature h2 span{color:#aaa}
.signature-description{max-width:23rem;color:#c2c2c2;margin-top:1.7rem;font-size:1.05rem}
.signature-price{display:flex;align-items:baseline;gap:1rem;margin-top:2.2rem;line-height:1}
.signature-price span{font-size:.75rem;letter-spacing:.14em;color:#aaa}
.signature-price strong{font-size:4.2rem;letter-spacing:-.055em;font-weight:500}
.signature-size{color:#bbb;font-size:.875rem;margin-top:.8rem}
.signature .button{margin-top:1.9rem}
.signature-details{padding-top:2rem}
.feature{display:flex;gap:1.6rem;border-top:1px solid #484848;padding:1.7rem 0}
.feature-number{font-size:.75rem;color:#aaa;line-height:1.8}
.feature h3{font-size:1.2rem;letter-spacing:-.025em;line-height:1.35}
.feature p{font-size:.95rem;color:#bfbfbf;line-height:1.7;margin-top:.65rem}
.signature-footnote{font-size:.875rem;color:#aaa;border-top:1px solid #484848;padding-top:1rem}
.extras .section-heading{margin-bottom:3rem}
.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}
.list-heading{font-size:1.5rem;margin-bottom:.8rem;letter-spacing:-.035em}
.rate-list>div{display:flex;align-items:start;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--line);padding:1.35rem 0;min-height:101px}
.rate-list dt{font-size:1rem}
.rate-list dt span{display:block;font-size:.875rem;color:#666;line-height:1.5;margin-top:.3rem}
.rate-list dd{font-size:1.25rem;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0}
.rate-list dd span{font-size:.875rem;color:#666}
.delivery{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;background:var(--soft);padding:2rem;margin-top:3.5rem}
.delivery strong{display:block;font-weight:500;font-size:1.1rem}
.delivery span{font-size:.875rem;color:#666}
.booking-terms{max-width:66rem}
.contact{padding-block:4rem 5.5rem;border-top:1px solid #111}
.contact-row{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-top:1.5rem}
.contact h2{font-size:clamp(3.25rem,6.2vw,6.5rem);line-height:1.02;letter-spacing:-.055em}
.contact-row>div{padding-bottom:.5rem}
.contact-row p{color:#5b5b5b;font-size:1rem}
.contact .button{margin-top:1.6rem}
.contact-row .contact-note{font-size:.875rem;color:#777;margin-top:.8rem}
.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin:3.25rem 0 0;padding:2.25rem 0 0;list-style:none;border-top:1px solid var(--line)}
.booking-steps .step-number{display:block;font-size:.75rem;color:#666;letter-spacing:.1em;margin-bottom:.85rem}
.booking-steps h3{font-size:1.2rem;line-height:1.3;letter-spacing:-.025em}
.booking-steps p{font-size:1rem;line-height:1.65;color:#5b5b5b;margin-top:.6rem}
.booking-help{font-size:.875rem;color:#666;margin-top:2rem}
.booking-help a{text-decoration:underline}
@media(max-width:760px){.booking-steps{grid-template-columns:1fr;gap:1.75rem;margin-top:2.5rem}.booking-steps .step-number{margin-bottom:.5rem}.booking-steps p{max-width:32rem}}

.site-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:2rem;border-top:1px solid var(--line);font-size:.875rem;color:#555}
.footer-brand .brand-logo{width:190px}
@media(min-width:1600px){.hero{gap:5rem}.hero h1{font-size:6.25rem}}
@media(max-width:1100px){.wrap{width:calc(100% - 4rem)}.hero{gap:2rem}.hero h1{font-size:clamp(3.5rem,6vw,5rem)}.signature-grid{gap:4rem}.extras-grid{gap:3rem}.section-heading{gap:2rem}.section-heading>p{max-width:20rem}}
@media(max-width:760px){.wrap{width:calc(100% - 2.5rem)}.site-header{min-height:90px;gap:1rem}.brand-logo{width:205px}nav{gap:1.1rem;font-size:.875rem}nav>a:nth-child(2){display:none}.hero{grid-template-columns:1fr;padding-top:3rem;gap:2.2rem}.hero-copy{max-width:35rem}.hero h1{font-size:clamp(3.75rem,10.5vw,5rem)}.hero-description{max-width:28rem}.hero-image{padding-top:0}.image-frame{aspect-ratio:4/3}.section-heading{display:block;margin-bottom:2.5rem}.section-heading>p{margin-top:1.5rem;max-width:none}.section-heading h2{font-size:2.6rem}.pricing-notes{gap:1.8rem}.signature-grid{grid-template-columns:1fr;gap:2.5rem}.signature h2{font-size:4rem}.signature-details{padding-top:0}.extras-grid{grid-template-columns:1fr;gap:2.8rem}.rate-list>div{min-height:auto}.delivery{gap:1.4rem;padding:1.5rem}.delivery strong{font-size:1rem}.contact-row{display:block}.contact-row>div{margin-top:2rem}.contact h2{font-size:4.25rem}.site-footer{gap:1rem;flex-wrap:wrap}.site-footer p{font-size:.75rem}.site-footer>a:last-child{font-size:.875rem}.hero-image figcaption{font-size:.75rem}}
@media(max-width:540px){.site-header{flex-wrap:wrap;justify-content:space-between;padding-block:1.15rem;row-gap:.8rem}.brand-logo{width:180px}nav{gap:.85rem;font-size:.875rem}.nav-book{padding:.3rem 0}.nav-book span{margin-left:.2rem}.hero{padding-top:2.5rem;padding-bottom:3rem}.hero h1{font-size:clamp(3.25rem,12vw,4.2rem)}.hero .eyebrow{font-size:.75rem}.hero-description{font-size:1rem}.section-heading h2{font-size:2.4rem}.price-table table,.price-table tbody{display:block}.price-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.price-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:1.3rem 0 1.5rem;row-gap:.8rem}.price-table th{grid-column:1/-1;padding:0;font-size:1.05rem}.price-table td{text-align:left;padding:0;font-size:1.5rem}.price-table td::before{content:attr(data-label);display:block;font-size:.875rem;color:#666;font-weight:400;letter-spacing:normal;margin-bottom:.2rem}.pricing-notes{grid-template-columns:1fr;gap:1.3rem}.signature h2{font-size:3.5rem}.feature{gap:1rem}.delivery{grid-template-columns:1fr;gap:1rem}.delivery>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.delivery strong{font-size:1rem}.delivery span{text-align:right;font-size:.875rem}.contact h2{font-size:3.75rem}.desktop-break{display:none}.site-footer{padding-bottom:2rem}.footer-brand{width:100%}.section{padding-block:3.5rem}.signature{padding-block:3.5rem}.contact{padding-block:3rem 4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header nav,.button,.hero-image,.site-footer,.contact{display:none}.wrap{width:100%}.hero{display:block;padding:2rem 0}.hero h1{font-size:3rem}.section,.signature{padding:2rem 0}.signature{background:white;color:black}.signature *{color:black!important}.signature-grid{gap:2rem}.rate-list>div{break-inside:avoid}}
