:root{--paper:#f7f3eb;--ink:#303c31;--muted:#636b60;--line:#d8d9cc;--orange:#a75739}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--orange);outline-offset:6px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 5.5%;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:23px;line-height:1.1;letter-spacing:-.5px}.brand span{font-style:italic}nav{display:flex;gap:30px;align-items:center;font-size:14px}nav a:hover,.text-link:hover{color:var(--orange)}.nav-cta{border-bottom:1px solid;padding-bottom:5px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.1;letter-spacing:-1.5px}h1{font-size:clamp(45px,5.9vw,86px);margin:25px 0}h2{font-size:clamp(34px,4vw,54px);margin:16px 0 30px}h3{font-size:28px;letter-spacing:-.6px;margin:12px 0}p{margin:0 0 20px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:2px;line-height:1.5}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:710px}.hero-copy{padding:80px 10% 65px 11%}.lead{max-width:450px;color:var(--muted);font-size:18px;line-height:1.7}.button{display:inline-flex;align-items:center;gap:30px;background:var(--ink);color:var(--paper);padding:16px 23px;margin:12px 0;border-radius:2px;font-size:14px}.button:hover{background:var(--orange)}.small-note{font-size:12px;color:var(--muted);margin-top:14px}.hero-photo{position:relative;margin:28px 28px 28px 0;min-height:550px;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-label{position:absolute;bottom:22px;left:24px;background:var(--paper);padding:8px 12px;font-size:11px}.intro{text-align:center;padding:95px 6%;border-top:1px solid var(--line)}.intro p:not(.eyebrow){max-width:675px;margin:0 auto;color:var(--muted)}.creative-days{padding:30px 5.5% 90px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.section-head a{font-size:13px;border-bottom:1px solid}.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.moment-grid img{width:100%;height:300px;object-fit:cover;margin-bottom:28px}.moment-grid article p:not(.eyebrow){font-size:15px;color:var(--muted)}.host{background:#e5e7db;padding:70px 12%;display:grid;grid-template-columns:1fr 1.2fr;gap:0 65px}.host>.eyebrow{grid-column:1/-1}.host p{color:#515d4e}.text-link{display:inline-block;border-bottom:1px solid;font-size:14px}.invite{background:var(--ink);color:var(--paper);text-align:center;padding:90px 6%}.invite p:not(.eyebrow){max-width:580px;margin:0 auto 20px;color:#dde1d3}.button.light{background:var(--paper);color:var(--ink)}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px 5.5%;font-size:13px}footer small{color:var(--muted);font-size:11px}.page{max-width:1100px;margin:auto;padding:70px 5%}.page-title{max-width:800px;font-size:clamp(46px,6vw,74px)}.page-lead{max-width:700px;color:var(--muted);font-size:20px}.details{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:45px 0;border-top:1px solid var(--line);margin-top:40px}.details h2{font-size:35px}.details ul{padding-left:20px}.contact-options{display:grid;grid-template-columns:1.25fr 1fr;gap:50px;margin-top:45px}.contact-options>div{border-top:1px solid var(--line);padding-top:30px}.contact-options h2{font-size:33px}.contact-options a:not(.button){text-decoration:underline;overflow-wrap:anywhere}.note{font-size:14px;color:var(--muted)}@media(max-width:750px){header{padding:20px 6%;align-items:flex-start}.brand{font-size:18px}nav{gap:12px;font-size:11px;flex-wrap:wrap;justify-content:flex-end;max-width:180px}.hero{display:flex;flex-direction:column}.hero-copy{padding:50px 6% 28px}.hero-photo{margin:0 6% 35px;height:390px;min-height:0}.intro{padding:60px 6%}.intro h2 br{display:none}.section-head{display:block;margin-bottom:25px}.moment-grid{grid-template-columns:1fr}.moment-grid img{height:330px}.creative-days{padding-bottom:45px}.host{display:block;padding:50px 6%}.invite{padding:65px 6%}footer{flex-wrap:wrap}footer div{width:100%}.details,.contact-options{grid-template-columns:1fr;gap:25px}.page{padding:45px 6%}.page-title{margin:25px 0}.contact-options{margin-top:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.signature-heading{font-size:clamp(36px,4.6vw,64px);line-height:1.16;letter-spacing:-1.2px}.signature-line{font-family:Georgia,serif;font-size:23px;font-style:italic;margin:24px 0;color:var(--orange)}.inquiry-form{display:block;border:0;background:white;border-radius:3px;min-height:820px}.contact-options{grid-template-columns:1.6fr 1fr}@media(max-width:750px){.contact-options{grid-template-columns:1fr}.signature-heading{font-size:clamp(34px,8vw,54px)}.inquiry-form{min-height:900px}}

/* Consistent spacing and readable mobile layouts. */
header{max-width:1440px;margin:auto;padding-block:22px}
.hero{max-width:1440px;margin:auto;min-height:620px}
.hero-copy{padding:60px 9% 48px 11%}
.signature-heading{font-size:clamp(32px,3.8vw,56px);line-height:1.2;letter-spacing:-.8px;margin:20px 0 16px}
.signature-line{margin:0 0 24px;line-height:1.4}
.hero-photo{min-height:480px}
.intro{padding-block:64px}.intro h2{margin-bottom:24px}
.creative-days{max-width:1320px;margin:auto;padding-top:48px;padding-bottom:64px}
.moment-grid img{margin-bottom:20px}.moment-grid .eyebrow{margin-bottom:12px}
.host{padding-block:60px}.host h2{margin-top:0}.host>.eyebrow{margin-bottom:20px}
.invite{padding-block:64px}.invite h2{margin-bottom:24px}
.page{padding-top:52px;padding-bottom:56px}.page-title{margin:20px 0 24px;line-height:1.15}
.details{margin-top:32px;padding:32px 0;gap:32px}.details h2{margin-top:12px;margin-bottom:20px}
.contact-options{margin-top:32px;gap:36px}.contact-options>div{padding-top:24px}
.contact-options h2{margin-top:0;margin-bottom:20px}.inquiry-form{margin-top:20px}
@media(max-width:750px){
 header{flex-direction:column;align-items:flex-start;gap:18px;padding:20px 6%}
 nav{max-width:none;width:100%;justify-content:space-between;gap:10px;font-size:13px}
 .hero{min-height:0}.hero-copy{padding:36px 6% 24px}
 .signature-heading{font-size:clamp(29px,7.6vw,48px);letter-spacing:-.5px}
 .signature-line{font-size:21px;margin-bottom:20px}.lead{font-size:17px;line-height:1.6}
 .hero-photo{min-height:0;height:340px;margin-bottom:0}
 .intro{padding:44px 6%}.creative-days{padding:40px 6% 44px}
 .moment-grid{gap:28px}.moment-grid img{height:280px;margin-bottom:18px}
 .moment-grid article p:last-child{margin-bottom:0}
 .host{padding:44px 6%}.invite{padding:44px 6%}
 .page{padding:36px 6% 44px}.page-title{font-size:clamp(36px,9vw,54px)}
 .page-lead{font-size:18px}.details{gap:8px;padding:28px 0;margin-top:24px}
 .contact-options{gap:28px}.photo-label{left:14px;bottom:14px}
 footer{padding:28px 6%;gap:18px}
}

.signature-heading{font-size:clamp(44px,5.2vw,74px);line-height:1.08;letter-spacing:-1.5px;margin:20px 0 20px}.signature-subheading{font-family:Georgia,serif;font-size:clamp(20px,2vw,26px);line-height:1.4;margin:0 0 12px}.signature-line{font-size:20px;margin-bottom:22px}@media(max-width:750px){.signature-heading{font-size:clamp(40px,10vw,62px)}.signature-subheading{font-size:21px}.signature-line{font-size:19px}}

/* The business name leads; section headings stay subordinate. */
.brand{font-size:25px}
h2{font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:-.7px}
h3{font-size:25px;line-height:1.25}
.page-title{font-size:clamp(32px,3.6vw,46px);letter-spacing:-.8px}
.details h2,.contact-options h2{font-size:30px}
.signature-heading{font-size:clamp(48px,5.6vw,80px)}
.signature-line{font-size:clamp(24px,2.5vw,32px);margin:0 0 12px}
.signature-subheading{font-size:19px;margin-bottom:24px;color:var(--muted)}
@media(max-width:750px){.brand{font-size:25px}.signature-heading{font-size:clamp(43px,10.7vw,64px)}.signature-line{font-size:25px}.signature-subheading{font-size:18px}h2,.details h2,.contact-options h2{font-size:28px}.page-title{font-size:34px}h3{font-size:24px}}

.intro p:not(.eyebrow)+p{margin-top:20px}

.practices{max-width:1100px;margin:auto;padding:48px 6%;border-top:1px solid var(--line)}.page .practices{padding:32px 0}.practices h2{margin-bottom:20px}.practice-list{list-style:none;padding:0;margin:24px 0;display:flex;flex-wrap:wrap;gap:12px}.practice-list li{border:1px solid var(--line);padding:8px 14px;border-radius:3px;font-size:15px}@media(max-width:750px){.practices{padding:36px 6%}.practice-list{gap:8px}.practice-list li{font-size:14px}}

/* Typography and spacing from Laurinda's read-through. */
.brand strong,.signature-heading strong{font-weight:700}.brand em,.signature-heading em{font-style:italic}
.signature-heading{margin-bottom:6px}.signature-line{margin-top:0;margin-bottom:18px}
.section-head{justify-content:flex-end;margin-bottom:24px}.palace-link{text-decoration:underline;text-underline-offset:5px}
@media(max-width:750px){.signature-heading{margin-bottom:6px}.section-head{display:flex;margin-bottom:24px}.hero .eyebrow{max-width:310px}.brand{font-size:23px}}

/* Keep the name together in prose; the display title keeps its deliberate break. */
.inline-name{white-space:nowrap}
.brand-tagline{display:block;margin-top:8px;color:var(--orange);font-size:14px;line-height:1.4;font-weight:400;letter-spacing:0}
@media(max-width:360px){.intro .inline-name{font-size:15px}}

/* Laurinda's portrait accompanies her personal welcome. */
.host{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:0 48px}
.host-portrait{width:100%;max-width:380px;justify-self:center}
.host-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 12%;border-radius:3px}
.host-copy{min-width:0}.host-copy h2{margin-bottom:24px}
@media(max-width:750px){.host-portrait{max-width:340px;margin:0 auto 28px}.host-portrait img{aspect-ratio:1/1;object-position:center 10%}.host-copy h2{margin-bottom:20px}}

