/* Narrative headings: readable serif opening, handwritten closing phrase.
   Keep navigation, event names and functional labels in their existing faces. */
.editorial-title em{display:inline-block;font:400 1.12em/1.25 'Pinyon Script',cursive;text-transform:none;letter-spacing:0;color:#63715f}
.chapters .editorial-title em{color:#e4dfce;margin-left:.12em}
.occasion-business .editorial-title em,.occasion-celebration .editorial-title em{display:block}

/* Equal photographic bookends, with the supplied castle line drawing in between. */
.opening-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.48fr) minmax(0,1fr);align-items:center}
.opening-portrait,.opening-detail{padding-top:0;max-width:none;width:100%}
.opening-portrait img,.opening-detail img{width:100%;height:auto;aspect-ratio:3/4;max-height:none}
.opening-detail img[src$="castle-lawn-tree.jpg"]{object-fit:cover;object-position:62% center}
.opening-illustration{width:210px;height:auto;object-fit:contain;margin:0 auto 22px;mix-blend-mode:multiply}
.footer-engraving{display:flex;align-items:center;justify-content:center;gap:36px;max-width:900px;margin:0 auto 55px}
.footer-engraving::before,.footer-engraving::after{content:"";height:1px;flex:1;background:var(--line)}
.footer-engraving img{display:block;width:clamp(210px,24vw,310px);height:auto;mix-blend-mode:multiply;opacity:.8}
@media(max-width:760px){.footer-engraving{gap:16px;margin-bottom:38px}.footer-engraving img{width:200px}}
.opening-story .welcome-script{margin-bottom:17px;font-size:clamp(2rem,3vw,3rem)}
.opening-story h1{font-size:clamp(2.7rem,4.4vw,4.8rem);margin-bottom:22px}
.opening-layout figcaption{margin-top:18px}

