:root{--bg: oklch(.935 .018 18);--surface: oklch(.9 .024 18);--ink: oklch(.22 .045 18);--muted: oklch(.4 .032 18);--primary: oklch(.38 .12 18);--primary-hover: oklch(.32 .12 18);--on-primary: oklch(.96 .02 40);--accent: oklch(.46 .07 155);--on-accent: oklch(.96 .02 40);--line: oklch(.22 .045 18 / .16);--danger: oklch(.48 .16 25);--success: oklch(.42 .1 155);--focus: oklch(.38 .12 18);--font-display: "Italiana", "Palatino Linotype", Palatino, "Times New Roman", serif;--font-body: "Karla", "Segoe UI", sans-serif;--text-body: 1.125rem;--text-small: .9375rem;--text-display: clamp(2.75rem, 8vw, 5.5rem);--text-h1: clamp(2.15rem, 5vw, 3.75rem);--text-h2: clamp(1.65rem, 3.2vw, 2.5rem);--text-h3: clamp(1.25rem, 2vw, 1.5rem);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: clamp(3.5rem, 8vw, 6rem);--space-4xl: clamp(5rem, 12vw, 8.5rem);--wrap: min(1120px, calc(100% - 2.5rem) );--wrap-wide: min(1360px, calc(100% - 1.75rem) );--measure: 65ch;--radius: 3px;--ease: cubic-bezier(.22, 1, .36, 1);--z-sticky: 200;--z-nav: 260;--z-dock: 270;--z-modal: 400;--header-h: 4.25rem}*,*:before,*:after{box-sizing:border-box}html{hanging-punctuation:first last;background:var(--bg)}html:focus-within{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.55;font-kerning:normal;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.12;letter-spacing:-.02em;text-wrap:balance;margin:0}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p{text-wrap:pretty;margin:0}button,input,select,textarea{font:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip{position:absolute;left:.75rem;top:-4rem;z-index:500;background:var(--ink);color:var(--bg);padding:.6rem .9rem}.skip:focus{top:.75rem}.wrap{width:var(--wrap);margin-inline:auto}.wrap-wide{width:var(--wrap-wide);margin-inline:auto}.muted{color:var(--muted)}.lede{max-width:var(--measure);color:var(--muted);font-size:1.2rem;line-height:1.5}[hidden]{display:none!important}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.7rem 1.25rem;border:1px solid transparent;border-radius:var(--radius);background:var(--primary);color:var(--on-primary);text-decoration:none;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background .18s var(--ease),transform .18s var(--ease)}.btn:hover{background:var(--primary-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:var(--surface)}.btn-light{background:var(--bg);color:var(--ink)}.btn-light:hover{background:var(--surface)}.site-header{position:sticky;top:0;z-index:var(--z-nav);background:var(--bg);border-bottom:1px solid var(--line)}.site-header.is-overlay{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom-color:#ffffff2e;color:var(--bg)}.site-header.is-overlay .btn-ghost{color:var(--bg);border-color:#ffffff59}.site-header.is-overlay .btn-ghost:hover{background:#ffffff1f}.nav{width:var(--wrap-wide);margin-inline:auto;min-height:var(--header-h);display:flex;align-items:center;gap:1rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;min-width:0}.brand img{width:2.75rem;height:2.75rem;object-fit:cover;border-radius:50%;background:var(--surface)}.brand-name{font-family:var(--font-display);font-size:1.35rem;letter-spacing:0;line-height:1}.brand-place{display:block;font-family:var(--font-body);font-size:.72rem;color:var(--muted);margin-top:.2rem;letter-spacing:.04em}.site-header.is-overlay .brand-place{color:#ffffffc7}.nav-links{margin:0 0 0 auto;display:flex;align-items:center;gap:1.35rem;list-style:none;padding:0}.nav-links a{text-decoration:none;font-size:.95rem;font-weight:500}.nav-toggle{display:none;margin-left:auto;min-width:2.75rem;min-height:2.75rem;border:1px solid var(--line);background:transparent;color:inherit;border-radius:var(--radius)}.site-header.is-overlay .nav-toggle{border-color:#fff6;color:var(--bg)}.hero{position:relative;min-height:100svh;color:var(--bg);display:grid;align-items:end;overflow:hidden;background:var(--primary)}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:hero-in 1.4s var(--ease) both}.hero img{object-position:50% 58%}.hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,#230709c7,#751e2959 52%,#20090b38),linear-gradient(180deg,#20090b2e,#20090b94)}.hero-copy{position:relative;z-index:1;width:var(--wrap-wide);margin:0 auto;padding:0 0 clamp(3rem,8vh,5.5rem)}.hero-copy h1{font-size:var(--text-display);max-width:9ch;line-height:.98}.hero-copy p{font-family:var(--font-body);font-size:1.15rem;line-height:1.45;max-width:36ch;margin-top:1.25rem;color:#ffffffe6}.hero-secondary{align-self:center;color:var(--bg);font-weight:500;text-underline-offset:.3em;text-decoration-thickness:1px}.hero-secondary:hover{color:var(--on-primary)}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.reassurance{border-bottom:1px solid var(--line)}.reassurance .wrap{min-height:4.25rem;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.reassurance p{font-family:var(--font-display);font-size:1.05rem;text-align:center;padding-inline:1rem}.reassurance p+p{border-left:1px solid var(--line)}.section{padding-block:var(--space-3xl)}.section-head{display:grid;gap:.75rem;margin-bottom:var(--space-2xl);max-width:40rem}.kicker{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}.split.reverse{grid-template-columns:.85fr 1.15fr}.split img{width:100%;height:min(72vh,640px);object-fit:cover}.place-band{background:var(--primary);color:var(--on-primary);padding-block:var(--space-3xl)}.place-band h2{max-width:16ch}.place-band p{max-width:var(--measure);margin-top:1rem;color:#ffffffe6}.pkg-list{display:grid;gap:0;border-top:1px solid var(--line)}.pkg-lede{margin-top:.55rem;max-width:48ch}.pkg-action{text-align:right}.pkg-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(12rem,.8fr) auto;gap:1.25rem 2rem;align-items:end;padding:1.5rem 0;border-bottom:1px solid var(--line);text-decoration:none}.pkg-row h3{font-size:clamp(1.8rem,3vw,2.4rem)}.pkg-price{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:.9;letter-spacing:-.03em}.pkg-meta{color:var(--muted);font-size:var(--text-small);margin-top:.35rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;counter-reset:step}.step{padding-top:.5rem}.step h3{margin:.5rem 0 .6rem}.step:before{counter-increment:step;content:counter(step);font-family:var(--font-display);font-size:2rem;color:var(--primary);line-height:1}.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:.6rem;min-height:70vh}.gallery a:first-child{grid-row:1 / span 2}.gallery img{width:100%;height:100%;object-fit:cover}.gallery-more{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.6rem}.gallery-more img{width:100%;height:42vh;object-fit:cover}.faq{display:grid;gap:0;border-top:1px solid var(--line);max-width:48rem}.faq details{border-bottom:1px solid var(--line);padding:1rem 0}.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--primary);font-size:1.4rem;line-height:1}.faq details[open] summary:after{content:"–"}.faq p{margin-top:.75rem;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:var(--space-2xl) 0 var(--space-3xl)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.site-footer a{color:var(--muted);text-decoration:none}.site-footer ul{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.45rem}.dock{display:none}.form-progress{display:flex;gap:.4rem;margin-bottom:1.5rem}.form-progress span{flex:1;height:3px;background:var(--line)}.form-progress span.is-on{background:var(--primary)}.field{display:grid;gap:.35rem;margin-bottom:1rem}fieldset.field{min-inline-size:0;padding:0;border:0}fieldset.field legend{padding:0;margin-bottom:.35rem}.field label{font-weight:700;font-size:.92rem}.field input,.field select,.field textarea{width:100%;min-height:2.75rem;border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .7rem;background:var(--bg);color:var(--ink)}.field .choice input[type=radio],.field .pkg-choice input[type=radio]{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.field textarea{min-height:6rem;resize:vertical}.field .hint{color:var(--muted);font-size:.875rem}.field .err{color:var(--danger);font-size:.875rem}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.6rem}.choice{border:1px solid var(--line);background:var(--bg);min-height:3.2rem;padding:.7rem .8rem;text-align:left;cursor:pointer;border-radius:var(--radius)}.choice.is-on,.choice:has(input:checked){border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.choice:has(input:focus-visible),.pkg-choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.pkg-choice{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;align-items:start;width:100%;border:1px solid var(--line);background:var(--bg);padding:.7rem;text-align:left;cursor:pointer;border-radius:var(--radius);margin-bottom:.6rem}.pkg-choice.is-on,.pkg-choice:has(input:checked){border-color:var(--primary);background:color-mix(in oklch,var(--primary) 12%,var(--bg))}.pkg-choice img{width:7rem;height:5.2rem;object-fit:cover}.pkg-choice p,.pkg-choice ul{margin:.45rem 0 0}.pkg-choice ul{padding-left:1.1rem;font-size:var(--text-small)}.pkg-choice .pkg-price{grid-column:2;min-width:0;text-align:left;font-size:1.35rem;line-height:1.1}.pkg-choice .pkg-price small{display:inline-block;margin-top:.45rem;color:var(--muted);font-family:var(--font-body);font-size:.78rem;line-height:1.3;letter-spacing:0}.totals{background:var(--surface);padding:1.1rem 1.2rem;border-radius:var(--radius);display:grid;gap:.4rem}.alert{padding:.75rem .9rem;border-radius:var(--radius);margin-bottom:1rem}.alert-error{background:oklch(.95 .03 25);color:var(--danger)}.alert-ok{background:#e0f5e6;color:var(--success)}.wizard-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}@keyframes hero-in{0%{transform:scale(1.08);opacity:.7}to{transform:scale(1.04);opacity:1}}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.hero img,*{animation:none!important;transition:none!important}.hero img{transform:none}}@media(max-width:860px){.split,.split.reverse,.steps,.gallery,.footer-grid,.pkg-row{grid-template-columns:1fr}.gallery{min-height:0}.gallery a:first-child{grid-row:auto}.gallery img{height:52vw;min-height:14rem}.split img{height:58vw;min-height:16rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);color:var(--ink);flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.25rem;border-bottom:1px solid var(--line);gap:.2rem}.nav-links.is-open{display:flex}.nav-links a,.nav-links .btn{min-height:2.75rem;display:flex;align-items:center}.site-header.is-overlay .nav-links{color:var(--ink)}.hero-copy h1{max-width:8ch}.hero img{object-position:58% 54%}.hero-actions{align-items:center}.hero-secondary{padding:.65rem 0}.reassurance .wrap{grid-template-columns:1fr;padding-block:.45rem}.reassurance p{text-align:left;padding:.55rem 0}.reassurance p+p{border-left:0;border-top:1px solid var(--line)}body:not(.no-dock){padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.dock{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-dock);padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}.dock .btn{width:100%}body.no-dock .dock{display:none}.pkg-row{gap:.6rem;padding-block:1.15rem}.pkg-lede{display:none}.pkg-best{font-size:var(--text-small)}.pkg-action{display:flex;align-items:baseline;justify-content:space-between;text-align:left}.pkg-choice{grid-template-columns:5.2rem 1fr}.pkg-choice .pkg-price{grid-column:2}.gallery-more{grid-template-columns:1fr}}
