:root{--ink:#29221d;--brown:#513a2b;--gold:#a17b42;--cream:#f7f3ea;--paper:#fffdf8;--sea:#546f78;--line:#ded5c5;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:300;line-height:1.95;letter-spacing:.055em}img{display:block;width:100%;height:auto}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:white;padding:.7rem 1rem}.header{height:78px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;transition:.3s;background:linear-gradient(#17100cb8,transparent);color:#fff}.header.scrolled,.subpage .header{background:#fffdf8ed;color:var(--ink);box-shadow:0 1px 0 #ded5c5}.nav{width:min(var(--max),calc(100% - 40px));margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;line-height:1.05}.brand small{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:.68rem;letter-spacing:.2em}.brand strong{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.5rem;letter-spacing:.22em;margin-top:.28rem}.links{display:flex;gap:1.6rem;align-items:center;font-size:.84rem}.links a{text-decoration:none}.links .reserve{padding:.65rem 1rem;border:1px solid currentColor}.menu-btn{display:none;border:0;background:none;color:inherit;font-size:1.8rem}.hero{min-height:100svh;position:relative;display:grid;place-items:center;color:#fff;text-align:center;background:url('sunrise.webp') center/cover}.hero:after,.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#18100b80,#18100b16 55%,#18100b60)}.hero-content,.page-hero .inner{position:relative;z-index:1}.eyebrow{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase}.hero h1{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-weight:400;font-size:clamp(2rem,5vw,4.15rem);line-height:1.55;letter-spacing:.12em;margin:1.2rem 0 2rem;text-shadow:0 2px 20px #0008}.hero p{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.05rem}.scroll{position:absolute;z-index:2;bottom:2rem;font-size:.7rem;letter-spacing:.25em}.section{padding:clamp(5rem,10vw,9rem) 20px}.wrap{width:min(var(--max),100%);margin:auto}.narrow{width:min(780px,100%);margin:auto}.section-title{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(1.9rem,4vw,3.1rem);font-weight:400;line-height:1.5;letter-spacing:.11em;margin:0 0 2rem}.section-title small{display:block;color:var(--gold);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:.7rem;letter-spacing:.28em;margin-bottom:.7rem}.lead{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(1.15rem,2vw,1.45rem);line-height:2}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,6rem);align-items:center}.feature-img{aspect-ratio:4/5;object-fit:cover}.button{display:inline-block;text-decoration:none;margin-top:1.4rem;padding:.85rem 1.4rem;background:var(--brown);color:#fff;font-size:.86rem;letter-spacing:.12em;border:1px solid var(--brown)}.button.ghost{background:transparent;color:var(--brown)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.card{border:1px solid var(--line);background:#fff;padding:1.7rem}.card img{aspect-ratio:4/3;object-fit:cover;margin-bottom:1.4rem}.card h3{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-weight:500;font-size:1.25rem;margin:.3rem 0}.band{background:var(--brown);color:#fff}.image-band{min-height:520px;background:url('beach.webp') center/cover;display:flex;align-items:end;padding:4rem 20px;color:#fff;position:relative}.image-band:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#1b1310b8)}.image-band .wrap{position:relative;z-index:1}.price{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:2rem}.price span{text-decoration:line-through;opacity:.65;font-size:1rem;margin-right:.5rem}.notice{border-left:2px solid var(--gold);padding-left:1rem}.page-hero{height:62svh;min-height:460px;position:relative;display:flex;align-items:end;padding:0 20px 5rem;background-position:center;background-size:cover;color:#fff}.page-hero h1{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(2.4rem,6vw,4.5rem);font-weight:400;letter-spacing:.13em;margin:.4rem 0}.room-hero{background-image:url('room.webp')}.retreat-hero{background-image:url('meditation.webp')}.history-hero{background-image:url('history-house.webp')}.story-hero{background-image:url('altar.webp')}.voices-hero{background-image:url('beach.webp')}.access-hero{background-image:url('harbor.webp')}.timeline{border-left:1px solid var(--gold);padding-left:2rem}.generation{position:relative;padding:0 0 3.5rem}.generation:before{content:"";position:absolute;left:-2.42rem;top:.8rem;width:.75rem;height:.75rem;border-radius:50%;background:var(--gold)}.generation h2{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-weight:500;margin:0}.generation .num{color:var(--gold);font-size:.75rem;letter-spacing:.2em}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:250px;gap:10px}.gallery img{height:100%;object-fit:cover}.gallery img:first-child{grid-row:span 2}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.video-grid iframe{width:100%;height:590px;border:0;background:#eee}.quote{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.25rem;border-top:1px solid var(--line);padding:2rem 0}.facts{display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--line)}.facts dt,.facts dd{margin:0;padding:1.1rem 0;border-bottom:1px solid var(--line)}.facts dt{font-weight:500}.footer{background:#211a16;color:#fff;padding:5rem 20px 2rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem}.footer-name small{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:.8rem;letter-spacing:.28em;opacity:.75}.footer-name strong{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:2.4rem;letter-spacing:.2em;margin-top:.5rem}.footer a{color:#fff}.copyright{margin-top:4rem;font-size:.7rem;opacity:.6}.mobile-cta{display:none}
@media(max-width:900px){.header{height:66px}.nav{width:calc(100% - 28px)}.menu-btn{display:block}.links{position:fixed;inset:66px 0 auto;background:#fffdf8;color:var(--ink);padding:1.4rem;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 8px 20px #0001}.links.open{display:flex}.links a{padding:.8rem}.grid-2,.cards,.footer-grid{grid-template-columns:1fr}.grid-2{gap:2.5rem}.feature-img{aspect-ratio:4/3}.cards{gap:1rem}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery img:first-child{grid-row:auto;grid-column:span 2}.video-grid{grid-template-columns:1fr}.video-grid iframe{height:600px}.facts{grid-template-columns:1fr}.facts dt{padding-bottom:0;border:0}.facts dd{padding-top:.3rem}.mobile-cta{display:block;position:fixed;z-index:45;right:1rem;bottom:1rem;background:var(--brown);color:#fff;text-decoration:none;padding:.85rem 1.1rem;box-shadow:0 5px 20px #0005}.section{padding:4.5rem 20px}.page-hero{min-height:400px}.hero h1{font-size:2.2rem}.hero h1 span{display:block}.footer{padding-bottom:6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 松沢屋・漆黒と金のブランドトーン */
:root{--ink:#f2e9da;--brown:#c9933f;--gold:#d39a3e;--cream:#100603;--paper:#100603;--sea:#8a5b2f;--line:#4a2a16}
body{background:#100603;color:#e9dfd0;background-image:radial-gradient(circle at 70% 10%,#35170d55,transparent 38%),linear-gradient(180deg,#100603,#160904 55%,#0d0402)}
.header{height:96px;background:linear-gradient(180deg,#100603fa,#100603a8 75%,transparent);border-bottom:1px solid transparent}
.header.scrolled,.subpage .header{background:#100603f5;color:#eadfce;border-bottom-color:#472811;box-shadow:none}
.brand{color:var(--gold)}.brand small{font-size:.7rem;font-style:italic}.brand strong{font-size:1.7rem}
.links{color:#dfd2c1}.links a{position:relative}.links a:not(.reserve):after{content:"";position:absolute;left:0;right:100%;bottom:-.35rem;height:1px;background:var(--gold);transition:.25s}.links a:hover:after{right:0}
.links .reserve,.button{background:var(--gold);color:#170906;border-color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-weight:600}
.button.ghost{background:transparent;color:var(--gold);border-color:#8d5f27}
.hero{place-items:end start;text-align:left;background-position:center;min-height:82svh}
.hero:after{background:linear-gradient(90deg,#0b0302c9 0%,#1006036e 36%,#10060312 70%,#08020175 100%),linear-gradient(0deg,#0b03029c,transparent 35%)}
.hero-content{width:min(var(--max),calc(100% - 40px));margin:0 auto 10vh}
.hero h1{font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.45;letter-spacing:.07em;color:#fff8ed;text-shadow:0 3px 30px #000}
.hero h1 span{display:block;white-space:nowrap}
.hero h1 span:last-child{color:var(--gold)}
.hero p{font-size:1.18rem}.eyebrow{color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-style:italic}
.scroll{left:50%;transform:translateX(-50%);color:var(--gold)}
.section{border-top:1px solid #2c160c}
.section-title{color:#f4eadc}.section-title small{color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-style:italic}
.lead{color:#fff4e3}.feature-img{border:1px solid #6f3f1c;filter:saturate(.88) contrast(1.05);box-shadow:18px 18px 0 #1d0c06}.meal-img{aspect-ratio:auto;object-fit:contain;height:auto}
.band{background:#170904;color:#e9dfd0}
.cards{gap:1.8rem}.card,.card[style]{background:#180a05!important;color:#eadfce!important;border:1px solid #4b2814;padding:1.8rem}.card h3{color:#fff2dc}.card a{color:var(--gold)}
.image-band:after{background:linear-gradient(90deg,#100603e8,#10060347),linear-gradient(0deg,#100603,transparent 45%)}
.page-hero{height:72svh;border-bottom:1px solid #573016}.page-hero:after{background:linear-gradient(90deg,#0b0302e8,#1006034a),linear-gradient(0deg,#100603,transparent 50%)}
.page-hero h1{color:#fff5e5}.page-hero p{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.1rem}
.timeline{border-left-color:#7d4e20}.generation:before{background:var(--gold);box-shadow:0 0 0 7px #d39a3e18}.generation .num{color:var(--gold)}.generation h2{color:#fff3df}
.facts{border-top-color:#4a2a16}.facts dt,.facts dd{border-bottom-color:#4a2a16}.facts dt{color:var(--gold)}
.notice{border-left-color:var(--gold);color:#d7c5af}
.quote{border-top-color:#593119;color:#fff0d8}
.footer{background:#090201;border-top:1px solid #543018}.footer-name small{color:#c7ab80}.footer-name strong{color:var(--gold);font-size:2.8rem}
.mobile-cta{background:var(--gold);color:#150704;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-weight:600}
.price{color:var(--gold)}.price span{color:#b8a48d}
.retreat-title>span{display:block;white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(1rem,1.7vw,1.35rem);font-weight:300;letter-spacing:.14em;line-height:1.8;margin-bottom:.25rem}
.retreat-copy{font-size:clamp(1rem,1.42vw,1.18rem);letter-spacing:.02em}
.retreat-copy>span{display:block;white-space:nowrap}
.message-title>span{display:block;white-space:nowrap;font-size:clamp(1rem,3vw,2.25rem);letter-spacing:.035em}
.accent-text{color:var(--gold)}
.deity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:3.5rem;background:var(--line);border:1px solid var(--line)}
.deity-grid div{background:var(--paper);padding:1.4rem .7rem;text-align:center}.deity-grid strong,.deity-grid small{display:block}.deity-grid strong{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}.deity-grid small{margin-top:.3rem;color:var(--gold);font-size:.72rem;letter-spacing:.12em}
.story-cards{align-items:stretch}.story-cards .card{height:100%}.story-cards h3{min-height:3.2em}.featured-plan{display:grid;grid-template-columns:1.5fr .8fr;gap:clamp(2rem,6vw,5rem);align-items:center;border:1px solid var(--gold);padding:clamp(1.6rem,4vw,3rem);margin-bottom:4rem;background:linear-gradient(135deg,#241006,#100502)}.featured-plan h3{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:400;line-height:1.5;margin:.7rem 0 1rem;color:#fff2dc}.recommend-label{color:var(--gold);font-size:.8rem;letter-spacing:.18em}.featured-price{border-left:1px solid #73461f;padding-left:2rem}.featured-price small,.featured-price strong,.featured-price span{display:block}.featured-price small{text-decoration:line-through;color:#b8a48d}.featured-price strong{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:2.2rem;color:var(--gold);margin:.3rem 0}.plans-subtitle{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.6rem;font-weight:400;color:#fff2dc;margin:0 0 1.5rem}.stay-prices{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.stay-prices .card{height:100%}.rate-main{margin-top:1.4rem}.rate-main strong{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.7rem;color:var(--gold)}.rate-list{padding-left:1.2rem;margin:1rem 0 0}.rate-note{color:#cdbba5}.plan-note{margin-top:2rem}
.lang-switch{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:.75rem;letter-spacing:.12em;border-left:1px solid currentColor;padding-left:1rem}
.links .nav-recommended{color:var(--gold);font-weight:600}
.reserve-hero{background-image:url('sunrise.webp')}
.stay-prices .card{display:flex;flex-direction:column}.plan-link{display:inline-block;margin-top:auto;padding-top:1.4rem;color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-weight:600;text-underline-offset:.35em}
.reservation-wrap{width:min(800px,100%);margin:auto}.reservation-form{display:grid;gap:1.4rem;margin-top:2.5rem;padding:clamp(1.4rem,4vw,3rem);border:1px solid #4b2814;background:#180a05}.reservation-form label{display:grid;gap:.45rem;font-weight:400}.reservation-form label>span:first-of-type{color:var(--gold);font-size:.75rem;margin-left:.5rem}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;border:1px solid #6b4227;background:#0e0502;color:#fff4e3;padding:.9rem;font:inherit;border-radius:0}.reservation-form select{appearance:auto}.reservation-form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.reservation-form .consent{display:flex;align-items:flex-start;gap:.7rem;font-weight:300}.reservation-form .consent input{width:1.1rem;height:1.1rem;margin-top:.5rem}.reservation-form .consent span{color:inherit;font-size:.9rem;margin:0}.form-submit{justify-self:start;cursor:pointer}.form-honey{position:absolute!important;left:-9999px!important}.thanks-page{min-height:100svh;display:grid;place-items:center;padding:2rem;text-align:center;background:linear-gradient(#100603bb,#100603e8),url('sunrise.webp') center/cover}.thanks-page h1{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(2rem,6vw,4rem);font-weight:400;color:#fff2dc}.thanks-page small{color:var(--gold);letter-spacing:.25em}
.reservation-form [hidden]{display:none!important}.price-preview{padding:clamp(1.1rem,3vw,1.5rem);border-left:3px solid var(--gold);background:#302015}.price-preview-title{color:var(--gold);font-size:.82rem;letter-spacing:.08em}.price-preview-total{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin:.4rem 0}.price-preview-total strong{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(1.5rem,5vw,1.9rem);font-weight:400;color:#fff6e8}.price-preview p{margin:.4rem 0 0;color:#e0d1bf;font-size:.85rem;line-height:1.7}.reservation-form .price-preview input[type="hidden"]{display:none}
@media(max-width:900px){.header{height:72px}.links{inset:72px 0 auto;background:#100603f8;color:#eadfce;border-bottom:1px solid #4a2a16}.hero{min-height:78svh}.hero-content{width:calc(100% - 24px);margin-bottom:13vh}.hero h1{font-size:clamp(1.08rem,4.8vw,1.55rem);letter-spacing:.025em}.feature-img{box-shadow:10px 10px 0 #1d0c06}.retreat-title>span{font-size:.95rem;letter-spacing:.06em}.retreat-copy{font-size:.97rem;letter-spacing:0}.retreat-copy>span{white-space:normal}.retreat-copy>span:last-child{word-break:keep-all}.message-title>span{font-size:clamp(.88rem,4vw,1.18rem);letter-spacing:0}.deity-grid{grid-template-columns:repeat(2,1fr)}.deity-grid div:last-child{grid-column:span 2}.lang-switch{border-left:0;padding-left:.8rem}.story-cards h3{min-height:0}.featured-plan{grid-template-columns:1fr}.featured-price{border-left:0;border-top:1px solid #73461f;padding:1.5rem 0 0}.stay-prices{grid-template-columns:1fr}}
@media(max-width:900px){.links>.lang-switch{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-top:1rem;padding:1.15rem .8rem .35rem;border-top:1px solid #70451f;font-size:.86rem;letter-spacing:.08em}.links>.lang-switch a{display:inline-flex;align-items:center;min-height:44px;padding:.45rem .65rem;text-decoration:underline;text-underline-offset:.28em}.links>.lang-switch strong{display:inline-flex;align-items:center;min-height:44px;padding:.45rem .65rem;color:var(--gold)}.mobile-cta{left:1rem;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));padding:1rem 1.2rem;text-align:center;line-height:1.25}}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}.reservation-form{padding:1.2rem}.form-submit{width:100%;text-align:center}}
.about-title>span{display:block;white-space:nowrap;font-size:clamp(1rem,3.3vw,2.75rem);letter-spacing:.06em}
@media(max-width:640px){.about-title>span{font-size:clamp(.95rem,4.8vw,1.3rem);letter-spacing:.02em}}
.retreat-audience-grid{align-items:start}.retreat-checks{list-style:none;margin:0;padding:0;border-top:1px solid #69401f}.retreat-checks li{position:relative;padding:1rem 0 1rem 2rem;border-bottom:1px solid #69401f;color:#fff4e3}.retreat-checks li:before{content:"";position:absolute;left:.25rem;top:1.7rem;width:.55rem;height:.55rem;border:1px solid var(--gold);transform:rotate(45deg)}.retreat-benefits .section-title{margin-bottom:3rem}.benefit-cards{align-items:stretch}.benefit-cards .card{height:100%}.benefit-number{display:block;color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:.78rem;letter-spacing:.2em;margin-bottom:1rem}.retreat-after{background:linear-gradient(90deg,#100603e8,#10060370),url('sunrise.webp') center/cover;background-attachment:fixed}.retreat-after .narrow{padding:clamp(1.5rem,5vw,3.5rem);background:#100603d9;border:1px solid #65401f}.retreat-after-title>span{display:block}.retreat-after p{color:#e5d7c4}.retreat-after p:last-child{margin-bottom:0}
@media(max-width:900px){.retreat-after{background-attachment:scroll}.retreat-after-title>span{font-size:clamp(1.25rem,5.2vw,2rem);letter-spacing:.04em}}
.retreat-after-title>span{display:block;white-space:nowrap;font-size:clamp(1.35rem,3.4vw,2.65rem);letter-spacing:.04em}
@media(max-width:900px){.retreat-after-title>span{font-size:clamp(1rem,4vw,1.45rem);letter-spacing:0}}
.about-image{object-position:72% center}
.entity-summary{border-left:2px solid var(--gold);padding-left:1.2rem}.entity-summary strong{display:block;color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:.85rem;letter-spacing:.16em;margin-bottom:.35rem}.history-timeline{max-width:980px;margin:auto}.generation h3{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.5rem;font-weight:500;color:#fff3df;margin:.2rem 0}.generation-with-photo{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:clamp(1.5rem,5vw,4rem);align-items:start}.generation figure{margin:0}.generation figure img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid #6f3f1c;filter:sepia(.08) saturate(.82)}.generation figcaption{font-size:.75rem;color:#bfa98c;margin-top:.55rem}.generation-photos{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.faq-hero{background-image:url('hall.webp')}.faq-list{border-top:1px solid #57351f}.faq-list details{border-bottom:1px solid #57351f;padding:0}.faq-list summary{cursor:pointer;list-style:none;position:relative;padding:1.4rem 3rem 1.4rem 0;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.08rem;color:#fff2dc}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"＋";position:absolute;right:.5rem;color:var(--gold)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:0;padding:0 2.5rem 1.5rem 0;color:#dfcfba}.faq-list a{color:var(--gold)}
@media(max-width:640px){.generation-with-photo{grid-template-columns:1fr}.generation-with-photo>figure{width:min(230px,75%)}.generation-photos{width:100%}.generation h3{font-size:1.25rem}}
.young-okami-section{background:linear-gradient(135deg,#190a05,#0e0402)}.young-okami-vision{margin:1.6rem 0!important;color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.8}.young-okami-photo{margin:0}.young-okami-photo img{aspect-ratio:4/3;object-fit:cover;object-position:63% center;border:1px solid #6f3f1c;box-shadow:18px 18px 0 #1d0c06}.young-okami-photo figcaption{margin-top:.8rem;color:#bfa98c;font-size:.75rem}
.campaign-section{padding:clamp(1.5rem,3vw,2.5rem) 20px;border-top:1px solid #3d210f;background:#0d0402}.campaign-carousel{position:relative;width:min(1040px,100%);overflow:hidden;border:1px solid #6f431e;background:#170804;box-shadow:0 18px 50px #0005}.campaign-slide{display:grid;grid-template-columns:1.05fr 1fr;min-height:330px;animation:campaign-fade .65s ease}.campaign-slide[hidden]{display:none}.campaign-slide>img{height:100%;min-height:330px;object-fit:cover;filter:saturate(.85) contrast(1.06)}.campaign-copy{align-self:center;padding:clamp(1.4rem,3vw,2.5rem)}.campaign-copy h2{margin:.45rem 0 .75rem;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(1.8rem,2.7vw,2.35rem);font-weight:400;line-height:1.4;letter-spacing:.05em;color:#fff4e4}.campaign-retreat-title span,.campaign-retreat-title strong{display:block;white-space:nowrap}.campaign-retreat-title span{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(1rem,1.7vw,1.35rem);font-weight:300;letter-spacing:.08em}.campaign-retreat-title strong{font-weight:400}.campaign-event-title{white-space:nowrap}.campaign-label{display:inline-block;margin:.55rem 0 0;padding:.2rem .55rem;border:1px solid var(--gold);color:var(--gold);font-size:.68rem;letter-spacing:.1em}.campaign-copy .eyebrow{font-size:.68rem}.campaign-copy>p{margin:.55rem 0;line-height:1.7}.campaign-collab{margin:-.2rem 0 .8rem!important;color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(1rem,1.7vw,1.3rem);letter-spacing:.07em}.campaign-meta{color:#d7c5af;font-size:.8rem}.campaign-price{color:#d7c5af;font-size:.85rem}.campaign-price strong{margin-left:.35rem;color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.45rem}.campaign-price small{display:inline;margin-left:.35rem}.campaign-copy .button{margin-top:.75rem;padding:.65rem 1rem}.campaign-controls{position:absolute;z-index:2;right:1rem;bottom:1rem;display:flex;gap:.55rem}.campaign-dot{width:30px;height:3px;padding:0;border:0;background:#fff5;cursor:pointer;transition:.25s}.campaign-dot.is-active{background:var(--gold);width:48px}.campaign-dot:focus-visible{outline:2px solid #fff;outline-offset:4px}@keyframes campaign-fade{from{opacity:.2;transform:translateX(12px)}to{opacity:1;transform:none}}
.campaign-slide-link{cursor:pointer}
.campaign-arrow{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#f2c779;font-family:serif;font-size:2rem;line-height:1;cursor:pointer;transform:translateY(-50%);transition:.2s}.campaign-arrow:hover{background:transparent;color:#fff0d5}.campaign-arrow:focus-visible{outline:2px solid #fff;outline-offset:3px}.campaign-prev{left:1rem}.campaign-next{right:1rem}
.campaign-arrow{font-size:0!important}.campaign-arrow::before{content:"";display:block;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor}.campaign-prev::before{transform:rotate(-135deg)}.campaign-next::before{transform:rotate(45deg)}
@media(max-width:900px){.campaign-slide{grid-template-columns:1fr;min-height:0}.campaign-slide>img{min-height:0;height:clamp(180px,52vw,290px)}.campaign-copy{padding:1.35rem 1.15rem 2.7rem}.campaign-copy h2{font-size:clamp(1.45rem,6.8vw,2rem);letter-spacing:.02em}.campaign-retreat-title span{font-size:clamp(.86rem,4vw,1.05rem);letter-spacing:.02em}.campaign-event-title{font-size:clamp(1.4rem,7vw,2rem)}.campaign-copy>p:not(.campaign-label):not(.campaign-collab){font-size:.82rem}.campaign-price small{display:block;margin:.1rem 0 0}.campaign-controls{right:.8rem;bottom:.8rem}.campaign-arrow{top:clamp(90px,26vw,145px);width:38px;height:38px;font-size:1.65rem}.campaign-prev{left:.65rem}.campaign-next{right:.65rem}}
@media(prefers-reduced-motion:reduce){.campaign-slide{animation:none}.campaign-dot{transition:none}}
.amenities-section{background:linear-gradient(180deg,#160904,#0f0502)}.amenities-intro{margin:-1rem 0 3rem;color:#d8c8b4}.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid #5f381b;background:#5f381b}.amenity{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;text-align:center;background:#160904;color:#fff0dc;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}.amenity-icon{display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:#211006;border:1px solid #70451f}.amenity-icon svg{width:55px;height:55px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.amenity>span:last-child{line-height:1.5}.amenity small{display:block;color:#bda98d;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:.7rem;margin-top:.2rem}
@media(max-width:900px){.amenities-grid{grid-template-columns:repeat(2,1fr)}.amenity{min-height:165px}.amenity-icon{width:78px;height:78px}.amenity-icon svg{width:47px;height:47px}}

/* English edition */
.history-list{display:grid;gap:4rem;margin-top:3rem}.history-row{display:grid;grid-template-columns:minmax(240px,38%) 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.history-row:nth-child(even) img{order:2}.history-row img{width:100%;aspect-ratio:4/5;object-fit:cover}.history-row h2{color:var(--gold);font-size:clamp(1.35rem,2.3vw,2rem);margin:.25rem 0}.history-row h3{font-weight:400;font-size:1.05rem;letter-spacing:.08em;margin:0 0 1.5rem}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.plan-card{border:1px solid #6a4222;padding:clamp(1.25rem,3vw,2.5rem);background:#160904}.plan-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1.5rem}.plan-card h2{font-size:clamp(1.4rem,2vw,2rem)}.plan-card h3{margin-top:1.75rem;color:var(--gold)}.plan-card .price{font-size:1.1rem}.plan-card .price strong{font-size:1.65rem}.meal-full{object-fit:contain;background:#0d0502}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid #5f381b;background:#5f381b;margin:2.5rem 0}.amenities>span{display:grid;place-items:center;min-height:125px;padding:1rem;text-align:center;background:#160904;color:#fff0dc;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}.amenities>span::before{content:'◇';display:block;color:var(--gold);font-size:1.5rem;margin-bottom:.5rem}.amenities small{color:#bda98d}.faq-list{max-width:900px;margin:auto}.faq-list details{border-top:1px solid #6a4222;padding:1.25rem 0}.faq-list details:last-child{border-bottom:1px solid #6a4222}.faq-list summary{cursor:pointer;color:#fff0dc;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1.1rem}.faq-list p{padding:0 1.5rem}.subpage[lang="en"] .nav{font-size:.82rem}.subpage[lang="en"] .section-title{line-height:1.35}
@media(max-width:800px){.history-row,.plan-grid{grid-template-columns:1fr}.history-row:nth-child(even) img{order:0}.history-row{gap:1.5rem}.amenities{grid-template-columns:repeat(2,1fr)}.subpage[lang="en"] .page-hero h1{font-size:clamp(2rem,10vw,3.5rem)}}

/* Refined English typography and spacing */
html[lang="en"] body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.72;letter-spacing:.015em}
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3,html[lang="en"] .brand,html[lang="en"] .button,html[lang="en"] .price{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif}
html[lang="en"] .page-hero{height:auto;min-height:500px;padding-bottom:4rem}
html[lang="en"] .page-hero h1{max-width:980px;font-size:clamp(2.25rem,4.1vw,3.85rem);line-height:1.2;letter-spacing:.035em;margin:.65rem 0 1.1rem;text-wrap:balance}
html[lang="en"] .page-hero p{max-width:860px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(.98rem,1.3vw,1.08rem);line-height:1.7;letter-spacing:.01em}
html[lang="en"] .section{padding-block:clamp(4rem,7vw,6.5rem)}
html[lang="en"] .section-title{font-size:clamp(1.85rem,3vw,2.65rem);line-height:1.25;letter-spacing:.025em;margin-bottom:1.5rem;text-wrap:balance}
html[lang="en"] .lead{font-size:clamp(1.06rem,1.55vw,1.28rem);line-height:1.72}
html[lang="en"] .feature-img{border:0;box-shadow:none}
html[lang="en"] .meal-full{aspect-ratio:auto;object-fit:contain;background:transparent}
html[lang="en"] .history-list{gap:clamp(3rem,6vw,5rem)}
html[lang="en"] .history-row h2,html[lang="en"] .plan-card h2{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;line-height:1.35;letter-spacing:.015em}
html[lang="en"] .plan-card{border-color:#553019;padding:clamp(1.4rem,2.5vw,2.1rem)}
html[lang="en"] .plan-card img{border:0;box-shadow:none;margin-bottom:1.4rem}
.rate-options{display:grid;gap:1rem;margin-top:1.6rem}.rate-option{padding:1.1rem 0;border-top:1px solid #5c351c}.rate-option h3{margin:0 0 .6rem!important;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;font-size:.98rem!important;line-height:1.45}.rate-line{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:.2rem 0 .75rem}.rate-line span{font-size:.82rem;color:#cdbba5}.rate-line strong{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;color:var(--gold);font-size:1.65rem}.child-rates{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1rem;font-size:.82rem;color:#d8c8b4}.rate-tax{font-size:.78rem;color:#bda98d}
html[lang="en"] .amenities-grid{margin-top:2.2rem}
html[lang="en"] .amenity{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif}
html[lang="en"] .video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
html[lang="en"] .video-grid iframe{height:590px;border:1px solid #4a2a16;background:#110603}
.map-actions{display:flex;flex-wrap:wrap;gap:.8rem}.map-actions .button{margin-top:1.1rem}
@media(max-width:900px){html[lang="en"] .page-hero{min-height:400px;padding-bottom:2.8rem}html[lang="en"] .page-hero h1{font-size:clamp(1.85rem,8vw,2.8rem);line-height:1.18}html[lang="en"] .video-grid{grid-template-columns:1fr 1fr}.child-rates{grid-template-columns:1fr}}
@media(max-width:640px){html[lang="en"] .page-hero h1{font-size:clamp(1.65rem,7.8vw,2.25rem)}html[lang="en"] .video-grid{grid-template-columns:1fr}html[lang="en"] .video-grid iframe{height:610px}.rate-line{align-items:flex-start;flex-direction:column;gap:.2rem}}
.form-guidance{margin:.1rem 0;padding:1rem 1.15rem;border-left:2px solid var(--gold);background:#120703;color:#d9c8b2;font-size:.86rem;line-height:1.65}
.generation-role{color:var(--gold);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:1rem;letter-spacing:.08em;margin:.45rem 0 1.25rem}.room-overview{aspect-ratio:3/2;object-position:center}
.story-window{aspect-ratio:3/2;object-fit:cover}.history-row .young-okami-photo{aspect-ratio:3/2;object-fit:cover;object-position:center}

/* Form alignment and page-hero clearance */
.stay-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.guest-grid{align-items:start}
.optional-mark{color:#a99479!important;font-size:.75rem!important;margin-left:.5rem}
html[lang="en"] .page-hero{align-items:center;min-height:clamp(560px,72svh,720px);padding:calc(78px + 3rem) 20px 4rem}
html[lang="en"] .page-hero .inner{width:min(var(--max),100%)}
@media(max-width:900px){.stay-grid{grid-template-columns:1fr 1fr}html[lang="en"] .page-hero{min-height:500px;padding:calc(66px + 2.5rem) 20px 3rem}.stay-grid label:last-child{grid-column:1/-1}}
@media(max-width:640px){.stay-grid{grid-template-columns:1fr}.stay-grid label:last-child{grid-column:auto}}

/* The kamidana appears softly behind the Himorogi title. */
.story-hero-ethereal{background-position:center 42%}
.story-hero-ethereal:after{background:linear-gradient(90deg,rgba(18,7,3,.9) 0%,rgba(18,7,3,.62) 48%,rgba(18,7,3,.38) 100%)}
.story-hero-ethereal .inner{text-shadow:0 2px 22px rgba(0,0,0,.72)}

/* English home and retreat mobile refinements */
html[lang="en"] .hero .eyebrow{display:inline-block;padding:.38rem .62rem;color:#fff0d5;background:rgba(17,6,3,.58);text-shadow:0 2px 12px #000;border-left:2px solid var(--gold)}
.home-retreat-brand{margin:0 0 .8rem;color:#d7bd8c;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}
.home-retreat-title small{color:#d7bd8c}
.home-retreat-title .home-retreat-kicker,.home-retreat-title .home-retreat-name{display:block}
.home-retreat-title .home-retreat-kicker{margin:.65rem 0 .55rem;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:.58em;font-weight:300;letter-spacing:.08em;line-height:1.45}
.home-retreat-title .home-retreat-name{font-size:.95em;letter-spacing:.09em;line-height:1.25;overflow-wrap:anywhere}
.retreat-intro{align-items:start}
.retreat-intro .section-title{font-size:clamp(1.75rem,2.7vw,2.45rem)}
.stay-home-title{max-width:980px}
.retreat-reasons{margin:1.2rem 0 2.6rem;padding-left:1.3rem}
.retreat-reasons li{margin:.75rem 0;line-height:1.72}
.retreat-takeaways{margin-top:2.7rem;padding:1.5rem clamp(1.1rem,3vw,2rem);border-left:2px solid var(--gold);background:rgba(255,244,227,.035)}
.retreat-takeaways h3{margin:0 0 1.25rem;color:#fff2dc;font-size:clamp(1.3rem,2vw,1.7rem)}
.retreat-takeaways p{margin:.45rem 0;line-height:1.72;color:#e7dac8}
.child-rates:empty{display:none}
@media(max-width:640px){
  .header .brand{display:flex;min-height:52px;flex-direction:column;justify-content:center}
  .header .brand small{margin:0;font-size:.66rem;line-height:1.1}
  .header .brand strong{margin-top:.3rem;font-size:1.55rem;line-height:1;white-space:nowrap}
  html[lang="en"] .header .brand small{font-size:.63rem;letter-spacing:.18em}
  html[lang="en"] .header .brand strong{font-size:.95rem;letter-spacing:.12em}
  html[lang="en"] .hero .eyebrow{font-size:.67rem;line-height:1.45;letter-spacing:.13em}
  .home-retreat{gap:2.3rem}
  .home-retreat-title{font-size:clamp(1.55rem,8vw,2.05rem)!important;line-height:1.2!important}
  .home-retreat-title .home-retreat-kicker{margin:.75rem 0 .7rem;font-size:.58em;line-height:1.45}
  .home-retreat-title .home-retreat-name{font-size:.82em;letter-spacing:.06em}
  .retreat-intro .section-title{font-size:clamp(1.48rem,7vw,1.95rem);line-height:1.3}
  .stay-home-title{font-size:clamp(1.55rem,7.4vw,2rem)!important;line-height:1.32!important}
  .retreat-intro .lead,.retreat-intro li,.retreat-takeaways p{font-size:.94rem;line-height:1.7}
  .retreat-takeaways{margin-top:2.2rem;padding:1.25rem 1rem}
  .retreat-takeaways h3{font-size:1.3rem}
}

/* Defer below-the-fold rendering without delaying the first view. */
main>.section,.footer{content-visibility:auto;contain-intrinsic-size:auto 760px}

/* Give the signature plan a clear but refined visual priority. */
.recommend-label{display:inline-block;padding:.45rem .8rem;border:1px solid var(--gold);background:var(--gold);color:#160704;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(.82rem,1.25vw,1rem);font-weight:600;line-height:1.3;letter-spacing:.14em;box-shadow:0 5px 18px #0005}

/* Keep the English home hero inside narrow mobile viewports. */
@media(max-width:640px){
  html,body{max-width:100%;overflow-x:clip}
  .hero{background-image:url('sunrise-mobile.webp')}
  html[lang="en"] .hero-content{min-width:0;max-width:calc(100% - 24px)}
  html[lang="en"] .hero h1{max-width:100%;font-size:clamp(1rem,4.5vw,1.3rem);line-height:1.45;letter-spacing:.01em}
  html[lang="en"] .hero h1 span{white-space:normal;overflow-wrap:break-word}
  html[lang="en"] .hero p{max-width:100%;font-size:1rem;line-height:1.75;letter-spacing:.01em}
}

/* Horizontal guest-video gallery. */
.video-grid{display:flex;grid-template-columns:none;gap:1rem;overflow-x:auto;padding:.2rem 0 1.1rem;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.video-grid iframe,html[lang="en"] .video-grid iframe{flex:0 0 calc((100% - 2rem)/3);width:calc((100% - 2rem)/3);scroll-snap-align:start}

/* Keep the sunrise clear and place Japanese copy over darker areas on mobile. */
@media(max-width:640px){
  html[lang="ja"] .hero-content{position:absolute;inset:0;width:auto;margin:0;padding:0 12px}
  html[lang="ja"] .hero-content .eyebrow{position:absolute;top:18%;left:12px;margin:0}
  html[lang="ja"] .hero-content h1{position:absolute;top:63%;left:12px;right:12px;margin:0;text-align:left}
  html[lang="ja"] .hero-content p{position:absolute;top:78%;left:12px;right:12px;margin:0;text-align:left}
  .video-grid iframe,html[lang="en"] .video-grid iframe{flex-basis:min(82vw,390px);width:min(82vw,390px)}
}

/* Let the sunrise remain the focal point on every language and viewport. */
.hero-content,html[lang="en"] .hero-content{position:absolute;inset:0;width:auto;max-width:none;margin:0;padding-inline:max(24px,calc((100vw - var(--max))/2));text-align:left}
.hero-content .eyebrow,html[lang="en"] .hero-content .eyebrow{position:absolute;top:18%;left:max(24px,calc((100vw - var(--max))/2));margin:0}
.hero-content h1,html[lang="en"] .hero-content h1{position:absolute;top:62%;left:max(24px,calc((100vw - var(--max))/2));right:max(24px,calc((100vw - var(--max))/2));max-width:1050px;margin:0;font-size:clamp(1.6rem,3.3vw,3.2rem);line-height:1.45;text-align:left}
.hero-content p,html[lang="en"] .hero-content p{position:absolute;top:88%;left:max(24px,calc((100vw - var(--max))/2));right:max(24px,calc((100vw - var(--max))/2));max-width:1050px;margin:0;text-align:left}

@media(max-width:900px){
  .hero-content h1,html[lang="en"] .hero-content h1{top:61%;font-size:clamp(1.25rem,4vw,2.15rem)}
  .hero-content p,html[lang="en"] .hero-content p{top:85%;font-size:1rem}
}

@media(max-width:640px){
  .hero-content,html[lang="en"] .hero-content{inset:0;width:auto;max-width:none;margin:0;padding:0 12px}
  .hero-content .eyebrow,html[lang="en"] .hero-content .eyebrow{top:18%;left:12px}
  .hero-content h1,html[lang="en"] .hero-content h1{top:63%;left:12px;right:12px;max-width:none;font-size:clamp(1.08rem,4.8vw,1.55rem);line-height:1.55}
  .hero-content p,html[lang="en"] .hero-content p{top:84%;left:12px;right:12px;max-width:none;font-size:1rem;line-height:1.75}
}

/* Defer off-screen layout and painting until content nears the viewport. */
.section,.image-band,.footer{content-visibility:auto;contain-intrinsic-size:auto 760px}

/* Cancellation policy: clear at the decision point, calm within the existing brand. */
.policy-confirmation{margin:1rem 0;padding:clamp(1.25rem,3vw,2rem);border:1px solid #654127;background:#170a06;color:#eadfce}
.policy-confirmation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}
.policy-confirmation-head small{display:block;margin-bottom:.35rem;color:var(--gold);font-size:.68rem;letter-spacing:.2em}
.policy-confirmation h3,.policy-confirmation h4{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-weight:500}
.policy-confirmation h3{margin:0;color:#fff5e8;font-size:1.4rem;letter-spacing:.06em}
.policy-confirmation h4{margin:0 0 .8rem;color:#fff5e8;font-size:1.12rem}
.policy-confirmation a,.consent a{color:#e2ad45;text-underline-offset:.2em}
.policy-prompt{margin:.5rem 0 0;color:#cdbba5;font-size:.9rem}
.policy-card[hidden],.policy-prompt[hidden]{display:none}
.policy-card dl{margin:0;border-top:1px solid #5d3b26}
.policy-card dl>div{display:grid;grid-template-columns:1fr auto;gap:1.5rem;padding:.68rem 0;border-bottom:1px solid #5d3b26}
.policy-card dt,.policy-card dd{margin:0}
.policy-card dd{color:#f1c46f;font-weight:600}
.footer-policy-link{width:min(var(--max),calc(100% - 40px));margin:2rem auto 0;font-size:.78rem}
@media(max-width:640px){.policy-confirmation-head{display:block}.policy-confirmation-head>a{display:inline-block;margin-top:.75rem}.policy-card dl>div{gap:.75rem}}

/* Keep the native date control tappable and legible on mobile browsers. */
.reservation-form input[type="date"]{min-width:0;min-height:3.35rem;max-width:100%;color-scheme:dark;touch-action:manipulation;cursor:pointer;-webkit-appearance:auto;appearance:auto}
.reservation-form input[type="date"]::-webkit-calendar-picker-indicator{width:1.45rem;height:1.45rem;opacity:1;cursor:pointer}
