
:root{--ink:#171827;--muted:#626570;--paper:#f7f6f2;--blue:#3114d9;--orange:#ff9450;--line:#deded9;--white:#fff;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{max-width:100%;display:block}.wrap{max-width:1320px;margin:auto;padding:0 56px}.skip{position:absolute;left:20px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:15px}.preview{background:var(--blue);color:white;text-align:center;padding:6px 20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.header{position:sticky;top:0;z-index:20;background:rgba(247,246,242,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.navrow{height:92px;display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{font-size:25px;font-weight:800;letter-spacing:-1.1px;display:flex;gap:9px;align-items:center}.brand-mark{color:var(--blue);font-size:33px;line-height:1;transform:rotate(-15deg)}.wordmark span:last-child{font-weight:400}.nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.nav a:not(.button):hover{color:var(--blue)}.nav a[aria-current=page]{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:16px 24px;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:3px;font-size:14px;font-weight:600;line-height:1.3;transition:transform .2s,background .2s}.button:hover{background:#24109f;transform:translateY(-2px)}.button.light{background:white;color:var(--ink);border-color:white}.button.outline{background:transparent;color:var(--ink);border-color:#c7c7c8}.arrow{font-size:21px;font-weight:400}.nav .button{padding:12px 20px}.nav-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 14px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;border-radius:50%;background:var(--orange)}.hero{padding:78px 0 62px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:65px}.hero h1{font-size:clamp(58px,6.1vw,87px);line-height:1.03;letter-spacing:-5.4px;font-weight:500;margin:25px 0}.hero h1 em{font-family:var(--serif);font-weight:400;color:var(--blue);letter-spacing:-4px}.hero .intro{font-size:17px;max-width:440px;color:var(--muted);line-height:1.75}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:32px}.textlink{font-size:13px;font-weight:600;border-bottom:1px solid var(--ink);padding:5px 0}.textlink:hover{color:var(--blue)}.micro{font-size:11px;color:var(--muted);margin-top:22px}.hero-art{position:relative;min-height:490px;display:flex;align-items:center}.art-panel{position:absolute;inset:20px -20px 0 16px;background:#e6e2fa;border-radius:52% 48% 42% 58%/45% 35% 65% 55%;transform:rotate(-8deg)}.store-illustration{position:relative;z-index:1;width:100%;filter:drop-shadow(0 25px 25px rgba(43,28,98,.13));transform:rotate(3deg)}.art-label{position:absolute;bottom:7px;left:0;background:var(--ink);color:white;z-index:3;font-size:11px;letter-spacing:.07em;padding:13px 20px;transform:rotate(-3deg)}.spark{position:absolute;right:-12px;top:0;color:var(--orange);font:100px/1 var(--serif);z-index:3}.introline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:23px 0;font-size:12px;gap:30px}.introline strong{font-weight:600}.introline span{color:var(--muted)}.section{padding:94px 0}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:45px}h2{font-size:clamp(34px,3.5vw,49px);font-weight:500;line-height:1.12;letter-spacing:-2px;margin:18px 0}h2 em{font-family:var(--serif);font-weight:400}p{margin:0 0 18px}.section-heading p{color:var(--muted);font-size:15px;max-width:400px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:34px;background:white;border:1px solid var(--line);border-radius:5px;position:relative;min-height:245px}.card .number{font-family:var(--serif);color:var(--blue);font-size:24px}.card h3{font-size:22px;letter-spacing:-.6px;font-weight:500;margin:29px 0 12px}.card p{font-size:14px;color:var(--muted);line-height:1.7}.card-icon{position:absolute;right:32px;top:32px;width:35px;height:35px;border:1px solid #d7d1f7;border-radius:50%;color:var(--blue);display:grid;place-items:center}.feature{background:#19172b;color:#f7f6f2;padding:80px 0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.feature h2{font-size:52px}.feature p{color:#bbb9c9;max-width:440px}.feature .eyebrow{color:#c8c1ff}.feature .textlink{border-color:#c6c0d7}.quote-art{border:1px solid #4c4663;padding:42px;border-radius:4px;position:relative}.quote-art .q{color:var(--orange);font:80px/.8 var(--serif)}.quote-art blockquote{font:32px/1.3 var(--serif);margin:20px 0 35px}.quote-art .byline{font-size:12px;letter-spacing:.03em;color:#c7c2d9}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.portrait{height:450px;width:100%;object-fit:cover;object-position:50% 27%;border-radius:4px;filter:saturate(.7)}.about-grid p{color:var(--muted)}.profile-label{display:flex;justify-content:space-between;font-size:12px;border-bottom:1px solid var(--line);padding:17px 0}.cta{padding:70px;background:#e9e5fa;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{max-width:640px;margin:0;font-size:48px}.cta .button{flex-shrink:0}.footer{padding:54px 0 24px}.footer-top{display:flex;justify-content:space-between;gap:35px;align-items:start}.footer-note{color:var(--muted);font-size:13px;margin-top:12px}.footer-links{display:flex;gap:30px;font-size:13px;padding-top:12px}.footer-bottom{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.footer-bottom div{display:flex;gap:22px}.page-hero{padding:75px 0 55px;max-width:900px}.page-hero h1{font-size:clamp(48px,6vw,78px);font-weight:500;line-height:1.05;letter-spacing:-4px;margin:25px 0}.page-hero .intro{font-size:20px;color:var(--muted);max-width:650px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px;padding-bottom:70px}.contact-box{background:white;padding:45px;border:1px solid var(--line);border-radius:5px}.contact-box h2{font-size:34px}.contact-box p{color:var(--muted)}.contact-line{padding:20px 0;border-top:1px solid var(--line)}.contact-line small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.contact-line a{font-size:21px}.faq{max-width:900px;margin:auto}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;list-style:none;font-size:18px;display:flex;justify-content:space-between;gap:25px}summary:after{content:'+';color:var(--blue)}details[open] summary:after{content:'−'}details p{color:var(--muted);padding-top:16px;max-width:750px}.legal{max-width:800px;padding-bottom:70px}.legal h2{font-size:26px;letter-spacing:-.5px}.legal p,.legal li{color:var(--muted)}.review-note{background:#fff0de;border:1px solid #f1c89e;padding:18px;font-size:13px;margin:0 0 32px}.missing{text-align:center;min-height:60vh;padding:100px 20px}.missing h1{font-size:64px;margin:0}.missing p{color:var(--muted)}@media(max-width:1000px){.wrap{padding:0 30px}.hero-grid{gap:30px}.hero h1{font-size:66px;letter-spacing:-3.8px}.hero-art{min-height:410px}.section-heading,.feature-grid,.about-grid{gap:50px}.nav{gap:20px}.cta{padding:45px}.cta h2{font-size:38px}}@media(max-width:760px){.wrap{padding:0 22px}.preview{font-size:9px}.navrow{height:76px}.wordmark{font-size:22px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:26px;box-shadow:0 14px 20px #17182710;flex-direction:column;align-items:stretch;gap:24px}.nav.is-open{display:flex}.hero{padding:48px 0 36px}.hero-grid,.section-heading,.feature-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:64px;line-height:1.02;letter-spacing:-3.7px}.hero .intro{font-size:16px}.hero-art{min-height:400px;max-width:430px;margin:15px auto 0;width:100%}.spark{right:0}.art-panel{right:0}.introline{flex-direction:column;gap:5px}.section{padding:60px 0}.section-heading{gap:12px}.cards{grid-template-columns:1fr}.card{min-height:200px;padding:28px}.card h3{margin-top:22px}.feature{padding:58px 0}.feature h2{font-size:43px}.quote-art{padding:30px}.about-grid{gap:25px}.portrait{height:400px;max-width:440px}.cta{padding:35px 26px;flex-direction:column;align-items:flex-start;gap:28px}.cta h2{font-size:38px}.footer-top{flex-direction:column}.footer-links{flex-wrap:wrap;gap:24px}.footer-bottom{flex-direction:column;gap:15px;margin-top:32px}.page-hero{padding:50px 0 35px}.page-hero h1{font-size:54px;letter-spacing:-2.5px}.page-hero .intro{font-size:18px}.contact-box{padding:28px}.contact-line a{font-size:18px}.actions{gap:22px}.button{padding:15px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep inner-page hero gutters aligned with shared wrappers. */
.page-hero.wrap{padding-left:56px;padding-right:56px}
@media(max-width:1000px){.page-hero.wrap{padding-left:30px;padding-right:30px}}
@media(max-width:760px){.page-hero.wrap{padding-left:22px;padding-right:22px}}

/* Internal booking form */
#booking-panel{max-width:760px;margin-bottom:70px}
#booking-panel[hidden]{display:none}
#booking-panel label{display:block;margin:20px 0 7px}
#booking-panel input:not([type=checkbox]),#booking-panel select{display:block;width:100%;padding:12px;border:1px solid #96939f;border-radius:3px;background:white;font:inherit;color:var(--ink)}
#booking-panel input:focus-visible,#booking-panel select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
#booking-panel fieldset{border:0;padding:0;margin:28px 0 0;min-width:0}
#booking-panel legend{font-weight:700;font-size:22px}
#booking-panel button{margin-top:18px}
#booking-panel button:disabled{opacity:.55;cursor:not-allowed}
#booking-panel input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}
