/* MAD editorial system: sunset, ink, clear white surfaces. */
:root{--ink:#17263b;--muted:#5d6979;--line:#d4dbe3;--paper:#fff;--orange:#d36b3e;--gold:#a27e44;--radius:20px}
body,body.sunset-home,body.tour-page,body.villa-page{background:#f3f5f7;color:var(--ink);font-family:MadSans,'Apple SD Gothic Neo',sans-serif;font-size:18px;line-height:1.85;background-attachment:scroll}
body.sunset-home:not(.tdac-guide){background:radial-gradient(ellipse 90% 410px at 82% 0,#f4ab75aa,transparent),linear-gradient(180deg,#ffe4ca 0,#fff5ea 490px,#f3f5f7 770px);background-repeat:no-repeat}
.sunset-home:before{display:none}.wrap,.tour-page .wrap{max-width:1040px;padding:32px 28px 130px}
h1,h2,h3,h4{color:var(--ink);letter-spacing:-.045em;line-height:1.4}p{line-height:1.85}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%}
.brand{padding:4px 0 30px}.brand-links{max-width:720px;grid-template-columns:1.8fr repeat(3,1fr);gap:24px}.brand-links .brand-home{max-width:190px;justify-self:center}.brand-links .friend-link{border:1px solid #bfada080;background:#ffffff99;padding:15px 8px;border-radius:18px;box-shadow:0 4px 18px #29334405}.brand-links .social-picture{width:52px;max-width:52px;border-radius:15px}.brand-links .friend-label{font-size:15px;letter-spacing:-.02em;margin-top:10px;line-height:1.6}.brand .eyebrow{font-size:14px;letter-spacing:.12em;color:#62564b;margin-top:20px}.brand img{filter:none}.brand-links .friend-link:hover{background:#fff;border-color:#a27e44}
.sunset-home .intro{margin:16px 0 46px}.sunset-home .intro h1{font-size:clamp(25px,5.8vw,49px);font-weight:700;letter-spacing:-.065em;line-height:1.5;white-space:nowrap}.sunset-home .intro h1 span{color:#ad512f}.sunset-home .intro p{font-size:18px;color:#5d5d64;margin-top:16px}
.section-title{margin-bottom:12px;padding-bottom:15px;border-bottom:1px solid #bfa88966}.section-title h2{font-size:24px;color:var(--ink)}.section-title>span{font-size:12px;color:#786a59;letter-spacing:.14em}
.grid{gap:18px}.sunset-home .card,.sunset-home .card.primary,.sunset-home .card:nth-child(n+7){background:#fff;border:1.5px solid #c6cfd9;color:var(--ink);border-radius:20px;box-shadow:0 6px 20px #15253a05;min-height:250px;padding:22px 24px}.sunset-home .card:hover{background:#fff;border-color:#a27e44;box-shadow:0 12px 32px #142c4710;transform:translateY(-3px)}.sunset-home .card:after,.card .arrow{display:none}.sunset-home .card .card-number{font-size:21px;color:#9b7740;font-style:normal}.sunset-home .card .card-label{font-size:12px;color:#687280;letter-spacing:.07em}.sunset-home .card-meta{min-height:30px;gap:12px}.sunset-home .card small,.sunset-home .card:nth-child(n+7) small{color:var(--muted);font-size:15px}.sunset-home .card strong{font-size:24px;line-height:1.6;letter-spacing:-.05em}.sunset-home .card strong .menu-title-en{font-size:14px;color:#687280;font-weight:400}.sunset-home .menu-art{width:116px;height:116px;margin:6px 0 10px;filter:drop-shadow(0 5px 5px #1b2b3c0d)}
.sunset-home .concierge{background:#17263b;color:#fff;border:0;border-radius:24px;padding:34px;margin-top:48px}.sunset-home .concierge h2{color:#fff;font-size:30px;margin:12px 0}.note-label{color:#ddbc80;font-size:12px;letter-spacing:.16em}.sunset-home .concierge p{color:#dce4ed;font-size:17px}.sunset-home .concierge .concierge-lead{color:#fff;font-size:20px}.concierge-language h3{color:#e1bd83}.concierge-language+.concierge-language{border-top:1px solid #ffffff20}.concierge-contact{background:#f9e7cb;border:0;color:#19283b;padding:18px}.support{background:#fff;border:1px solid var(--line);color:var(--ink);padding:26px}.support h2{font-size:21px}.support-pay{min-height:52px;font-size:17px}.footer,.tour-page .footer,.sunset-home .footer{color:#657182;font-size:12px;letter-spacing:.08em;margin:42px 0 10px}
.dock{background:#fffffff5;border:1px solid #ccd4df;box-shadow:0 8px 36px #17263b20;border-radius:20px;bottom:14px;max-width:640px}.dock a,.dock button{font-size:16px;font-weight:700;color:var(--ink);min-height:52px}.dock .contact,.cta,.villa-page .cta,dialog button,.tdac-guide .official-link{background:var(--ink);color:#fff;border-radius:12px}.cta{font-size:18px;padding:18px}.back,.tour-page .back{color:#506176;font-size:16px;margin-bottom:8px}
.tour-brand{justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:24px}.tour-brand img{width:76px}.tour-brand span{color:#637080;font-size:13px;letter-spacing:.06em;text-align:right}.tour-intro{padding:16px 0 28px}.tour-intro h1,.villa-page .tour-intro h1{font-size:clamp(32px,6vw,48px);color:var(--ink);font-weight:700;line-height:1.35}.tour-kicker,.tour-page .tour-kicker,.villa-page .tour-kicker{color:#8f642e;font-size:13px;letter-spacing:.12em}.tour-intro p:last-child,.tour-detail-head p{color:var(--muted);font-size:18px}.tour-detail-head{margin:20px 0 32px}.tour-detail-head h1,.detailhead h1{font-weight:700;font-size:clamp(29px,5.5vw,43px)}.tour-detail-head .tour-en{color:#6c7686;font-size:16px}
.tour-panel,.villa-page .tour-panel,.panel,.tdac-guide .panel,.brochure-section,.golf-brochure{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:none;margin:24px 0;color:var(--ink)}.tour-panel h2,.panel h2,.tdac-guide .panel h2,.brochure-title h2{font-size:25px;margin-bottom:20px}.tour-panel h3,.golf-practical h3{color:var(--ink);font-size:21px}.tour-panel p,.panel p,.guide-list{font-size:18px;color:#3f4e60;line-height:1.9}.tour-panel dt{color:#697484;font-size:15px}.tour-panel dd{font-weight:400;color:var(--ink)}.tour-panel dl div{border-color:#e1e6ed}.tour-small,.golf-sub,.golf-brochure-note,.brochure-caption{font-size:14px!important;color:#647082!important;line-height:1.8}
.tour-help,.villa-note{background:#eaf0f5;color:#43576d;padding:20px;border-radius:14px;font-size:16px;border:0}.tour-categories{gap:12px}.tour-categories a,.golf-tabs a{background:white;border:1px solid #bcc8d5;border-radius:14px;min-height:64px;color:var(--ink)}.tour-categories a:hover,.golf-tabs a:hover{border-color:var(--gold);background:#fffaf2}.golf-tabs strong{font-size:21px}.golf-tabs span{color:#647082;font-size:14px}.tour-section{margin:40px 0}.tour-section-title{background:transparent;border-bottom:1px solid #bdc8d5;border-radius:0;padding:18px 0;color:var(--ink)}.tour-section-title span{color:#886737}.tour-section-title h2{font-size:27px;color:var(--ink)}.tour-section-title p{color:#657182}.tour-section-title h2 .category-icon{width:56px;height:56px}
.tour-list{gap:18px;padding-top:20px}.tour-card{border:1px solid #cbd4de;border-radius:18px;background:#fff;padding:24px}.tour-card:hover{border-color:#a27e44;box-shadow:0 10px 30px #17263b0d}.tour-card h3{font-size:22px}.tour-status{font-size:13px;color:#8b632d}.tour-card p{color:#5b6777;font-size:16px}.tour-more{color:#314e6c;font-size:15px}.tour-time{border-color:#e1e6ed}.tour-card .tour-card-en{color:#687589}.tour-item-icon{width:72px;height:72px;flex-basis:72px}.tour-source{background:#eaf0f5;border-radius:14px;margin:18px 0;color:#506176;font-size:15px}.tour-source summary{min-height:30px}.inquiry-sample{background:#f3f6f9;border:1px solid #e1e6ed;border-radius:14px;padding:22px;color:#33475e;line-height:2}.contact-topic{background:#edf3f7;color:#33475e}.golf-special{background:#f0f5f6;border-color:#849faa}.golf-facts span{background:#eff4f7;border:0;color:#4f667a;font-size:14px}.golf-rate-details{background:#f5f7fa;border:1px solid #d3dce6}.golf-rate-row{border-color:#d3dce6}.golf-fee-highlight{color:#345d58}.golf-brochure{text-align:left}.golf-brochure .golf-facts{justify-content:flex-start}.golf-brochure .brochure-title{padding:0 0 18px;border-color:var(--line)}.golf-brochure h3{font-size:28px}.golf-cover{width:calc(100% + 48px);max-width:none;height:190px;object-fit:cover;margin:-24px -24px 22px;border-radius:18px 18px 0 0}.golf-card .menu-art{width:52px;height:52px;flex-basis:52px}
.brochure-section{padding:0;overflow:hidden}.brochure-title{padding:20px 24px}.brochure-title h2{margin:0}.brochure-image img{max-width:760px;margin:auto}.brochure-image{background:#edf1f5}.villa-list{gap:22px}.villa-card{border:1px solid #c9d3de;border-radius:20px;background:white;box-shadow:none;color:var(--ink)}.villa-cover{height:250px}.villa-card-copy{padding:24px}.villa-card h2{font-size:25px}.villa-meta{color:#647388;font-size:14px}.villa-en{color:#6c7889;font-size:15px}.villa-price{color:#8b5c24;font-size:24px}.villa-more{color:#354e68}.villa-lead{font-weight:400;font-size:20px}.villa-service{background:#f1f5f8;padding:20px}.villa-service p{font-size:17px}.villa-rule{background:#fff7ee;border-left:3px solid #bf925b}.villa-rate{border-color:var(--line)}.villa-rate .villa-price{font-size:22px}.villa-facts dt{font-size:15px}.villa-facts dd{font-size:18px}.villa-gallery figcaption{color:#647388}
dialog{border:1px solid #d1dae5;border-radius:22px;padding:28px;box-shadow:0 30px 100px #101f3340}.contact-dialog #notice-title{color:var(--ink)}.pills span{background:#eaf0f6;color:#47617c}.holiday-notice{border:1px solid #c55c54;background:#fff5f2;border-left:4px solid #b42318}.holiday-notice h2{color:#b42318}
/* Progressive enhancement retains the linked photo grid without JavaScript. */
.gallery-enhanced{display:block!important}.gallery-stage{position:relative;display:block;width:100%;border:0;border-radius:14px;padding:0;overflow:hidden;background:#e9eef3;color:white}.gallery-stage>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/10!important;object-fit:contain!important;max-height:520px}.gallery-stage-label{position:absolute;bottom:14px;right:14px;background:#17263be8;padding:8px 14px;font-size:14px;border-radius:8px}.gallery-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:14px;color:#5d6b7d;margin:12px 0}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:5px 3px 14px;scrollbar-color:#b1bfce transparent}.gallery-thumbs>figure,.gallery-thumbs>a{flex:0 0 82px!important;width:82px;margin:0!important;position:relative}.gallery-thumbs a{display:block;border:2px solid transparent!important;border-radius:9px!important;overflow:hidden}.gallery-thumbs a[aria-current="true"]{border-color:#b48244!important;outline:2px solid #e9d6b7;outline-offset:1px}.gallery-thumbs img{width:78px!important;height:62px!important;aspect-ratio:auto!important;object-fit:cover!important;transform:none!important;border-radius:5px!important}.gallery-thumbs figcaption,.gallery-thumbs a>span{display:none}.gallery-viewer{width:calc(100% - 24px);max-width:1100px;max-height:calc(100dvh - 24px);background:#102035;color:#fff;padding:18px;overflow:auto}.gallery-viewer::backdrop{background:#071322e8}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.viewer-top p{margin:0;font-size:16px;color:#fff}.gallery-viewer button{width:auto;min-width:70px;background:#ffffff19;color:#fff;border:1px solid #ffffff40;padding:8px 16px;font-size:16px;min-height:48px}.gallery-viewer>img{display:block;width:100%;height:min(65dvh,700px);object-fit:contain}.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.viewer-count{font-size:16px}
@media(max-width:600px){.wrap,.tour-page .wrap{padding:20px 18px 120px}.brand-links{gap:10px;grid-template-columns:1.55fr repeat(3,1fr)}.brand-links .brand-home{max-width:140px}.brand-links .friend-link{padding:10px 3px;border-radius:12px}.brand-links .social-picture{width:38px;max-width:38px;border-radius:11px}.brand-links .friend-label{font-size:14px;letter-spacing:-.05em;margin-top:8px}.brand .eyebrow{font-size:12px;letter-spacing:.06em;margin-top:18px}.sunset-home .intro{margin:8px 0 34px}.sunset-home .intro p{font-size:16px}.section-title h2{font-size:21px}.section-title>span{font-size:10px}.grid{gap:12px}.sunset-home .card,.sunset-home .card.primary,.sunset-home .card:nth-child(n+7){min-height:235px;padding:16px 13px;border-radius:16px}.sunset-home .card strong{font-size:20px}.sunset-home .card strong .menu-title-en{font-size:13px}.sunset-home .card small{font-size:14px}.sunset-home .card .card-label{font-size:10px;letter-spacing:0}.sunset-home .card .card-number{font-size:18px}.sunset-home .card-meta{gap:7px}.sunset-home .menu-art{width:94px;height:94px}.sunset-home .concierge{padding:26px 22px}.sunset-home .concierge h2{font-size:26px}.tour-panel,.villa-page .tour-panel,.panel,.tdac-guide .panel,.golf-brochure{padding:23px 20px;border-radius:17px}.tour-panel p,.panel p,.guide-list{font-size:17px}.tour-panel h2{font-size:23px}.tour-list{gap:14px}.tour-card{padding:22px}.golf-cover{width:calc(100% + 44px);margin:-22px -22px 20px;height:210px}.tour-panel dd{font-size:17px}.gallery-stage>img{aspect-ratio:4/3!important}.gallery-stage-label{font-size:13px;bottom:10px;right:10px;padding:6px 10px}.gallery-thumbs>figure,.gallery-thumbs>a{flex-basis:68px!important;width:68px}.gallery-thumbs img{width:64px!important;height:54px!important}.gallery-meta{font-size:14px}.villa-cover{height:235px}.villa-card-copy{padding:22px}.villa-service{padding:16px}.villa-service p{font-size:16px}.gallery-viewer{padding:12px}.viewer-top p{font-size:14px}.tour-brand img{width:64px}}
@media(max-width:350px){.wrap,.tour-page .wrap{padding-left:12px;padding-right:12px}.brand-links{gap:7px}.brand-links .social-picture{width:32px}.brand-links .friend-label{font-size:13px}.sunset-home .card strong{font-size:18px}.sunset-home .intro h1{font-size:24px}.section-title>span{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep the former night-section labels readable on the new white cards. */
.sunset-home .card:nth-child(n+7) .card-number{color:#9b7740}.sunset-home .card:nth-child(n+7) .card-label{color:#687280}
@media(min-resolution:2dppx){.gallery-thumbs img{image-rendering:auto}}

/* Modal and narrow-layout safeguards. */
body:has(dialog[open]){overflow:hidden}.tour-intro>div{min-width:0}.gallery-meta>span:first-child{min-width:0;overflow-wrap:anywhere}.gallery-meta>span:last-child{flex-shrink:0}.gallery-viewer{overscroll-behavior:contain}.gallery-thumbs{overscroll-behavior-x:contain}
