:root{--ink:#222;--muted:#6b6760;--line:#e8e2d6;--paper:#fbf9f4;--warm:#f1ede4;--accent:#1f3d2e;--alt:#f3eee4;--maxw:1440px;--serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter:clamp(20px, 5vw, 56px);--header-h:64px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:400;line-height:1.1}ul{margin:0;padding:0;list-style:none}.container{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.split{align-items:start;gap:8px 0;display:grid}@media (width>=900px){.split{grid-template-columns:4fr 7fr;gap:0 clamp(48px,8vw,128px)}}.section{border-top:1px solid var(--line);padding-block:clamp(72px,12vw,148px)}.packages,.gallery{background:var(--alt);border-top-color:#e3dccd}.section__title{letter-spacing:-.01em;margin-bottom:.6em;font-size:clamp(2.2rem,5vw,3.4rem)}.section__title:before{content:"";background:var(--accent);width:44px;height:2px;margin-bottom:1.1rem;display:block}.section__lead{max-width:30em;color:var(--muted);margin:0 0 3rem;font-size:1.05rem}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;font:500 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:.95em 2.2em;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.button:hover,.button:focus-visible{color:var(--accent);background:0 0}.button:disabled{opacity:.5;cursor:wait}.button--small{padding:.8em 1.5em;font-size:.7rem}.header{z-index:10;height:var(--header-h);padding-inline:max(var(--gutter), calc((100% - var(--maxw)) / 2 + var(--gutter)));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fbf9f4f0;justify-content:space-between;align-items:center;gap:24px;display:flex;position:sticky;top:0}.header__brand{font-family:var(--serif);letter-spacing:.01em;font-size:1.5rem;text-decoration:none}.header__nav{gap:32px;margin-left:auto;display:none}.header__nav a{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.74rem;text-decoration:none;transition:color .2s}.header__nav a:hover{color:var(--accent)}@media (width>=760px){.header__nav{display:flex}}.hero{background:#2a211c;height:min(86svh,56vw);min-height:440px;position:relative;overflow:hidden}.hero__image{object-fit:cover;object-position:50% 42%;width:100%;height:100%}.hero__shade{background:linear-gradient(#0000 45%,#0009);position:absolute;inset:0}.hero__title{left:max(var(--gutter), calc((100% - var(--maxw)) / 2 + var(--gutter)));right:var(--gutter);color:#fff;letter-spacing:-.015em;text-shadow:0 1px 24px #00000040;max-width:14em;font-size:clamp(2.3rem,6.4vw,4.8rem);position:absolute;bottom:clamp(28px,6vw,72px)}.hero__title span{font-style:italic;display:block}.about__grid{align-items:center;gap:40px;display:grid}.about__portrait{aspect-ratio:4/5;object-fit:cover;order:1;width:100%;max-width:480px}.about__text p{max-width:36em;margin:0 0 1.3em;font-size:1.05rem}@media (width>=860px){.about__grid{grid-template-columns:5fr 6fr;gap:clamp(48px,8vw,112px)}.about__portrait{order:0}}.packages__grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:48px clamp(28px,4vw,56px);display:grid}.package{border-top:1px solid var(--ink);padding-top:20px}.package__name{font-size:1.7rem}.package__price{font-family:var(--serif);margin:.3em 0 1.2em;font-size:2.6rem;line-height:1}.package__details li{border-top:1px solid #ddd5c5;padding-block:.55em;font-size:.95rem}.package__details .package__included{font-weight:500}.package__details .package__included:before{content:"✓";color:var(--accent);margin-right:.6em}.packages__other{max-width:440px;color:var(--muted);margin-top:56px}.packages__other h3{font:500 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.6em}.packages__other li{border-bottom:1px solid #ddd5c5;justify-content:space-between;gap:16px;padding-block:.45em;font-size:.92rem;display:flex}.packages__other em{font-style:normal}.packages__cta{margin:56px 0 0}.testimonials__grid{grid-template-columns:1fr;align-items:start;gap:clamp(40px,5vw,64px) clamp(32px,5vw,72px);display:grid}@media (width>=720px){.testimonials__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1200px){.testimonials__grid{grid-template-columns:repeat(3,1fr)}}.quote{margin:0}.quote[hidden]{display:none}.quote__text{margin:0}.quote__text p{font-family:var(--serif);margin:0;font-size:1.28rem;line-height:1.5}.quote__text.is-clamped p{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.quote__toggle{color:var(--muted);font:500 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin-top:.6em;padding:0;text-decoration:underline}.quote figcaption{flex-direction:column;margin-top:1.2em;font-size:.92rem;display:flex}.quote figcaption span{color:var(--muted)}.gallery{--row:300px;--row-max:460px;padding-bottom:0}.gallery__rows{flex-direction:column;gap:4px;display:flex}.gallery__row{gap:4px;display:flex}.js .gallery__rows .gallery__row{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.js .gallery__rows .gallery__row--in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js .gallery__rows .gallery__row{opacity:1;transition:none;transform:none}}.gallery__row .gallery__item{flex:var(--ratio) 1 0;max-width:none}.gallery__grid{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.gallery__item{flex:calc(var(--ratio) * 100) 1 calc(var(--ratio) * var(--row));max-width:calc(var(--ratio) * var(--row-max));background:var(--warm);min-width:0}.gallery__item img{width:100%;height:auto}.gallery__end{height:1px}@media (width<=899px){.gallery{--row:170px;--row-max:280px}}@media (width<=599px){.gallery__item{flex-basis:100%;max-width:none}}.js .inquire-section--waiting{display:none}.faq-page{padding-top:clamp(48px,8vw,96px)}.faq__intro .section__lead{max-width:24em}.faq__contact{max-width:24em;color:var(--muted);margin:1.2em 0 0}.faq__contact a{text-underline-offset:3px;text-decoration:underline}@media (width<=899px){.faq__intro{margin-bottom:32px}}.form{gap:22px;display:grid}.form label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);gap:6px;font-size:.74rem;display:grid}.form input,.form textarea{width:100%;color:var(--ink);font:400 1rem/1.4 var(--sans);letter-spacing:0;text-transform:none;background:0 0;border:0;border-bottom:1px solid #b9b09f;border-radius:0;padding:.85em 0}.form input:focus,.form textarea:focus{border-bottom-color:var(--accent);outline:0}.form textarea{resize:vertical}.form__row{gap:22px;display:grid}@media (width>=560px){.form__row{grid-template-columns:1fr 1fr}}.form .button{justify-self:start;margin-top:8px}.form__trap{position:absolute;left:-9999px}.form__error{color:#9b2c2c;margin:0;font-size:.92rem}.footer{padding:56px var(--gutter) 40px;border-top:1px solid var(--line);text-align:center;font-size:.9rem}.footer p{margin:0 0 12px}.footer__links{flex-wrap:wrap;justify-content:center;gap:8px 28px;display:flex}.footer a{text-underline-offset:4px}.footer__copy{color:var(--muted);font-size:.8rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.faq__item{border-bottom:1px solid #ddd5c5}.faq__item:first-child{border-top:1px solid #ddd5c5}.faq__item summary{font-family:var(--serif);cursor:pointer;justify-content:space-between;gap:16px;padding-block:1.1em;font-size:1.3rem;line-height:1.3;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";color:var(--accent);flex:none}.faq__item[open] summary:after{content:"–"}.faq__item p{max-width:36em;color:var(--muted);margin:0 0 1.4em}@media (width>=900px){.faq,.inquire{grid-template-columns:4fr 7fr;align-items:start;column-gap:clamp(48px,8vw,128px);display:grid}.faq .section__title,.faq__intro,.inquire .section__title,.inquire .section__lead{grid-column:1}.faq__list,.inquire .form{grid-area:1/2/span 3}}
