@charset "UTF-8";
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/cormorant-garamond-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/cormorant-garamond-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/jost-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#342c25;--paper:#faf6ef;--wine:#6c5846;--muted:#6f6255;--line:#d8cbbb;--gold:#967b59;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.75 var(--sans)}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;object-fit:cover}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04}h1{font-size:clamp(2.8rem,6.7vw,6.5rem);letter-spacing:-.025em}h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.02em}h3{font-size:2.05rem}p{max-width:65ch}.wrap{max-width:1320px;margin:auto;padding:0 6%}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:500;margin-bottom:1.6rem}.skip{position:absolute;left:1rem;top:-100px;background:var(--paper);padding:12px;z-index:50}.skip:focus{top:8px}.topbar{background:#ded2bf;color:var(--ink);text-align:center;font-size:.8rem;padding:8px 15px;letter-spacing:.07em}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 6%;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.brand{text-decoration:none;text-align:center;display:inline-flex;flex-direction:column;line-height:1.2;white-space:nowrap}.brand img{width:224px;height:auto;object-fit:contain}.nav{display:flex;gap:26px;align-items:center}.nav a{text-decoration:none;font-size:.87rem}.nav a:hover{text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 25px;background:var(--wine);border:1px solid var(--wine);color:white;text-decoration:none;font-size:.9rem;letter-spacing:.03em;min-height:48px;transition:background .2s}.button:hover{background:#534333}.button.light{background:var(--wine);color:var(--paper);border-color:var(--wine)}.button.outline{background:transparent;color:inherit;border-color:currentColor}.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:#e8ded0;color:var(--ink)}.hero-copy{align-self:center;padding:70px 11% 80px 12%}.hero h1 em{color:#80694e;font-weight:400}.hero p{color:#635547;margin-bottom:30px}.hero-photo{position:relative;overflow:hidden;min-height:580px}.hero-photo img{width:100%;height:100%;position:absolute;object-position:center 42%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(35,22,25,.35),transparent 40%)}.photo-caption{position:absolute;bottom:30px;left:32px;color:white;z-index:1;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.hero-foot{border-top:1px solid #c8b89f;margin-top:40px;padding-top:20px;display:flex;gap:30px;font-size:.8rem}.intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;padding-top:85px;padding-bottom:85px}.intro h2{max-width:21ch}.intro p{color:var(--muted)}.section{padding-top:90px;padding-bottom:90px}.section-head{display:flex;gap:30px;justify-content:space-between;align-items:end;margin-bottom:42px}.section-head h2{margin-bottom:0}.section-head p{max-width:38ch;color:var(--muted)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 14px;color:var(--ink);-webkit-appearance:none;appearance:none;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border-top:1px solid var(--line);padding-top:24px;text-decoration:none;display:flex;flex-direction:column}.card img{width:100%;height:310px;margin-bottom:24px}.card .number{color:var(--muted);font-size:.8rem;letter-spacing:.14em}.card h3{margin:16px 0}.card p{color:var(--muted);font-size:.95rem}.card .text-link{margin-top:auto;font-size:.9rem;text-decoration:underline}.band{background:#e6dbc9;color:var(--ink);padding:80px 6%;display:flex;justify-content:space-between;align-items:center;gap:40px}.band h2{max-width:20ch;margin-bottom:15px}.band p{color:var(--ink)}.footer{padding:60px 6% 90px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}.footer .brand{align-items:start}.footer .brand img{width:260px}.footer h3{font:500 .85rem/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase}.footer a{display:inline-block;font-size:.9rem;margin-bottom:8px}.legal{padding-top:30px;margin-top:35px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.mobile-contact{display:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split img{width:100%;max-height:650px}.quote{font:italic 1.8rem/1.4 var(--serif);margin:30px 0}.prose{max-width:850px;margin:auto}.prose p{max-width:none}.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:35px}.page-hero{padding-top:60px;padding-bottom:65px;background:#f0e7da}.page-hero h1{font-size:clamp(2.7rem,5vw,4.7rem);max-width:22ch}.page-hero p{max-width:58ch;color:var(--muted);font-size:1.05rem}.price{display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.price strong{font-weight:500;white-space:nowrap}.prices-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.note{color:var(--muted);font-size:.9rem;margin-top:22px}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:22px}summary:after{content:'+';color:var(--wine);font-size:1.5rem;line-height:1}details[open] summary:after{content:'−'}details p{padding-top:20px;color:var(--muted);margin-bottom:0}.related{background:#f0e7da}.text-link{font-size:.92rem}.notfound{text-align:center;min-height:60vh}.contact-detail{padding:25px 0;border-bottom:1px solid var(--line)}.contact-detail h3{font-size:1.4rem;margin-bottom:8px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #80694e;outline-offset:5px}::selection{background:#d5c4aa;color:#342c25}
@media(min-width:1600px){.hero{min-height:760px}}@media(max-width:1000px){.nav{gap:17px}.header{padding:20px 5%}.brand img{width:200px}.header>.button{display:none}.hero-copy{padding:55px 9%}.hero{min-height:610px}.hero-photo{min-height:610px}.hero-foot{gap:16px}.cards{gap:18px}.card img{height:250px}}
@media(max-width:700px){.topbar{font-size:.75rem}.header{padding:18px 6%;flex-wrap:wrap}.header .brand img{width:174px}.menu-toggle{display:block}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}.header.menu-open .nav{display:flex}.nav a{padding:13px 0;border-top:1px solid var(--line);font-size:1rem}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:50px 7% 45px}.hero h1{font-size:3.3rem;max-width:15ch}.hero-photo{min-height:380px;height:380px}.hero-photo img{object-position:center 35%}.hero-foot{margin-top:30px;gap:25px}.intro{grid-template-columns:1fr;gap:10px;padding-top:55px;padding-bottom:40px}.eyebrow{margin-bottom:20px}.section{padding-top:55px;padding-bottom:55px}.section-head{display:block}.section-head p{margin-top:22px}.cards{grid-template-columns:1fr}.card{margin-bottom:20px}.card img{height:370px}.split,.prices-grid,.footer-grid{grid-template-columns:1fr;gap:35px}.split img{max-height:470px}.band{display:block;padding:55px 7%}.band .actions{margin-top:25px}.footer{padding-top:40px;padding-bottom:95px}.footer-grid{gap:28px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--paper);padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -4px 18px #231f2010}.mobile-contact a{flex:1;padding:11px 10px;min-height:44px}.page-hero{padding-top:35px;padding-bottom:42px}.page-hero h1{font-size:2.8rem}.breadcrumb{margin-bottom:25px}.photo-caption{bottom:24px;left:24px}.wrap{padding-left:7%;padding-right:7%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.social{margin-top:25px}.social h3{margin-bottom:14px}.social-links{display:flex;gap:12px;flex-wrap:wrap}.footer .social-links a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0;border:1px solid var(--line);border-radius:50%;background:transparent;transition:background .2s,border-color .2s}.social-links img{width:22px;height:22px;object-fit:contain;opacity:.8}.footer .social-links a:hover{background:#e8ded0;border-color:var(--gold)}