/* The restaurant story now ends with a more intimate, tactile bar vignette. */
.gastro-bar-note{display:grid;grid-template-columns:84px minmax(0,1fr);gap:23px;align-items:center;border-top:1px solid #ffffff30;margin-top:33px;padding-top:25px}
.gastro-bar-note img{width:84px;height:111px;object-position:50% 50%}
.gastro-bar-note span{font:400 1.85rem/1.3 'Pinyon Script',cursive;color:#e4dfce}
.gastro-bar-note p{font-size:.875rem;line-height:1.7;color:#dce0d6;margin:7px 0 0}

/* A quiet spa spread: water, touch and a sheltered text panel. */
.wellness.section{max-width:none;background:#eeeee6;padding:95px max(var(--gutter),calc((100vw - 1400px)/2));grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(40px,6vw,90px)}
.wellness-visual{position:relative;min-width:0;padding:0 0 105px 35px}
.wellness-photo img{height:470px;aspect-ratio:auto;object-position:57% center}
.wellness-photo figcaption{text-align:right;padding-top:22px;font-size:1.65rem;max-width:55%;margin-left:auto}
.wellness-treatment{position:absolute;left:0;bottom:0;width:43%;border:9px solid #eeeee6;border-left:0;border-bottom:0}
.wellness-treatment img{width:100%;height:235px;object-position:45% center}
.wellness-copy{padding:32px 0;max-width:450px}
.wellness-copy h2{font-size:clamp(3rem,4.7vw,4.8rem);margin-bottom:28px}
.wellness-copy h2 em{font-family:Ballet,'Pinyon Script',cursive;line-height:1.4}
.wellness-copy .eyebrow{margin-bottom:20px}
.wellness-copy .text-link{margin-top:8px}

@media(min-width:961px) and (max-width:1200px){
  .occasion-business h3,.occasion-celebration h3{font-size:1.85rem}
  .occasion-business .editorial-title em{font-size:1.05em}
  .wellness-photo img{height:420px}
  .wellness-treatment img{height:190px}
}
@media(max-width:960px){
  .wellness.section{grid-template-columns:1fr 1fr;gap:30px;padding-block:65px}
  .wellness-visual{padding-left:0;padding-bottom:90px}
  .wellness-photo img{height:420px}
  .wellness-treatment{width:53%;left:-10px}
  .wellness-treatment img{height:175px}
  .wellness-photo figcaption{font-size:1.4rem;max-width:47%}
}
@media(max-width:760px){
  .opening-layout{grid-template-columns:1fr 1fr;gap:32px 20px}
  .opening-story{grid-column:1/-1}
  .opening-illustration{width:205px;margin-bottom:24px}
  .opening-story h1{font-size:clamp(2.8rem,8.5vw,4rem)}
  .opening-portrait,.opening-detail{padding:0;max-width:none;justify-self:stretch}
  .opening-portrait img,.opening-detail img{aspect-ratio:3/4;max-height:none}
  .opening-layout figcaption{font-size:.75rem;letter-spacing:.025em;margin-top:12px}
  .occasions .section-heading h2{line-height:1.2}
  .occasions .section-heading h2 em{display:block}
  .occasion-grid{gap:45px}
  .occasion,.occasion:nth-child(even){display:block;position:relative}
  .occasion .photo-link{height:330px;max-height:none;aspect-ratio:auto}
  .occasion .occasion-copy,.occasion:nth-child(even) .occasion-copy{position:relative;z-index:1;margin:-42px 0 0 22px;padding:24px 0 0 23px;background:var(--paper);max-width:none}
  .occasion:nth-child(even) .occasion-copy{margin-left:0;margin-right:22px;padding-left:0;padding-right:23px}
  .occasion h3{font-size:2.35rem;margin-bottom:16px;line-height:1.15}
  .occasion .editorial-title em{display:block;font-size:1.2em}
  .occasion .occasion-copy>p{font-size:1rem;line-height:1.75;margin-bottom:14px}
  .occasion .mini-label{margin-bottom:12px;letter-spacing:.15em}
  .occasion .text-link{font-size:.875rem;letter-spacing:0;gap:15px}
  .occasion-business .photo-link img{object-position:55% center}
  .gastro-bar-note{gap:18px;margin-top:28px}
  .gastro-bar-note span{font-size:1.65rem}
  .wellness.section{grid-template-columns:1fr;gap:18px;padding:55px 24px 60px}
  .wellness-visual{padding:0 0 70px 18px}
  .wellness-photo img{height:330px}
  .wellness-treatment{left:0;width:45%;border-width:7px}
  .wellness-treatment img{height:165px}
  .wellness-photo figcaption{max-width:53%;font-size:1.4rem;padding-top:17px}
  .wellness-copy{max-width:none;padding:24px 0 0}
  .wellness-copy h2{font-size:3rem}
  .wellness-copy .crown-mark{width:42px;height:20px}
}
@media(max-width:380px){
  .occasion .photo-link{height:280px}
  .occasion .occasion-copy,.occasion:nth-child(even) .occasion-copy{padding-top:22px}
  .occasion h3{font-size:2.1rem}
  .occasion .editorial-title em{font-size:1.1em}
  .opening-story h1{font-size:2.7rem}
  .wellness-copy h2{font-size:2.8rem}
  .wellness-photo img{height:295px}
  .wellness-treatment img{height:145px}
  .wellness-photo figcaption{font-size:1.2rem}
  .gastro-bar-note{grid-template-columns:68px minmax(0,1fr);gap:16px}
  .gastro-bar-note img{width:68px;height:104px}
}
@media(prefers-reduced-motion:no-preference){.scroll-reveal{opacity:1;transform:none;transition:opacity .65s ease-out,transform .75s cubic-bezier(.2,.65,.3,1)}.scroll-reveal-pending{opacity:0;transform:translateY(12px)}.photo-link img{transition:transform 1.1s cubic-bezier(.2,.65,.3,1)}.photo-link:hover img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal-pending{opacity:1;transform:none;transition:none}.is-revealed{animation:none!important}.photo-link img{transition:none!important}}
@media print{.scroll-reveal,.scroll-reveal-pending{opacity:1;transform:none}}
/* Cross-document fade where supported; regular navigation remains the fallback. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
.gastronomy-inner>.tlr-brand-logo{grid-column:1 / -1;display:block;width:min(100%,320px);height:auto;object-fit:contain;margin:0 auto}
.gastronomy-inner{row-gap:45px}
.gastronomy{position:relative;background:#6D3A3A}
.gastronomy::before{content:"";position:absolute;inset:18px;border:1px solid #dfbf8a80;pointer-events:none}
@media(max-width:760px){.gastronomy::before{inset:10px}}
.gastronomy .gastro-detail{border-color:#6D3A3A}
.gastronomy h2 em,.gastronomy .gastro-photo-caption{color:#f4e9df}
.gastronomy .gastronomy-copy>p:not(.eyebrow){color:#f0e5e1}
.gastronomy .text-link:hover{color:#fff}
.tlr-home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px;margin-top:28px}
.tlr-home-actions .button{background:#f5f1e8;border-color:#f5f1e8;color:#6D3A3A}
.tlr-home-actions .button:hover{background:#dfbf8a;border-color:#dfbf8a}
.gastronomy-copy .tlr-home-actions .text-link{margin-top:0}

/* A calmer rhythm on the homepage, with a car-free crop of the castle. */
.homepage .opening-spread{padding-block:130px 140px}
.homepage .occasions{padding-block:120px 130px}
.homepage .occasion-grid{gap:95px}
.homepage .gastronomy,.homepage .wellness.section,.homepage .events,
.homepage .gift-section,.homepage .social-glimpses{padding-block:125px}
.homepage .closing{height:650px}
/* Keep the lower edge above the driveway even on narrow screens. */
.homepage .closing>img{width:max(100%,1400px);object-position:50% 28%}
@media(max-width:1100px){
  .homepage .opening-spread,.homepage .occasions,
  .homepage .gastronomy,.homepage .wellness.section,.homepage .events,
  .homepage .gift-section,.homepage .social-glimpses{padding-block:95px}
}
@media(max-width:760px){
  .homepage .opening-spread,.homepage .occasions,
  .homepage .gastronomy,.homepage .wellness.section,.homepage .events,
  .homepage .gift-section,.homepage .social-glimpses{padding-block:75px}
  .homepage .occasion-grid{gap:65px}
  .homepage .closing{height:520px}
  .homepage .closing>img{width:1100px;object-position:50% 28%}
}
