/* Shared guest-facing typography and responsive page system. */
body{font-size:16px}p{line-height:1.75}.inner-page{font-size:16px}.eyebrow{font-size:12px}.nav-group>button,.nav-link{font-size:14px}.nav-panel a{font-size:14px;min-height:44px}.nav-panel-label{font-size:11px}.booking-context{font-size:14px;line-height:1.65;color:#52614f;margin:14px 0;max-width:590px}.inner-page .button{font-size:15px;min-height:48px;white-space:normal}.inner-page .text-link{font-size:15px;min-height:44px;display:inline-flex;align-items:center;white-space:normal}.breadcrumbs{font-size:14px}.page-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;padding:12px 0 60px}.page-hero h1{font-size:clamp(44px,5.2vw,72px);line-height:1.06}.page-lead{font-size:18px;line-height:1.75;margin:24px 0 0;color:#52614f;max-width:520px}.page-hero figure{margin:0}.page-hero img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:4px 64px 4px 4px}.page-section{padding-block:60px}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.info-card{border:1px solid var(--line);background:var(--paper);border-radius:5px;overflow:hidden}.info-card>img{width:100%;aspect-ratio:1.5;object-fit:cover}.info-card>div{padding:26px}.info-card h3{font:30px/1.15 Georgia,serif;margin:0 0 14px}.info-card p{color:#52614f;margin:0 0 14px}.soft-band{background:#e9eddf;padding-block:54px;border-block:1px solid #dae0d0}.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.split-copy p{color:#52614f;margin-bottom:18px}.room-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.room-card{background:var(--paper);border:1px solid var(--line);border-radius:5px;overflow:hidden}.room-card>img{width:100%;aspect-ratio:1.65;object-fit:cover}.room-card>div{padding:28px}.room-card h2{font-size:36px}.room-card p:not(.eyebrow){margin:16px 0 24px;color:#52614f}.comparison-section{background:#e9eddf;padding-block:55px}.comparison-section h2{margin-bottom:28px}.table-scroll{overflow-x:auto;margin:0 0 20px;border:1px solid #c0c8b8;border-radius:4px}table{border-collapse:collapse;width:100%;min-width:680px;background:var(--paper);font-size:15px}caption{padding:16px;text-align:left;font-size:14px;color:#52614f}th,td{padding:20px;text-align:left;border-top:1px solid #cdd4c5;line-height:1.55}thead{background:#dce4d2}th a{text-decoration:underline;text-underline-offset:4px}.comparison-note{font-size:15px;max-width:900px;margin-bottom:24px;color:#52614f}.story-copy{display:grid;grid-template-columns:1fr 1fr;gap:20px 72px}.story-copy>.eyebrow{grid-column:1/-1}.story-copy p:not(.eyebrow){margin-bottom:22px;color:#52614f}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.contact-card{padding:36px;border:1px solid var(--line);background:var(--paper);border-radius:5px;min-width:0}.contact-card h2{font-size:38px;margin-bottom:26px}.contact-primary{font-size:26px;display:block;min-height:44px;text-decoration:underline;text-underline-offset:5px}.contact-email{display:inline-flex;align-items:center;min-height:44px;font-size:17px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.contact-card p{margin-block:20px;color:#52614f}.contact-card address{font:normal 20px/1.7 Georgia,serif}.arrival-times{display:flex;gap:40px;padding-top:30px}.arrival-times span{font-size:12px;letter-spacing:1px;display:block}.arrival-times strong{font:28px/1.7 Georgia,serif}.faq-jump{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:38px}.faq-jump a{padding:10px 16px;background:#e9eddf;border:1px solid #c5cebd;border-radius:4px;min-height:44px}.faq-group{max-width:900px;margin:0 auto 50px;scroll-margin-top:110px}.faq-group h2{font-size:38px;margin-bottom:20px}.faq-group details{border-bottom:1px solid var(--line);padding-block:5px}.faq-group summary{font-weight:600;cursor:pointer;font-size:17px;padding:18px 4px;min-height:48px;line-height:1.5}.faq-group details p{color:#52614f;padding:0 25px 22px 4px;max-width:800px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.blog-card{border:1px solid var(--line);padding:26px;border-radius:5px;background:var(--paper)}.blog-card h2{font-size:28px;line-height:1.2;margin:16px 0}.blog-card p{font-size:14px;color:#52614f}.cabin-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.cabin-gallery-section p,.cabin-section-top>p{font-size:15px}.cabin-hero-photo img{aspect-ratio:605/465}.cabin-intro h1{font-size:clamp(44px,5vw,68px)}.inner-page .final-cta{padding-block:50px}.inner-page h2{line-height:1.15}.room-description,.room-copy>p{font-size:16px}.room-tabs button{font-size:14px}.footer-bottom{font-size:13px}.footer-main p{font-size:16px}.footer-links a{font-size:14px;min-height:44px}.photo-close{font-size:15px}.photo-dialog{margin:auto}.photo-dialog img{display:block}.inner-page :focus-visible{outline:3px solid #9b542e;outline-offset:4px}
@media(max-width:1000px){.page-hero{gap:32px}.info-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card{padding:26px}.split-copy,.story-copy{gap:30px}.cabin-hero{gap:32px}.cabin-details-grid{gap:36px}}
@media(max-width:620px){.page-hero{grid-template-columns:1fr;gap:28px;padding:5px 0 34px}.page-hero h1,.cabin-intro h1{font-size:44px}.page-lead{font-size:17px;margin-top:20px}.page-hero img{aspect-ratio:1.4;border-top-right-radius:44px}.page-section{padding-block:34px}.info-grid,.blog-grid,.room-card-grid,.split-copy,.story-copy,.contact-grid{grid-template-columns:minmax(0,1fr);gap:24px}.info-card>div,.room-card>div,.blog-card{padding:24px}.room-card h2{font-size:32px}.soft-band,.comparison-section{padding-block:36px}.story-copy>.eyebrow{grid-column:auto}.story-copy{gap:18px}.contact-card{padding:24px}.contact-card h2,.faq-group h2{font-size:34px}.contact-primary{font-size:24px}.contact-email{font-size:16px}.faq-jump{gap:8px}.faq-jump a{font-size:14px}.faq-group{margin-bottom:36px}.faq-group summary{font-size:16px}.cabin-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cabin-gallery figcaption{font-size:18px}.breadcrumbs{font-size:13px}.booking-context{font-size:14px}.inner-page .eyebrow{font-size:11px}.inner-page .final-cta{padding-block:36px}.arrival-times{gap:30px}.page-hero h1 br{display:none}.nav-panel a{font-size:15px}.room-tabs button{white-space:normal;line-height:1.4}.footer-links a{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