/* Mobile audit: preserve complete photographic compositions. */
.card .editorial-photo{height:auto;object-fit:contain}
.split .editorial-photo{height:auto;max-height:none;object-fit:contain}
.hero-photo img{object-position:center 25%}
.text-link{display:inline-flex;align-items:center;min-height:44px}
summary{min-height:44px;align-items:center}
.faq-action{margin-top:22px}
.breadcrumb{font-size:.875rem}
.breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.hero-foot{font-size:.875rem;flex-wrap:wrap;gap:4px 20px}
.reviews-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.review-card{min-width:0;border:1px solid var(--line);background:#f0e7da;padding:30px;display:flex;flex-direction:column}
.review-card:nth-child(n+4){display:none}
.review-stars{color:var(--wine);letter-spacing:.12em;margin-bottom:22px}
.review-card blockquote{margin:0 0 24px;font:500 1.65rem/1.35 var(--serif);flex:1}
.review-card blockquote p{margin:0}.review-author{font-size:.95rem;font-weight:500}.review-card .text-link{font-size:.875rem;margin-top:10px}
@media(min-width:701px) and (max-width:1000px){.reviews-track{grid-template-columns:repeat(2,minmax(0,1fr))}.review-card:nth-child(n+3){display:none}}
@media(max-width:700px){
 .reviews-track{grid-template-columns:1fr}.review-card{padding:28px}.review-card:nth-child(n+2){display:none}.review-card blockquote{font-size:1.75rem}
 .hero-photo{min-height:0;height:auto;aspect-ratio:2/3}
 .hero-photo img{position:relative;height:auto;object-fit:contain;object-position:center}
 .hero-copy{padding:36px 7% 32px}
 .hero h1{font-size:clamp(2.9rem,12.5vw,3.3rem);margin-bottom:24px}
 .hero .eyebrow{margin-bottom:16px;font-size:.875rem;letter-spacing:.13em}
 .hero p{margin-bottom:22px;line-height:1.6}
 .hero .actions{gap:10px}
 .hero .actions .button{width:100%;padding:10px 16px}
 .hero-foot{margin-top:24px;padding-top:16px}
 .footer p a,.footer .legal a{display:inline-flex;align-items:center;min-height:44px;margin-bottom:0}
 .footer .social-links a{min-height:46px}
 .faq-action .button{width:100%}
}

/* Public language selection, visible on desktop and mobile. */
.language-switch{display:flex;align-items:center;gap:2px;flex-shrink:0}.language-switch a{font-size:.8rem;text-decoration:none;min-width:40px;min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--ink)}.language-switch a[aria-current]{text-decoration:underline;text-underline-offset:6px;font-weight:600}.language-switch a:hover{background:#e8ded0}
@media(max-width:700px){.header{gap:10px}.header .language-switch{margin-left:auto}.language-switch a{min-width:32px}.menu-toggle{padding:9px 10px}}
@media(min-width:701px) and (max-width:1150px){.header{gap:14px}.nav{gap:14px}.header>.button{display:none}}
@media(max-width:350px){.header .brand img{width:130px}}

@media(min-width:701px) and (max-width:900px){.header{flex-wrap:wrap}.header .brand img{width:174px}.header .language-switch{margin-left:auto}.menu-toggle{display:block}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}.header.menu-open .nav{display:flex}.nav a{padding:13px 0;border-top:1px solid var(--line);font-size:1rem}}
