/* Screen markup and CSS copied from the requested Tokyo page, scoped to Group lower section. */
/* Calculator layout matches live Private Family; IDs and pricing are unchanged. */
#group-lower #simulasi{max-width:1080px;margin:65px auto}
#simulasi .family-calculator-primary{display:grid;grid-template-columns:minmax(230px,1fr) minmax(410px,1.15fr);gap:22px;margin-top:28px;align-items:start}
#simulasi .family-hotel-date{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,.8fr);grid-template-rows:auto auto;column-gap:14px;row-gap:8px;align-items:end;min-width:0}
#simulasi .family-hotel-label{grid-column:1;grid-row:1}
#group-lower #simulasi .family-compact-hotels{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}
#group-lower #simulasi .family-compact-hotels button{padding:11px 9px;font-size:12px;min-height:48px;white-space:normal;line-height:1.25}
#simulasi .family-calculator-date{grid-column:2;grid-row:1/3;display:grid;gap:8px;min-width:0;font-size:13px;align-self:stretch;align-content:end;font-weight:700}
#group-lower #simulasi .family-calculator-date input{width:100%;min-width:0;min-height:48px;height:48px;padding:8px 9px;border:1px solid #b99a5e;border-radius:8px;background:#173d43;color:#fff;color-scheme:dark;font:inherit}
#simulasi .family-calculator-primary .pax-glow select{height:48px;min-height:48px}
#simulasi .family-calculator-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:24px 0 20px;padding-top:20px;border-top:1px solid rgba(217,175,101,.25)}
#simulasi .family-single-field{max-width:550px;margin:18px 0 24px;font-size:13px;font-weight:700}
#simulasi .family-single-field input{max-width:240px;min-height:46px;border:1px solid rgba(217,175,101,.5);border-radius:8px;background:#173d43;color:white;padding:10px 12px}
#simulasi .family-single-field small{display:block;font-size:12px;font-weight:400;color:#cfdddd;line-height:1.65}
#simulasi .family-calculator-options select{font-size:13px}
#simulasi .summary-box .quote-box h3{color:#f2d796;font:700 clamp(27px,3.4vw,38px)/1.35 'Playfair Display',Georgia,serif;text-align:left;overflow-wrap:anywhere}
#group-lower #simulasi .summary-box{border-radius:0;border:1px solid rgba(217,175,101,.35);background:rgba(217,175,101,.13);padding:22px;margin-top:26px}
@media(max-width:1050px){#simulasi .family-calculator-primary{grid-template-columns:1fr}#simulasi .family-hotel-date{grid-template-columns:minmax(0,1fr) minmax(145px,.7fr)}}
@media(max-width:760px){#simulasi .family-calculator-options{grid-template-columns:1fr}#simulasi .family-single-field{max-width:none}#group-lower #simulasi{margin:36px auto}#group-lower #simulasi .summary-box{padding:20px}}
@media(max-width:390px){#simulasi .family-hotel-date{column-gap:9px;grid-template-columns:minmax(0,1fr) minmax(128px,.8fr)}#group-lower #simulasi .family-compact-hotels{gap:5px}#group-lower #simulasi .family-compact-hotels button{font-size:10px;padding:8px 5px}#simulasi .family-calculator-date{font-size:11px}}
/* Adapter: keep Group IDs/server formula, avoid inherited full-page spacing. */
body[data-page="product"]{background-color:#f6f2eb;background-image:linear-gradient(rgba(246,242,235,.83),rgba(246,242,235,.9)),url('group-planning-background.jpg');background-position:center;background-size:cover;background-attachment:fixed}
@media(max-width:420px){body[data-page="product"]{background-attachment:scroll}}
@media print{body[data-page="product"]{background:#fff!important}}
#group-lower [hidden]{display:none!important}
#group-lower #perencanaan{background:transparent;border:0;padding:0;margin:65px 0}
#group-lower #perencanaan>.planning-card{margin-top:28px}
#group-lower .planning-heading{flex-wrap:wrap}
#group-lower .planning-heading>strong{flex:1 1 420px}
#group-lower .planning-heading>.planning-calendar{display:flex;gap:10px;flex:0 1 auto}
#group-lower .planning-cities{margin:0}
#group-lower .price-box{margin:65px 0}
#group-lower .price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#group-lower .field{display:grid;align-content:start}
#group-lower .field input,#group-lower .field select{width:100%;height:50px}
#group-lower .hotel-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#group-lower .hotel-choice button{border:1px solid #9b824f;background:#17343a;color:#fff;border-radius:999px;padding:13px 10px;font:700 12px 'DM Sans',sans-serif;cursor:pointer}
#group-lower .hotel-choice button.active{background:#e0ad57;color:#10262c;box-shadow:0 0 0 3px rgba(224,173,87,.2),0 0 18px rgba(224,173,87,.4)}
#group-lower .summary-box .quote-box{background:transparent;border:0;margin:0;padding:0}
#group-lower .visa-card p{font-size:12px;line-height:1.7;color:#cfdddd}
#group-lower .proposal-preview-section{padding:48px 28px}
#group-lower .proposal-header,#group-lower .proposal-footer{max-width:none;margin:0}
#group-lower .proposal-header{border-radius:0}
#group-lower .proposal-document section{margin:0}
#group-lower .proposal-document .proposal-facilities{padding-top:28px;padding-bottom:28px}
#group-lower .proposal-day-copy small{white-space:pre-line}
#group-lower .proposal-document table{min-width:0}
#group-lower .proposal-document .proposal-title h3{overflow-wrap:anywhere}
#group-lower .proposal-brand>div{min-width:0}
#group-lower .ticket-search[aria-disabled=true]{pointer-events:none;opacity:.5}
@media(max-width:760px){#group-lower .price-grid{grid-template-columns:1fr 1fr}#group-lower .proposal-preview-section{padding:36px 16px}#group-lower .planning-heading>strong{flex-basis:auto}#group-lower .planning-heading{display:flex!important}#group-lower .planning-calendar{max-width:100%}#group-lower .planning-calendar input{max-width:100%}#group-lower .hotel-choice{grid-template-columns:1fr}#group-lower .planning-card .schedule-row{grid-template-columns:1fr;gap:10px}#group-lower .planning-card .schedule-row>*{grid-column:1!important;grid-row:auto!important}}
@media(max-width:420px){#group-lower .price-grid{grid-template-columns:1fr}#group-lower .hotel-choice{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){#group-lower .city-button:before,#group-lower .proposal-orbit:before,#group-lower .pax-glow:before{animation:none!important}}
@media print{#group-lower #perencanaan{display:none!important}}
.tokyo-copy .private-hero{padding:96px clamp(24px,11vw,180px);min-height:470px;display:flex;align-items:end;color:#fff;background:radial-gradient(circle at 88% 10%,#b95469 0,transparent 28%),radial-gradient(circle at 66% 72%,#45737b 0,transparent 34%),linear-gradient(122deg,#06161d 7%,#0d2e35 58%,#19242a)}
.tokyo-copy .private-hero div{max-width:810px}
.tokyo-copy .eyebrow{color:#efd293;font:700 12px "DM Sans",sans-serif;letter-spacing:.14em}
.tokyo-copy .private-hero h1,.tokyo-copy h2,.tokyo-copy h3{font-family:"Playfair Display",serif}
.tokyo-copy .private-hero h1{font-size:clamp(43px,7vw,74px);line-height:1.04;margin:13px 0}
.tokyo-copy .private-hero p:not(.eyebrow){color:#d8e7e8;line-height:1.8;max-width:700px}
.tokyo-copy .private-hero__facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.tokyo-copy .private-hero__facts span{padding:9px 13px;border:1px solid rgba(239,210,147,.55);border-radius:999px;font-size:13px}
.tokyo-copy .content{padding:74px clamp(24px,11vw,180px)}
.tokyo-copy .content h2,.tokyo-copy .price-box h2{font:700 clamp(30px,4vw,46px) "Playfair Display",serif;margin:8px 0 15px}
.tokyo-copy .content h3{font:700 25px "Playfair Display",serif;margin:0 0 8px}
.tokyo-copy .content>p{max-width:820px;color:#4d6065;line-height:1.85}
.tokyo-copy .date-panel{margin-top:28px;padding:26px;border:1px solid #dfe6e3;background:#f7faf9}
.tokyo-copy .date-panel label{display:block;max-width:330px;font-weight:700;color:#1b343a}
.tokyo-copy .date-panel input{display:block;box-sizing:border-box;width:100%;margin-top:10px;padding:14px;border:1px solid #adbdba;border-radius:8px;font:inherit}
.tokyo-copy .date-panel p{margin:14px 0 0;color:#55676b;line-height:1.6}
.tokyo-copy .itinerary{display:grid;gap:12px;margin-top:28px}
.tokyo-copy .day{border:1px solid #dce4e2;background:#fff}
.tokyo-copy .day summary{display:flex;align-items:center;gap:16px;padding:19px 22px;cursor:pointer;list-style:none}
.tokyo-copy .day summary::-webkit-details-marker{display:none}
.tokyo-copy .day summary:after{content:"+";margin-left:auto;font-size:24px;color:#b7863c}
.tokyo-copy .day[open] summary:after{content:"−"}
.tokyo-copy .day-number{font-size:12px;font-weight:700;letter-spacing:.12em;color:#b7863c}
.tokyo-copy .day h3{font-size:23px;margin:0}
.tokyo-copy .day-content{padding:0 22px 22px;color:#516369;line-height:1.8}
.tokyo-copy .meal{display:inline-block;margin-top:12px;padding:5px 10px;border-radius:99px;background:#eef3f2;color:#1c4a45;font-size:12px;font-weight:700}
.tokyo-copy .service{display:inline-block;margin:12px 0 0;color:#805e2c;font-size:13px;font-weight:700}
.tokyo-copy .flight-panel{padding:32px clamp(24px,6vw,80px);background:var(--sea)}
.tokyo-copy .flight-grid,.tokyo-copy .includes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tokyo-copy .flight-card,.tokyo-copy .includes>div{padding:24px;background:#fff;border-top:3px solid var(--gold)}
.tokyo-copy .flight-card p,.tokyo-copy .includes li{color:#53656a;line-height:1.7}
.tokyo-copy .flight-card button,.tokyo-copy .ticket-button,.tokyo-copy .wa-button{display:inline-block;border:0;background:#0b2228;color:#fff;padding:13px 17px;font:700 14px "DM Sans",sans-serif;cursor:pointer;text-decoration:none}
.tokyo-copy .ticket-button{margin:10px 0 0;background:#e65b32}
.tokyo-copy .flight-note{max-width:900px;margin:20px 0 0;color:#52666a;line-height:1.7;font-size:14px}
.tokyo-copy .price-box{margin:74px clamp(24px,11vw,180px);padding:clamp(26px,5vw,54px);border-radius:18px;background:linear-gradient(135deg,#071a20,#173d43);color:#fff}
.tokyo-copy .price-box h2{margin-top:0}
.tokyo-copy .price-box .price-intro{color:#cfdddd;line-height:1.7}
.tokyo-copy .price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:28px}
.tokyo-copy .field{display:grid;gap:8px;font-weight:700;font-size:13px;letter-spacing:.03em}
.tokyo-copy .field select,.tokyo-copy .field input{box-sizing:border-box;width:100%;min-height:50px;padding:0 12px;border:1px solid rgba(231,200,136,.5);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font:inherit}
.tokyo-copy .field option{color:#182c31;background:#fff}
.tokyo-copy .summary-box{margin-top:26px;padding:22px;background:rgba(217,175,101,.13);border:1px solid rgba(217,175,101,.35)}
.tokyo-copy .summary-box strong{display:block;font:700 clamp(25px,4vw,38px) "Playfair Display",serif;color:#f2d796}
.tokyo-copy .summary-box p{margin:10px 0 0;color:#d6e0df;line-height:1.7}
.tokyo-copy .small{font-size:13px;color:#bdcfcd!important}
.tokyo-copy .includes{margin-top:30px}
.tokyo-copy .includes ul{padding-left:18px;margin-bottom:0}
.tokyo-copy .includes li{margin:7px 0}
.tokyo-copy .cta{padding:76px clamp(24px,11vw,180px);background:#08191f;color:#fff}
.tokyo-copy .cta h2{font:700 clamp(33px,4vw,50px) "Playfair Display",serif;margin:9px 0}
.tokyo-copy .cta p{max-width:660px;color:#cbdbda;line-height:1.8}
.tokyo-copy .wa-button{border:1px solid var(--gold);color:#f2d796;background:transparent;margin-top:10px}
@media(max-width:700px){.tokyo-copy .private-hero{padding-top:75px;min-height:410px}
.tokyo-copy .content{padding-top:58px;padding-bottom:58px}
.tokyo-copy .flight-grid,.tokyo-copy .includes,.tokyo-copy .price-grid{grid-template-columns:1fr}
.tokyo-copy .price-box{margin:36px 16px;border-radius:14px}
.tokyo-copy .day summary{padding:17px}
.tokyo-copy .day h3{font-size:19px}
}
.tokyo-copy .price-preview{width:100%;max-width:680px;margin:25px 0 0;border-collapse:collapse;background:rgba(5,18,23,.48);font-size:14px}
.tokyo-copy .price-preview th,.tokyo-copy .price-preview td{padding:11px 13px;text-align:left;border-bottom:1px solid rgba(255,255,255,.16)}
.tokyo-copy .price-preview th{color:#f0d391;font-size:11px;letter-spacing:.08em}
.tokyo-copy .city-section{padding:56px clamp(24px,11vw,180px);background:#eef3f2}
.tokyo-copy .city-section h2{font:700 clamp(30px,4vw,46px) "Playfair Display",serif;margin:8px 0 12px}
.tokyo-copy .city-section>p{max-width:820px;color:#506268;line-height:1.8}
.tokyo-copy .city-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.tokyo-copy .city-button{position:relative;overflow:hidden;padding:13px 17px;border:1px solid #b98841;border-radius:999px;background:#0b2228;color:#fff;font:700 14px "DM Sans",sans-serif;cursor:pointer}
.tokyo-copy .city-button:before{content:"";position:absolute;inset:-3px;background:conic-gradient(from 0deg,transparent 0 48%,#f0d391 58%,transparent 68%);animation:spin 2.8s linear infinite}
.tokyo-copy .city-button span{position:relative;z-index:1}
.tokyo-copy .city-button.active{background:#c79142;color:#102025}
.tokyo-copy .city-button.active:before{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
.tokyo-copy .flight-search{margin-top:28px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:25px;background:#fff;border-left:3px solid #d9af65}
.tokyo-copy .flight-search p{margin:0;color:#506268;line-height:1.7}
.tokyo-copy .flight-search button{border:0;background:#0b2228;color:#fff;padding:14px 17px;font:700 14px "DM Sans",sans-serif;cursor:pointer}
.tokyo-copy .flight-search .ticket-button{display:block;margin-top:9px;text-align:center;text-decoration:none;background:#e65b32;color:#fff;padding:12px 15px;font:700 14px "DM Sans",sans-serif}
.tokyo-copy .flight-mini{margin-top:20px;padding:18px;background:#f7f3ec;border:1px solid #e4d7c1;color:#506268;line-height:1.65;font-size:14px}
.tokyo-copy .visa-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:18px}
.tokyo-copy .visa-card{padding:14px;border:1px solid rgba(217,175,101,.35);border-radius:9px;background:rgba(255,255,255,.06)}
.tokyo-copy .visa-card strong{display:block;color:#f0d391;margin-bottom:8px}
.tokyo-copy .visa-card select{box-sizing:border-box;width:100%;min-height:43px;border:1px solid rgba(217,175,101,.4);border-radius:7px;background:#14353a;color:#fff;padding:0 8px;font:inherit}
.tokyo-copy .visa-card option{background:#fff;color:#10272c}
@media(max-width:700px){.tokyo-copy .flight-search{grid-template-columns:1fr}
.tokyo-copy .price-preview{font-size:13px}
}

.tokyo-copy .price-box>.eyebrow,.tokyo-copy .calculator-title{text-align:center}
.tokyo-copy .calculator-title{max-width:100%!important}
.tokyo-copy .price-grid{grid-template-columns:minmax(0,560px);justify-content:center}
.tokyo-copy .cost-table-wrap{margin-top:20px;overflow-x:auto}
.tokyo-copy .cost-table{width:100%;border-collapse:collapse;min-width:610px;color:#eef5f4}
.tokyo-copy .cost-table th,.tokyo-copy .cost-table td{padding:13px 12px;text-align:left;border-bottom:1px solid rgba(239,210,147,.23)}
.tokyo-copy .cost-table th{color:#efd293;font:700 11px "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.tokyo-copy .cost-table td:nth-child(n+2),.tokyo-copy .cost-table th:nth-child(n+2){text-align:right}
.tokyo-copy .cost-table td:first-child{font-weight:700}
.tokyo-copy .summary-box{background:rgba(217,175,101,.13)}

.tokyo-copy .pax-glow{position:relative;display:block;isolation:isolate;overflow:hidden;padding:3px;border-radius:10px}
.tokyo-copy .pax-glow:before,.tokyo-copy .ticket-inline:before{content:'';position:absolute;z-index:-2;inset:-55%;background:conic-gradient(from 0deg,#b9782f,#ffe8a8,#c98b38,#fff0bd,#ba742a,#f7d77f,#b9782f);animation:calculator-orbit 1.8s linear infinite;filter:drop-shadow(0 0 6px #e8bd62)}
.tokyo-copy .pax-glow:after,.tokyo-copy .ticket-inline:after{content:'';position:absolute;z-index:-1;inset:3px;border-radius:inherit;background:#173d43}
.tokyo-copy .pax-glow select{position:relative;z-index:1;border:0!important;background:transparent!important}
.tokyo-copy .ticket-inline{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;justify-content:center;align-items:center;max-width:100%;padding:8px 15px;border-radius:999px;color:#ffdf98!important;text-decoration:none;font:800 13px "DM Sans",sans-serif;white-space:nowrap;box-shadow:0 0 12px rgba(232,189,98,.34)}
.tokyo-copy .ticket-inline:after{background:#0b2228}
.tokyo-copy .ticket-inline:hover{color:#fff!important;transform:translateY(-1px)}
@keyframes calculator-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.tokyo-copy .pax-glow:before,.tokyo-copy .ticket-inline:before{animation:none}
}

.tokyo-copy .price-disclaimer{margin:18px 0 0;color:#cfdddd;font-size:13px;line-height:1.7;text-align:center}

.tokyo-copy .planning-card{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:22px;margin-top:28px;padding:22px;background:#f7faf9;border:1px solid #dfe6e3}
.tokyo-copy .planning-card .date-panel{margin:0;align-self:start}
.tokyo-copy .planning-origin{padding:2px 0}
.tokyo-copy .planning-origin h3{font:700 25px "Playfair Display",serif;margin:7px 0 10px}
.tokyo-copy .planning-origin>p{margin:0;max-width:820px;color:#506268;line-height:1.7}
.tokyo-copy .planning-origin .city-buttons{margin-top:18px}
.tokyo-copy .planning-origin .flight-search{margin-top:20px}
.tokyo-copy .planning-origin .flight-mini{display:none}
@media(max-width:850px){.tokyo-copy .planning-card{grid-template-columns:1fr}
.tokyo-copy .planning-origin{padding-top:8px;border-top:1px solid #dfe6e3}
}

.tokyo-copy .planning-card{display:grid!important;grid-template-columns:150px minmax(0,1fr);gap:0!important;margin-top:28px;padding:0!important;background:#fff!important;border:1px solid #cbd6d3!important}
.tokyo-copy .planning-heading{display:contents}
.tokyo-copy .planner-label{grid-column:1;padding:20px;border-right:1px solid #cbd6d3;border-bottom:1px solid #cbd6d3;background:#f4f7f6;color:#8a652d;font-weight:800;text-align:center;letter-spacing:.06em}
.tokyo-copy .planning-heading strong{grid-column:2;padding:20px;border-bottom:1px solid #cbd6d3;font:700 clamp(20px,2.2vw,29px) "Playfair Display",serif}
.tokyo-copy .planning-calendar{grid-column:1;padding:17px;border-right:1px solid #cbd6d3;border-bottom:1px solid #cbd6d3;background:#fbfcfb}
.tokyo-copy .planning-calendar label{display:grid;gap:8px;font-size:12px;font-weight:800;color:#43555b}
.tokyo-copy .planning-calendar input{width:100%;padding:10px;border:1px solid #9eafab;border-radius:0;font:inherit}
.tokyo-copy .planning-cities{grid-column:2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid #cbd6d3}
.tokyo-copy .planning-cities .city-button{border:0;border-radius:0;border-right:1px solid #cbd6d3;background:#fff;color:#172c32;padding:17px 8px;font-size:12px;white-space:nowrap}
.tokyo-copy .planning-cities .city-button:last-child{border-right:0}
.tokyo-copy .planning-cities .city-button:before{display:none}
.tokyo-copy .planning-cities .city-button.active{background:#d9af65;color:#102025}
.tokyo-copy .planning-schedule{grid-column:1 / -1;padding:18px 20px 10px}
.tokyo-copy .schedule-label{margin:0 0 8px;color:#8a652d;font-weight:800;font-size:12px;letter-spacing:.1em}
.tokyo-copy .schedule-row{display:grid;grid-template-columns:150px 170px minmax(220px,1fr) auto minmax(150px,.7fr);gap:10px;align-items:center;padding:13px 0;border-top:1px solid #d9e0de;color:#32474d}
.tokyo-copy .schedule-row strong{font-family:"Playfair Display",serif}
.tokyo-copy .schedule-row>span{font-size:14px}
.tokyo-copy .schedule-note{grid-column:4 / 6;color:#687a7e;font-size:12px}
.tokyo-copy .arrival-choice{display:grid;grid-template-columns:auto minmax(80px,1fr);gap:8px;align-items:center;font-size:12px;font-weight:800}
.tokyo-copy .arrival-choice select{min-height:36px;border:1px solid #9eafab;background:#fff;padding:0 7px;font:inherit}
.tokyo-copy .planning-schedule .ticket-button{margin:0;white-space:nowrap;text-align:center}
.tokyo-copy .planning-help{grid-column:1 / -1;margin:0;padding:0 20px 18px;color:#687a7e;font-size:13px}
@media(max-width:900px){.tokyo-copy .planning-card{grid-template-columns:1fr!important}
.tokyo-copy .planner-label,.tokyo-copy .planning-heading strong,.tokyo-copy .planning-calendar,.tokyo-copy .planning-cities{grid-column:1;border-right:0}
.tokyo-copy .planning-cities{grid-template-columns:repeat(3,1fr)}
.tokyo-copy .planning-cities .city-button:nth-child(3){border-right:0}
.tokyo-copy .schedule-row{grid-template-columns:130px 1fr}
.tokyo-copy .schedule-row>span,.tokyo-copy .schedule-row .ticket-button,.tokyo-copy .arrival-choice,.tokyo-copy .schedule-note{grid-column:2}
.tokyo-copy .schedule-row>span:nth-of-type(2){grid-row:2}
.tokyo-copy .schedule-row .ticket-button{width:max-content}
.tokyo-copy .arrival-choice{grid-template-columns:auto 1fr}
.tokyo-copy .schedule-note{grid-row:2}
.tokyo-copy .planning-calendar{border-bottom:1px solid #cbd6d3}
.tokyo-copy .planner-label{text-align:left}
.tokyo-copy .planning-heading strong{padding-top:0}
.tokyo-copy .planning-cities .city-button{border-bottom:1px solid #cbd6d3}
.tokyo-copy .planning-cities .city-button:nth-child(n){border-right:1px solid #cbd6d3}
.tokyo-copy .planning-cities .city-button:nth-child(3n){border-right:0}
}

.tokyo-copy .planning-card{grid-template-columns:1fr!important}
.tokyo-copy .planning-heading{grid-column:1/-1!important;display:flex!important;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #cbd6d3}
.tokyo-copy .planning-heading strong{padding:20px!important;border:0!important}
.tokyo-copy .planning-calendar{display:flex!important;grid-column:auto!important;align-items:center;gap:10px;padding:14px 20px!important;border:0!important;background:transparent!important;font-weight:800;color:#43555b}
.tokyo-copy .planning-calendar span{font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.tokyo-copy .planning-calendar input{width:auto!important;min-width:160px;padding:10px!important;border:1px solid #9eafab!important;border-radius:7px!important;background:#fff}
.tokyo-copy .planning-cities{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap;gap:10px;padding:16px 20px;border-bottom:1px solid #cbd6d3}
.tokyo-copy .planning-cities .city-button{position:relative!important;overflow:hidden!important;border:1px solid #b98841!important;border-radius:999px!important;background:#0b2228!important;color:#fff!important;padding:11px 15px!important;font-size:13px!important;white-space:nowrap!important}
.tokyo-copy .planning-cities .city-button:before{display:block!important;content:""!important;position:absolute!important;inset:-85%!important;background:conic-gradient(from 0deg,transparent 0 44%,#f0d391 53%,transparent 62%)!important;animation:spin 2.8s linear infinite!important}
.tokyo-copy .planning-cities .city-button span{position:relative;z-index:1}
.tokyo-copy .planning-cities .city-button.active{background:#e65b32!important;color:#fff!important;box-shadow:0 0 0 2px rgba(240,211,145,.42),0 0 18px rgba(230,91,50,.35)}
.tokyo-copy .planning-cities .city-button.active:before{display:none!important}
.tokyo-copy .planning-schedule{grid-column:1/-1!important}
.tokyo-copy .arrival-choice select{cursor:pointer}
@media(max-width:700px){.tokyo-copy .planning-heading{display:grid!important;grid-template-columns:1fr}
.tokyo-copy .planning-heading strong{padding-bottom:0!important}
.tokyo-copy .planning-calendar{justify-content:space-between;padding-top:8px!important}
.tokyo-copy .planning-calendar input{flex:1;min-width:0}
.tokyo-copy .planning-cities{padding:14px}
.tokyo-copy .planning-cities .city-button{flex:1 1 calc(50% - 10px)}
}

.tokyo-copy .schedule-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 8px}
.tokyo-copy .schedule-title-row .schedule-label{margin:0}
.tokyo-copy .arrival-choice{display:flex!important;align-items:center;gap:8px!important;font-size:12px!important}
.tokyo-copy .arrival-choice>span{font-weight:800;color:#43555b;white-space:nowrap}
.tokyo-copy .arrival-button{border:1px solid #b98841;border-radius:999px;background:#fff;color:#614720;padding:8px 11px;font:800 12px "DM Sans",sans-serif;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}
.tokyo-copy .arrival-button:hover{transform:translateY(-1px)}
.tokyo-copy .arrival-button.active{background:#0b2228;color:#f5d58f;box-shadow:0 0 10px rgba(217,175,101,.25)}
.tokyo-copy .planning-schedule .ticket-button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;width:auto;min-width:116px;margin:0!important;padding:10px 18px!important;border:0!important;border-radius:999px!important;background:#0b2228!important;color:#ffe0a0!important;font:800 14px "DM Sans",sans-serif!important;box-shadow:0 0 0 3px #d9af65,0 0 18px rgba(232,189,98,.7)!important;transition:transform .18s ease,box-shadow .18s ease}
.tokyo-copy .planning-schedule .ticket-button:before{content:"";position:absolute;z-index:-1;inset:-75%;background:conic-gradient(from 0deg,transparent 0 40%,#ffe9a9 52%,transparent 64%);animation:calculator-orbit 2.2s linear infinite}
.tokyo-copy .planning-schedule .ticket-button:after{content:"";position:absolute;z-index:-1;inset:3px;border-radius:inherit;background:#0b2228}
.tokyo-copy .planning-schedule .ticket-button:hover{transform:translateY(-2px);box-shadow:0 0 0 3px #f2c66f,0 0 25px rgba(242,198,111,.9)!important}
@media(max-width:900px){.tokyo-copy .schedule-title-row{align-items:flex-start;flex-direction:column}
.tokyo-copy .arrival-choice{flex-wrap:wrap}
.tokyo-copy .arrival-choice>span{width:100%}
}
@media(prefers-reduced-motion:reduce){.tokyo-copy .planning-schedule .ticket-button:before{animation:none}
}

.tokyo-copy .proposal-preview-section{padding:76px clamp(24px,11vw,180px);background:#f3eee5}
.tokyo-copy .proposal-preview-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;max-width:1180px;margin:0 auto 30px}
.tokyo-copy .proposal-preview-intro h2{font:700 clamp(31px,4vw,48px) "Playfair Display",serif;color:#10272c;margin:8px 0 12px}
.tokyo-copy .proposal-preview-intro p:not(.eyebrow){max-width:690px;margin:0;color:#53656a;line-height:1.75}
.tokyo-copy .proposal-actions{display:grid;gap:9px;text-align:center;flex:0 0 auto}
.tokyo-copy .proposal-actions button{border:0;border-radius:999px;background:#0b2228;color:#ffe0a0;padding:14px 23px;font:800 14px "DM Sans",sans-serif;cursor:pointer;box-shadow:0 0 0 3px #d9af65,0 0 18px rgba(217,175,101,.42);transition:transform .18s ease,box-shadow .18s ease}
.tokyo-copy .proposal-actions button:hover{transform:translateY(-2px);box-shadow:0 0 0 3px #f3cd78,0 0 26px rgba(243,205,120,.7)}
.tokyo-copy .proposal-actions small{color:#687a7e}
.tokyo-copy .proposal-document{box-sizing:border-box;max-width:900px;margin:0 auto;background:#fff;color:#182c31;box-shadow:0 18px 46px rgba(29,43,43,.15)}
.tokyo-copy .proposal-header{display:flex;justify-content:space-between;gap:24px;padding:30px 38px;background:#092027;color:#fff}
.tokyo-copy .proposal-brand{display:flex;align-items:center;gap:14px}
.tokyo-copy .proposal-brand img{width:54px;height:54px;object-fit:contain}
.tokyo-copy .proposal-brand strong{display:block;color:#f4d489;font:800 24px "DM Sans",sans-serif;letter-spacing:.06em}
.tokyo-copy .proposal-brand span{display:block;margin-top:3px;color:#d2e0df;font-size:12px}
.tokyo-copy .proposal-meta{text-align:right}
.tokyo-copy .proposal-meta span,.tokyo-copy .proposal-meta small{display:block;color:#d2e0df;font-size:11px;letter-spacing:.1em}
.tokyo-copy .proposal-meta b{display:block;margin:7px 0;color:#f4d489;font-size:14px}
.tokyo-copy .proposal-title{padding:30px 38px 23px;border-bottom:1px solid #dfe4e1}
.tokyo-copy .proposal-title>p,.tokyo-copy .proposal-block h4,.tokyo-copy .proposal-facilities h4{margin:0;color:#9a712f;font:800 11px "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.tokyo-copy .proposal-title h3{margin:8px 0 22px;font:700 clamp(26px,3vw,38px) "Playfair Display",serif}
.tokyo-copy .proposal-kv{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tokyo-copy .proposal-kv span{display:grid;gap:5px}
.tokyo-copy .proposal-kv b{color:#6b7b7e;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.tokyo-copy .proposal-kv em{font-style:normal;font-size:13px;font-weight:700}
.tokyo-copy .proposal-block{padding:25px 38px 0}
.tokyo-copy .proposal-itinerary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
.tokyo-copy .proposal-itinerary div{display:flex;gap:10px;padding:10px 0;border-top:1px solid #e0e6e3;font-size:13px}
.tokyo-copy .proposal-itinerary b{color:#9a712f;white-space:nowrap}
.tokyo-copy .proposal-itinerary .proposal-day-copy{display:grid;gap:4px;min-width:0}
.tokyo-copy .proposal-itinerary .proposal-day-copy strong{color:#182c31;font-size:13px;line-height:1.35}
.tokyo-copy .proposal-itinerary .proposal-day-copy small{display:block;color:#607174;font-size:11px;line-height:1.48;font-weight:400}
.tokyo-copy .proposal-cost-wrap{margin-top:14px;overflow-x:auto}
.tokyo-copy .proposal-cost{width:100%;border-collapse:collapse;font-size:13px}
.tokyo-copy .proposal-cost th,.tokyo-copy .proposal-cost td{padding:11px 8px;border-bottom:1px solid #dfe4e1;text-align:left}
.tokyo-copy .proposal-cost th{color:#6b7b7e;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.tokyo-copy .proposal-cost td:nth-child(n+2),.tokyo-copy .proposal-cost th:nth-child(n+2){text-align:right}
.tokyo-copy .proposal-total{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:14px 16px;background:#0b2228;color:#fff}
.tokyo-copy .proposal-total strong{color:#f4d489;font:700 23px "Playfair Display",serif}
.tokyo-copy .proposal-ticket-note{margin:12px 0 0;color:#6b7b7e;font-size:12px;line-height:1.55}
.tokyo-copy .proposal-facilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:28px 38px}
.tokyo-copy .proposal-facilities>div{padding:18px;background:#f7f4ee;border-top:2px solid #d9af65}
.tokyo-copy .proposal-facilities ul{margin:12px 0 0;padding-left:18px;color:#53656a;font-size:12px;line-height:1.65}
.tokyo-copy .proposal-footer{padding:20px 38px;background:#edf3f1;color:#53656a;font-size:12px;line-height:1.6}
.tokyo-copy .proposal-footer p{margin:0}
.tokyo-copy .proposal-footer p+p{margin-top:8px}
@media(max-width:700px){.tokyo-copy .proposal-preview-section{padding:54px 18px}
.tokyo-copy .proposal-preview-intro{align-items:flex-start;flex-direction:column}
.tokyo-copy .proposal-header{align-items:flex-start;flex-direction:column;padding:24px}
.tokyo-copy .proposal-meta{text-align:left}
.tokyo-copy .proposal-title,.tokyo-copy .proposal-block,.tokyo-copy .proposal-facilities,.tokyo-copy .proposal-footer{padding-left:24px;padding-right:24px}
.tokyo-copy .proposal-kv,.tokyo-copy .proposal-itinerary,.tokyo-copy .proposal-facilities{grid-template-columns:1fr}
.tokyo-copy .proposal-cost{min-width:570px}
}
.tokyo-copy .proposal-customer{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:0 0 20px;padding:13px 15px;background:#f7f4ee;border-left:3px solid #d9af65}
.tokyo-copy .proposal-customer div{display:grid;gap:3px}
.tokyo-copy .proposal-customer b{color:#6b7b7e;font-size:9px;letter-spacing:.09em;text-transform:uppercase}
.tokyo-copy .proposal-customer strong{font:700 18px "Playfair Display",serif;color:#183137}
.tokyo-copy .proposal-customer span{color:#607174;font-size:11px;text-align:right;line-height:1.5}
@media(max-width:700px){.tokyo-copy .proposal-customer{display:grid}
.tokyo-copy .proposal-customer span{text-align:left}
}

.tokyo-copy .proposal-header{background:#f8f4ec!important;color:#172c31!important;border-top:5px solid #d9af65;border-bottom:1px solid #d8d0c2}
.tokyo-copy .proposal-brand strong{color:#17343a!important}
.tokyo-copy .proposal-brand span{color:#53656a!important}
.tokyo-copy .proposal-meta span,.tokyo-copy .proposal-meta small{color:#607174!important}
.tokyo-copy .proposal-meta b{color:#9a712f!important}

.tokyo-copy .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tokyo-copy .hotel-choice{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.tokyo-copy .hotel-choice button{border:1px solid #9b824f;background:#17343a;color:#fff;border-radius:999px;padding:13px 15px;font:800 14px "DM Sans",sans-serif;cursor:pointer}
.tokyo-copy .hotel-choice button.active{background:#e0ad57;color:#10262c;box-shadow:0 0 0 3px rgba(224,173,87,.2),0 0 18px rgba(224,173,87,.4)}
.tokyo-copy .download-lead{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));gap:10px;max-width:900px;margin:0 auto 26px;padding:20px;background:#fff;border:1px solid #d9d1c4}
.tokyo-copy .download-lead label{display:grid;gap:5px;color:#42575b;font-size:11px;font-weight:800}
.tokyo-copy .download-lead input{width:100%;border:1px solid #bdc9c8;border-radius:4px;padding:11px;font:inherit}
.tokyo-copy .download-lead p{grid-column:1/-1;margin:0;color:#69797c;font-size:11px}
.tokyo-copy .download-status{grid-column:1/-1;color:#8b652a!important;font-weight:800}
@media(max-width:720px){.tokyo-copy .price-grid,.tokyo-copy .download-lead{grid-template-columns:1fr}
}

.tokyo-copy body{background-color:#f6f2eb;background-image:linear-gradient(rgba(246,242,235,.83),rgba(246,242,235,.9)),url('private-tokyo.jpg');background-position:center;background-size:cover;background-attachment:fixed}
.tokyo-copy .city-section{background:rgba(238,243,242,.86)!important}
.tokyo-copy .proposal-preview-section{background:rgba(243,238,229,.86)!important}
.tokyo-copy .proposal-preview-intro{align-items:center}
.tokyo-copy .proposal-preview-intro>div:first-child{flex:1;min-width:0}
.tokyo-copy .proposal-actions{display:grid;justify-items:center;gap:15px}
.tokyo-copy .proposal-orbit-row{display:flex;align-items:center;justify-content:center;gap:18px}
.tokyo-copy .proposal-actions .proposal-orbit{position:relative;isolation:isolate;display:grid;place-items:center;width:92px;height:92px;flex:0 0 92px;padding:10px;border:0;border-radius:50%;background:transparent;color:#896025;font:800 12px/1.3 'DM Sans',sans-serif;text-align:center;text-decoration:none;box-shadow:none;cursor:pointer;text-shadow:0 1px 2px #fff9;transition:transform .18s ease,background .18s ease}
.tokyo-copy .proposal-actions .proposal-orbit:before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,transparent 0deg,#fff4c8 58deg,#d7a453 140deg,transparent 205deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:proposal-edge-orbit 1.9s linear infinite;filter:drop-shadow(0 0 5px #e7bd68);pointer-events:none}
.tokyo-copy .proposal-actions .proposal-orbit:after{content:'';position:absolute;inset:8px;border:1px solid rgba(143,106,48,.25);border-radius:50%;pointer-events:none}
.tokyo-copy .proposal-orbit__label{display:grid;justify-items:center;gap:6px}
.tokyo-copy .proposal-actions .proposal-orbit:hover{transform:translateY(-3px);background:transparent;box-shadow:0 6px 20px rgba(201,154,82,.18)}
.tokyo-copy .proposal-actions .proposal-orbit:focus-visible{outline:3px solid #d4ac69;outline-offset:7px}
.tokyo-copy .proposal-actions>small{max-width:220px;font-size:11px}
@keyframes proposal-edge-orbit{to{transform:rotate(360deg)}}
@media(max-width:900px){.tokyo-copy .proposal-preview-intro{flex-direction:column;align-items:flex-start}
.tokyo-copy .proposal-actions{margin-top:12px}
}
@media(max-width:420px){.tokyo-copy .proposal-actions .proposal-orbit{width:88px;height:88px;flex-basis:88px;font-size:12px}
.tokyo-copy .proposal-orbit-row{gap:16px}
.tokyo-copy body{background-attachment:scroll}
}
@media(prefers-reduced-motion:reduce){.tokyo-copy .proposal-actions .proposal-orbit:before{animation:none}
.tokyo-copy .proposal-actions .proposal-orbit{transition:none}
}