/* Day-by-day itinerary: one horizontal row and complete daily text. */
.itinerary-page{max-width:1120px}.itinerary-page .page-title{margin-bottom:30px}
.itinerary-intro{max-width:800px;color:var(--muted);margin-bottom:36px}.itinerary-intro p{margin-bottom:12px}
.itinerary-tabs{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:32px;padding-bottom:0}
.itinerary-tabs button{flex:1 0 auto;white-space:nowrap;background:transparent;border:0;border-bottom:3px solid transparent;padding:16px 18px;color:var(--muted);font:inherit;font-size:15px;cursor:pointer}
.itinerary-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--orange);background:#ede8dc}
.itinerary-tabs button:focus-visible{outline:2px solid var(--orange);outline-offset:-4px}
.itinerary-panel{background:#fffdf8;border:1px solid var(--line);padding:36px 42px;border-radius:4px}
.itinerary-panel[hidden]{display:none}.itinerary-panel>.eyebrow{color:var(--orange);margin-bottom:28px}
.itinerary-moment+.itinerary-moment{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.itinerary-moment h3{font-size:26px;margin:0 0 16px}.itinerary-moment p{max-width:800px;margin-bottom:14px}.itinerary-moment p:last-child{margin-bottom:0}
.itinerary-custom{margin-top:34px;padding:28px 0;border-top:1px solid var(--line);color:var(--muted)}.itinerary-custom p{margin-bottom:12px}
.itinerary-invitation{margin-top:24px}.transportation-panel h2{margin-top:0}
@media(max-width:750px){.itinerary-tabs button{padding:14px 12px;font-size:14px}.itinerary-panel{padding:26px 22px}.itinerary-moment h3{font-size:23px}header nav{justify-content:flex-start;column-gap:18px;row-gap:12px}}

/* Guest experience and its table-with-a-view photograph. */
.experience-landscape{width:100%;height:350px;object-fit:cover;margin-top:25px}
.village-experience{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:42px;border-top:1px solid var(--line);margin-top:28px;padding:38px 0}
.village-experience-photo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:3px}.village-experience h2{margin-top:0}
.guest-personalization{border-top:1px solid var(--line);margin-top:32px;padding-top:28px;color:var(--muted)}
@media(max-width:750px){.village-experience{grid-template-columns:1fr;gap:26px}.experience-landscape{height:260px}}

/* Guest-focused draft: pictures accompany the copy. */
.copy-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:3px}
.guest-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;text-align:left;gap:44px;max-width:1320px;margin:auto}
.guest-intro>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px}.guest-intro p:not(.eyebrow){margin:0 0 20px}
.guest-picture-block{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.guest-picture-block .copy-photo{max-height:270px}
.day-photo{display:block;width:100%;height:260px;object-fit:cover;border-radius:3px;margin:0 0 28px}.contact-welcome-photo{width:100%;height:280px;object-fit:cover;margin:20px 0 28px}
@media(max-width:750px){.guest-intro,.guest-picture-block{grid-template-columns:1fr;gap:24px}.guest-intro>img{aspect-ratio:4/3}.day-photo{height:210px}}

/* The complete brand signature, at every visible name. */
.name-lockup{display:inline-block;max-width:100%;vertical-align:baseline}.name-tagline{display:block;font-size:14px;line-height:1.5;font-weight:400;font-style:normal;letter-spacing:0;color:var(--orange);white-space:normal}.heading-tagline{font-size:clamp(16px,1.7vw,20px);margin:6px 0 24px}.name-lockup .inline-name{white-space:normal}footer .name-tagline{margin-top:6px}

.brand-tagline,.name-tagline{color:var(--ink, #343b30)}.hero-location-line{display:block;margin-top:7px}.hero .heading-tagline{margin-bottom:30px}

/* Match the tagline to the italic name, retaining its smaller size. */
.name-tagline,.brand-tagline{font-family:inherit;font-style:italic}.name-lockup .name-tagline{font-weight:700}

.heading-tagline{font-family:Georgia,serif}

.moment-grid img.palace-photo{object-position:center 60%}
