/* Bright Karuizawa resort direction */
:root{--paper:#fffefa;--ink:#3d4a40;--muted:#71766c;--line:#e1e1d7;--accent:#9b865f}
body{background:#fffefa}
.preview-banner{background:#f0f0e7;color:#69715f}
.preview-banner span{color:#717768}
.header{background:#fffefbee;border-color:#eeeee5;backdrop-filter:blur(15px)}
.brand-mark{color:#839471;border-color:#c4cdb6}
.brand-text{color:#53604a}
.brand-text small{color:#8a937f}
.nav-cta{background:#eeefe4;border-color:#e3e6d7;color:#53644d}
.hero{display:grid;grid-template-columns:44% 56%;height:auto;max-height:none;min-height:0;background:#faf9f4;color:var(--ink);overflow:visible}
.hero-photo{grid-column:2;grid-row:1;position:relative;width:100%;height:100%;min-height:610px;object-position:53% center}
.hero-content{grid-column:1;grid-row:1;position:relative;left:auto;right:auto;top:auto;max-width:none;padding:100px 35px 95px 13.6%;align-self:center}
.hero-content:before{content:'';display:block;width:38px;height:1px;background:#b3a180;margin-bottom:30px}
.hero .eyebrow{color:#8b927d;font-size:8px;letter-spacing:.19em;margin-bottom:25px;white-space:nowrap}
.hero h1{font-size:clamp(28px,3.05vw,47px);line-height:1.85;letter-spacing:.09em;text-shadow:none;color:#4a5749}
.hero-description{color:#7b8072;font-size:12px;line-height:2.25;margin:26px 0 35px;letter-spacing:.05em}
.hero .cream{background:#718364;color:#fff;border:0;font-size:10px;padding:17px 22px}
.hero .cream:hover{background:#607354}
.hero-foot{grid-column:1/-1;position:relative;left:auto;right:auto;bottom:auto;background:#faf9f4;color:#8a917f;padding:19px 6%;font-size:8px}
.eyebrow,.light{color:#8b947d}
.section-label>span{color:#879176}
.intro{background:#fffefa}
.intro-content>p,.section-heading>p,.service-list p,.area-copy>p:not(.eyebrow),.steps p{color:#727b6b}
.principles{border-color:#e5e7dc}
.principles span,.service-number,.steps span{color:#b2a285}
.principles h3{color:#607057}
.plans{background:#f4f3ec}
.plan{background:#fffefa;border-color:#e1e3d6;box-shadow:0 8px 28px #787b5805}
.featured{background:#fffefa;border-color:#b8b58d}
.plan-tag{background:#a39a77;color:#fffefa}
.plan-en{color:#9c9070}
.price>span{color:#657356}
.plan-detail{border-color:#e7e7da}
.plan .outline{border-color:#d2d6c4;color:#657258}
.dark{background:#627456;color:#fffefa}
.dark:hover{background:#53664a}
.outline:hover{background:#f2f3e9}
.notice{color:#7c826f}
.season-story{height:410px;display:grid;grid-template-columns:1fr 1fr;background:#f6f4ec;color:var(--ink)}
.season-story>img{grid-column:1;height:410px;object-position:center}
.season-story:after{display:none}
.season-story>div{position:relative;left:auto;right:auto;top:auto;grid-column:2;padding:65px 9%;align-self:center}
.season-story h2{font-size:clamp(21px,2.2vw,32px);line-height:1.9}
.season-story>div>p:last-child{color:#79816e;line-height:2.2;font-size:12px}
.season-story .eyebrow{color:#9e947b;font-size:9px}
.filter-bar button{border-color:#dfe3d4;color:#7a836e}
.filter-bar button.active{background:#819171;border-color:#819171;color:white}
.area{background:#f3f5ec}
.area-art{background:#edf0e4;border-color:#e0e5d4}
.contour{border-color:#d2dbc2}
.map-place{background:#fffefa;border-color:#e0e4d5;color:#687a58;box-shadow:0 5px 15px #7c8e5510}
.about{background:#f7f5ee;color:var(--ink);border-top:1px solid #efebdf;border-bottom:1px solid #efebdf}
.about>div>p:not(.eyebrow){color:#747b6b}
.about dl>div{border-color:#e3e2d5;font-size:11px;grid-template-columns:100px 1fr}
.about dt{color:#929681}
.about dd{color:#65725b}
.about dd a{text-decoration:underline;text-underline-offset:4px}
.contact{background:#f3f1e6}
.contact-copy>p:not(.eyebrow){color:#7b806f}
.contact-details{margin-top:30px;border-top:1px solid #dcdcc9;padding-top:25px}
.contact-details>span{display:block;font-size:10px;letter-spacing:.1em;color:#8b8e78}
.contact-phone{display:inline-block;margin:5px 0 15px;font-family:Georgia,serif;font-size:32px;letter-spacing:.025em;color:#697756;line-height:1.5}
.contact-phone small{font-size:18px;margin-left:18px}
address{font-style:normal;font-size:11px;color:#7b826e;line-height:2}
.form-notice{margin-top:25px;background:#ffffff66;border-color:#e0dfcd;padding:17px;font-size:10px}
.form-notice p{color:#838671}
input,select,textarea{background:#fffef9;border-color:#dcdcca;padding:14px}
input:focus,select:focus,textarea:focus{outline-color:#9aa787}
.contact .submit{background:#71815e}
.contact .submit:hover{background:#627450}
.privacy-note{color:#868975}
footer{background:#fffefa}
.footer-brand{color:#667459}
.footer-contact{grid-column:1/-1;justify-content:flex-start;align-items:center;gap:30px}
.footer-contact>a{font-family:Georgia,serif;font-size:18px;color:#788369}
.footer-contact address{font-size:10px}
dialog::backdrop{background:#5c674f66}
@media(min-width:1600px){.hero-content{left:auto;padding-left:max(13.6%,calc((100vw - 1340px)/2))}}
@media(max-width:1100px){.hero-photo{min-height:550px}.hero-content{padding-top:65px;padding-bottom:65px}.hero h1{font-size:clamp(25px,3.2vw,37px)}.hero .eyebrow{font-size:6px}.hero-description{font-size:10px}.hero .cream{padding:15px;font-size:9px;gap:16px}.season-story>div{padding:45px 9%}.season-story h2{font-size:24px}}
@media(max-width:800px){.header{background:#fffefa}.header nav{background:#fffefa}.header nav .nav-cta{background:#819171}.hero{grid-template-columns:1fr}.hero-content{grid-column:1;grid-row:1;padding:45px 7% 40px;left:auto;right:auto;top:auto}.hero-content:before{margin-bottom:20px;width:28px}.hero .eyebrow{font-size:8px;margin-bottom:20px;white-space:normal}.hero h1{font-size:clamp(31px,5vw,38px);line-height:1.75;letter-spacing:.09em}.hero-description{font-size:11px;line-height:2.1;margin:20px 0 24px}.hero .cream{font-size:10px;padding:16px 22px}.hero-photo{grid-column:1;grid-row:2;height:380px;min-height:0;object-position:center}.hero-foot{grid-column:1;grid-row:3;font-size:7px;padding:14px 7%}.hero-foot span:nth-child(2){display:block;font-size:6px;letter-spacing:0}.hero-foot>a{display:none}.season-story{height:auto;grid-template-columns:1fr}.season-story>img{grid-column:1;grid-row:1;height:290px}.season-story>div{grid-column:1;grid-row:2;padding:45px 7%;left:auto;right:auto;top:auto}.season-story h2{font-size:26px}.season-story>div>p:last-child{font-size:11px}.plan-grid{gap:43px}.about dl>div{grid-template-columns:85px 1fr}.contact-phone{font-size:31px}.footer-contact{align-items:flex-start;flex-direction:column;gap:8px}.footer-contact address{font-size:9px}}
@media(max-width:430px){.hero-photo{height:300px;object-position:57% center}.form-row{grid-template-columns:1fr;gap:0}.hero h1{font-size:31px}}
.season-image-credit{display:block;margin-top:18px;font-size:9px;letter-spacing:.06em;color:#8b947d}

.hero-service-label{font-size:11px;color:#7c866e;letter-spacing:.1em;margin:0 0 16px}.section-kicker{font-size:12px;color:#7c866e;margin:-10px 0 20px}.hero .eyebrow{margin-bottom:18px}
