:root{--navy-deep:#021e3e; --navy-mid:#0b2f5a; --navy-soft:#1d4a80; --gold:#c8862f; --gold-light:#f3c877; --gold-deep:#9a5c1a; --cream:#f3f8fc; --paper:#ffffff; --ink:#0f1626; --muted:#4a5568; --line:rgba(2,30,62,0.12);}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; background:var(--cream); color:var(--ink); -webkit-font-smoothing:antialiased; line-height:1.6; overflow-x:hidden;}
a{color:inherit; text-decoration:none;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:4px;}
h1,h2{font-family:'Fraunces',serif; font-weight:600; color:var(--navy-deep); line-height:1.12; letter-spacing:-0.01em;}
.wrap{max-width:960px; margin:0 auto; padding:0 20px;}
.eyebrow{font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep);}

.top{position:sticky; top:0; z-index:50; background:rgba(243,248,252,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.bar{max-width:960px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px;}
.bar img{height:48px; width:auto; display:block;}
.bar nav{display:flex; align-items:center; gap:18px;}
.nav-link{font-weight:600; font-size:14.5px; color:var(--navy-mid);}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 22px; border-radius:999px; font-weight:700; font-size:15px; border:1.5px solid transparent; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; text-align:center;}
.btn:hover{transform:translateY(-2px);}
.btn-sm{padding:9px 16px; font-size:14px;}
.btn-gold{background:linear-gradient(135deg,#fdda96,#e4a348 55%,#c47f2c); color:var(--navy-deep); box-shadow:0 6px 18px rgba(194,135,43,0.35);}
.btn-wa{background:#25d366; color:#fff; box-shadow:0 6px 18px rgba(37,211,102,0.3);}
.btn-outline{border-color:var(--navy-mid); color:var(--navy-mid);}
.btn-outline:hover{background:var(--navy-mid); color:#fff;}

.hero{padding:40px 0 30px;}
.crumbs{font-size:13.5px; color:#7a8094; margin-bottom:18px;}
.crumbs a{text-decoration:underline; text-underline-offset:2px;}
.hero h1{font-size:clamp(30px,5vw,46px); margin:10px 0 14px;}
.flag{font-size:0.85em;}
.lead{font-size:17px; color:var(--muted); max-width:680px;}
.ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;}
.ctas.center{justify-content:center;}

.facts{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.fact{background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px;}
.fact .lbl, .fee .lbl{font-size:11.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold);}
.fact .val{font-weight:600; color:var(--navy-deep); margin-top:6px; font-size:15px; line-height:1.45;}

.block{margin-top:56px;}
.block h2{font-size:clamp(24px,3.4vw,32px);}
.block h2.small{font-size:22px;}
.sub{color:var(--muted); margin:8px 0 20px; max-width:680px;}
.checklist{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px;}
.checklist li{position:relative; padding-left:30px; color:var(--ink); font-size:15px;}
.send-list{margin-top:16px;}
.checklist li::before{content:'✓'; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:var(--navy-mid); color:#fff; font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center;}

.steps{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:20px;}
.steps li{background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; display:flex; flex-direction:column; gap:6px;}
.steps .num{font-family:'Fraunces',serif; color:var(--gold); font-size:22px; font-weight:600;}
.steps b{color:var(--navy-deep);}
.steps li > span:last-child{color:var(--muted); font-size:14.5px;}
.fee{display:flex; align-items:center; gap:24px; margin-top:16px; background:var(--navy-deep); color:#fff; border-radius:18px; padding:22px 26px;}
.fee .amt{font-family:'Fraunces',serif; font-size:34px; color:var(--gold-light); white-space:nowrap;}
.fee .amt small{font-family:'Inter',sans-serif; font-size:14px; color:#c7cce0;}
.fee-points{list-style:none; display:grid; gap:6px;}
.fee-points li{color:#c7cce0; font-size:14.5px; padding-left:22px; position:relative;}
.fee-points li::before{content:'✓'; position:absolute; left:0; color:var(--gold-light); font-weight:800;}
.fee-points b{color:#fff;}

.faqs{margin-top:18px; display:grid; gap:10px;}
details{background:#fff; border:1px solid var(--line); border-radius:14px; padding:4px 18px;}
summary{cursor:pointer; font-weight:600; color:var(--navy-deep); padding:14px 0; list-style:none; position:relative; padding-right:28px;}
summary::-webkit-details-marker{display:none;}
summary::after{content:'+'; position:absolute; right:0; top:10px; font-size:22px; color:var(--gold);}
details[open] summary::after{content:'–';}
details p{color:var(--muted); padding-bottom:16px; font-size:15px;}
.note{margin-top:18px; font-size:13.5px; color:#6b7285; background:#fff7e8; border:1px solid #f0d9a8; border-radius:12px; padding:12px 16px;}
.note a{text-decoration:underline; font-weight:600; color:var(--navy-mid); overflow-wrap:anywhere;}

.cta-band{margin-top:56px; background:linear-gradient(135deg,var(--navy-deep),var(--navy-soft)); border-radius:24px; padding:44px 24px; text-align:center;}
.cta-band h2{color:#fff; font-size:clamp(24px,3.6vw,34px);}
.cta-band p{color:#c7cce0; margin-top:10px;}

.others{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px;}
.others a{background:#fff; border:1px solid var(--line); border-radius:999px; padding:9px 16px; font-weight:600; font-size:14.5px; color:var(--navy-mid);}
.others a:hover{border-color:var(--gold);}

footer{margin-top:64px; border-top:1px solid var(--line); padding:28px 20px 90px; text-align:center; font-size:13.5px; color:#7a8094;}
.foot-contact{display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; margin-bottom:12px; font-weight:600;}
.foot-contact a{color:var(--navy-mid); overflow-wrap:anywhere;}
footer p a{text-decoration:underline;}

.wa-float{position:fixed; right:16px; bottom:16px; z-index:60; width:56px; height:56px; border-radius:50%; background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(0,0,0,0.25);}

@media (max-width:820px){
  .facts{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .checklist{grid-template-columns:1fr;}
  .fee{flex-direction:column; align-items:flex-start; gap:8px;}
}
@media (max-width:520px){
  .nav-link{display:none;}
  .bar img{height:40px;}
  .facts, .steps{grid-template-columns:1fr;}
  .ctas .btn{width:100%;}
}
@media (prefers-reduced-motion: reduce){*{transition:none !important; scroll-behavior:auto !important;}}

.wrap.narrow{max-width:780px;}
.toc{background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px 22px; margin-bottom:8px;}
.toc b{color:var(--navy-deep); font-size:14px;}
.toc ol{margin:8px 0 0 18px; display:grid; gap:4px;}
.toc a{color:var(--navy-mid); font-size:14.5px; text-decoration:underline; text-decoration-color:rgba(194,135,43,0.5); text-underline-offset:3px;}
.prose section{margin-top:40px; scroll-margin-top:90px;}
.prose h2{font-size:clamp(23px,3.2vw,29px); margin-bottom:12px;}
.prose p{color:#33384a; font-size:16.5px; line-height:1.75; margin-top:10px;}
.prose ul, .prose ol{margin:12px 0 0 22px; display:grid; gap:8px;}
.prose li{color:#33384a; font-size:16px; line-height:1.65;}
.prose .tip{margin-top:16px; background:#fff7e8; border-left:4px solid var(--gold); border-radius:10px; padding:14px 16px; color:#4a3a14; font-size:15px; line-height:1.6;}
.prose .sample{margin-top:14px; white-space:pre-wrap; font-family:'Inter',sans-serif; font-size:14.5px; line-height:1.65; color:#2a2f40; background:#fff; border:1px dashed rgba(2,30,62,0.25); border-radius:14px; padding:20px;}
.mid-cta{margin-top:36px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; background:var(--navy-deep); border-radius:18px; padding:20px 22px;}
.mid-cta b{display:block; color:#fff; font-size:16px;}
.mid-cta span{color:#c7cce0; font-size:14px;}
.guide-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; margin-top:14px;}
.guide-card{display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px; transition:border-color .2s ease, transform .2s ease;}
.guide-card:hover{border-color:var(--gold); transform:translateY(-3px);}
.guide-card b{font-family:'Fraunces',serif; font-weight:600; color:var(--navy-deep); font-size:18px; line-height:1.3;}
.guide-card span{color:var(--muted); font-size:14px; line-height:1.55; flex:1;}
.guide-card em{font-style:normal; color:var(--gold); font-weight:700; font-size:14px;}
footer p + p{margin-top:6px;}
@media (max-width:520px){ .mid-cta .btn{width:100%;} .prose p{font-size:16px;} }

.post-card{padding:0; overflow:hidden;}
.post-card img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:#1b2233;}
.post-card small, .post-card b, .post-card span, .post-card em{padding:0 20px;}
.post-card small{padding-top:16px; color:var(--gold); font-weight:700; font-size:12.5px; letter-spacing:0.04em;}
.post-card em{padding-bottom:20px;}
.prose figure{margin:16px 0 0;}
.prose figure img{width:100%; max-height:520px; object-fit:contain; background:#1b2233; border-radius:16px; display:block;}
.prose figcaption{color:#6b7285; font-size:13.5px; margin-top:8px; text-align:center;}
.hero .lead a{color:var(--navy-mid);}

.click-stamp{--c:#c8862f; --r:-12deg; position:fixed; z-index:500; pointer-events:none; width:74px; height:74px; margin:-37px 0 0 -37px; border-radius:50%; border:2.5px dashed var(--c); box-shadow:inset 0 0 0 3px rgba(255,255,255,0.85), inset 0 0 0 4.5px var(--c); background:rgba(255,255,255,0.55); color:var(--c); display:flex; flex-direction:column; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; animation:click-stamp 1.3s cubic-bezier(.3,1.5,.5,1) forwards;}
.click-stamp b{font-size:9px; font-weight:800; letter-spacing:0.12em;}
.click-stamp i{font-style:normal; font-size:20px; line-height:1; font-weight:800;}
.click-stamp small{font-size:6.5px; font-weight:800; letter-spacing:0.14em;}
@keyframes click-stamp{0%{opacity:0; transform:rotate(var(--r)) scale(2.2);} 18%{opacity:1; transform:rotate(var(--r)) scale(0.9);} 28%{transform:rotate(var(--r)) scale(1);} 70%{opacity:0.9; transform:rotate(var(--r)) scale(1);} 100%{opacity:0; transform:rotate(var(--r)) scale(1.05) translateY(-6px);}}

.country-photo{margin:22px 0 0; max-width:760px;}
.country-photo img{width:100%; height:auto; aspect-ratio:16/7; object-fit:cover; border-radius:20px; box-shadow:0 24px 50px -24px rgba(2,30,62,0.5); display:block;}
.country-photo figcaption{font-size:11.5px; color:#8a90a2; margin-top:6px;}
.country-photo figcaption a{text-decoration:underline;}
.credits{list-style:none; display:grid; gap:14px; margin-top:10px;}
.credits li{display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:14px; padding:10px; font-size:14px; color:var(--muted);}
.credits img{border-radius:10px; flex-shrink:0;}
.credits a{text-decoration:underline; color:var(--navy-mid); overflow-wrap:anywhere;}
.credits b{color:var(--navy-deep);}
.qa{display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; margin-top:56px; background:linear-gradient(135deg,#073263,#021c3a); border:1px solid rgba(243,200,119,0.35); border-radius:24px; padding:36px; color:#fff;}
.qa .eyebrow{color:var(--gold-light);}
.qa h2{color:#fff; font-size:clamp(24px,3.2vw,32px); margin-top:8px;}
.qa ul{list-style:none; margin-top:16px; display:grid; gap:8px;}
.qa li{color:#dbe3ef; font-size:15px; padding-left:24px; position:relative;}
.qa li::before{content:'✓'; position:absolute; left:0; color:#5fe39b; font-weight:800;}
.qa-form{background:#fff; border-radius:18px; padding:22px; color:var(--ink);}
.qa-form label{display:block; font-size:13.5px; font-weight:600; color:var(--navy-mid); margin-bottom:12px;}
.qa-form input{display:block; width:100%; margin-top:6px; font:inherit; font-size:16px; border:1.5px solid var(--line); border-radius:12px; padding:12px 14px;}
.qa-form input:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(200,134,47,0.18);}
.qa-phone{display:flex; margin-top:6px;}
.qa-phone span{display:flex; align-items:center; padding:0 12px; background:var(--cream); border:1.5px solid var(--line); border-right:none; border-radius:12px 0 0 12px; font-weight:700;}
.qa-phone input{margin-top:0; border-radius:0 12px 12px 0;}
.qa-phone input{min-width:0; flex:1;}
.qa-form input, .qa-form select{max-width:100%; box-sizing:border-box;}
.qa-form{min-width:0;} .qa > *{min-width:0;}
.qa-form .btn{width:100%; padding:15px; font-size:16px;}
.qa-hp{position:absolute; left:-9999px;}
.qa-err{color:#b42318; font-size:13.5px; margin:-4px 0 10px;}
.qa-fine{font-size:12.5px; color:#6b7285; text-align:center; margin-top:10px;}
.qa-fine a{text-decoration:underline; color:var(--navy-mid);}
.qa-done{background:#fff; border-radius:18px; padding:26px; text-align:center; color:var(--ink);}
.qa-done b{font-family:'Fraunces',serif; font-size:22px; color:#1e7d46;}
.qa-done p{color:var(--muted); margin:8px 0 16px;}
.disclaimer{max-width:760px; margin:10px auto 0; font-size:12.5px; line-height:1.55;}
.mobile-bar{display:none;}
@media (max-width:820px){ .qa{grid-template-columns:minmax(0,1fr); padding:26px 18px;} }
@media (max-width:900px){
  .mobile-bar{position:fixed; left:0; right:0; bottom:0; z-index:150; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr) minmax(0,1.2fr); gap:8px; box-sizing:border-box; padding:8px 10px calc(8px + env(safe-area-inset-bottom)); background:rgba(255,255,255,0.96); backdrop-filter:blur(12px); box-shadow:0 -10px 30px -12px rgba(2,30,62,0.35);}
  .mobile-bar a{display:flex; align-items:center; justify-content:center; gap:6px; height:48px; border-radius:14px; font-weight:800; font-size:14.5px;}
  .mb-wa{background:#25d366; color:#fff;}
  .mb-call{background:var(--cream); color:var(--navy-mid); border:1px solid var(--line);}
  .mb-apply{background:linear-gradient(135deg,#fdda96,#e4a348 55%,#c47f2c); color:var(--navy-deep);}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom));}
  .wa-float{display:none;}
}

.pbox{background:linear-gradient(160deg,#f6f9ff,#eaf1fb); border:1px solid var(--line); border-radius:24px; padding:26px;}
.pbox h2{font-size:clamp(22px,3vw,28px);}
.pbox-sub{color:var(--muted); margin-top:6px;}
.ptab-in{position:absolute; opacity:0; pointer-events:none;}
.ptabs{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:18px 0 6px;}
.ptab{display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:15px; padding:11px 20px; border-radius:999px; background:#fff; border:1.5px solid var(--line); color:var(--navy-mid); cursor:pointer; transition:all .2s ease;}
.ptab:hover{border-color:var(--gold);}
.ptab-soon{font-size:13px; color:#7a8094; margin-left:6px;}
.ptab-soon a{text-decoration:underline; font-weight:700; color:var(--navy-mid);}
.ppanel{display:none; animation:qs-in .3s ease;}
.ppanel-intro{margin-top:12px; color:#3d4a5f;}
#p-salaried:checked ~ .ptabs .ptab-salaried{background:var(--navy-deep); border-color:var(--navy-deep); color:#fff;}
#p-salaried:checked ~ .ppanel-salaried{display:block;}
#p-salaried:focus-visible ~ .ptabs .ptab-salaried{outline:2px solid var(--gold); outline-offset:2px;}
#p-business:checked ~ .ptabs .ptab-business{background:var(--navy-deep); border-color:var(--navy-deep); color:#fff;}
#p-business:checked ~ .ppanel-business{display:block;}
#p-business:focus-visible ~ .ptabs .ptab-business{outline:2px solid var(--gold); outline-offset:2px;}
#p-student:checked ~ .ptabs .ptab-student{background:var(--navy-deep); border-color:var(--navy-deep); color:#fff;}
#p-student:checked ~ .ppanel-student{display:block;}
#p-student:focus-visible ~ .ptabs .ptab-student{outline:2px solid var(--gold); outline-offset:2px;}
#p-farmer:checked ~ .ptabs .ptab-farmer{background:var(--navy-deep); border-color:var(--navy-deep); color:#fff;}
#p-farmer:checked ~ .ppanel-farmer{display:block;}
#p-farmer:focus-visible ~ .ptabs .ptab-farmer{outline:2px solid var(--gold); outline-offset:2px;}
.pbox .farmer-groups details{border-color:var(--line);}
.pbox .farmer-groups details.pextra{background:#fff7e8; border-color:#f0d9a8;}
.pbox .farmer-groups summary{color:var(--navy-deep);}
.pbox .farmer-groups summary::after{color:var(--gold-deep);}
.pbox .farmer-groups summary small{background:var(--cream); color:var(--gold-deep);}
.pbox .farmer-cta a:not(.btn){color:var(--navy-mid);}
@media (max-width:760px){ .pbox{padding:20px 16px;} .pbox .farmer-cta .btn{width:100%;} }
.extra-h{font-family:'Fraunces',serif; font-size:19px; color:var(--navy-deep); margin:20px 0 10px;}
.checklist.extra{background:#fff7e8; border-color:#f0d9a8;}
.tick-list{list-style:none !important; margin-left:0 !important; display:grid; gap:8px;}
.tick-list li{position:relative; padding-left:30px;}
.tick-list li::before{content:''; position:absolute; left:0; top:3px; width:18px; height:18px; border:2px solid var(--gold); border-radius:5px; background:#fff;}
.tick-list li::after{content:'✓'; position:absolute; left:4px; top:0; font-size:13px; font-weight:800; color:#1e9e57;}
.farmer{background:linear-gradient(160deg,#f3fbef,#e3f4da); border:1px solid rgba(77,140,60,0.35); border-radius:24px; padding:26px;}
.farmer-head{display:flex; gap:16px; align-items:flex-start;}
.farmer-icon{width:56px; height:56px; flex-shrink:0; border-radius:16px; background:#4d8c3c; display:flex; align-items:center; justify-content:center; font-size:28px; box-shadow:0 10px 20px -10px rgba(77,140,60,0.8);}
.farmer h2{font-size:clamp(21px,3vw,27px); color:#1f4d17;}
.farmer-head p{color:#3d5a35; margin-top:6px; font-size:15px;}
.farmer-groups{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; align-items:start;}
.farmer-groups details{background:#fff; border:1px solid rgba(77,140,60,0.25); border-radius:14px; padding:2px 16px;}
.farmer-groups summary{font-weight:700; color:#1f4d17; padding:13px 0; cursor:pointer; list-style:none; position:relative; padding-right:26px;}
.farmer-groups summary::-webkit-details-marker{display:none;}
.farmer-groups summary::after{content:'+'; position:absolute; right:0; top:9px; font-size:20px; color:#4d8c3c;}
.farmer-groups details[open] summary::after{content:'–';}
.farmer-groups summary small{font-size:11.5px; background:#e3f4da; color:#3d6b30; border-radius:999px; padding:1px 8px; margin-left:4px;}
.farmer-groups ul{padding-bottom:14px; font-size:14.5px; color:var(--ink);}
.farmer-cta{display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:20px;}
.farmer-cta a:not(.btn){font-weight:700; color:#2e6b22; text-decoration:underline; text-underline-offset:3px;}
@media (max-width:760px){ .farmer-groups{grid-template-columns:1fr;} .farmer{padding:20px 16px;} .farmer-cta .btn{width:100%;} }
.qs{position:relative;}
.qs-steps{list-style:none; display:flex; gap:6px; margin-bottom:16px; counter-reset:s;}
.qs-steps li{flex:1; counter-increment:s; font-size:12px; font-weight:800; color:#8a90a2; text-align:center; padding-top:10px; border-top:4px solid var(--line); display:block;}
.qs-steps li::marker{content:'';}
.qs-steps li::before{content:counter(s) '. '; position:static; color:inherit;}
.qa .qs-steps li{padding-left:0; color:#8a90a2; font-size:12px;}
.qa .qs-steps li.on{color:var(--navy-deep);} .qa .qs-steps li.done{color:#1e9e57;}
.qs-steps li.on{color:var(--navy-deep); border-color:var(--gold);}
.qs-steps li.done{color:#1e9e57; border-color:#2fcf74;}
.qs-panel{border:none; padding:0; margin:0; min-width:0; animation:qs-in .3s ease;}
@keyframes qs-in{from{opacity:0; transform:translateX(12px);} to{opacity:1; transform:none;}}
.qs-panel legend{font-family:'Fraunces',serif; font-size:21px; font-weight:600; color:var(--navy-deep); margin-bottom:12px;}
.qs-panel select{display:block; width:100%; margin-top:6px; font:inherit; font-size:16px; border:1.5px solid var(--line); border-radius:12px; padding:12px 14px; background:#fff;}
.qs-panel label small{font-weight:400; color:#8a90a2;}
.qs-label{display:block; font-size:13.5px; font-weight:600; color:var(--navy-mid); margin:4px 0 8px;}
.qs-count{display:inline-flex; align-items:center; gap:4px; border:1.5px solid var(--line); border-radius:12px; padding:4px; margin-bottom:14px;}
.qs-count button{width:38px; height:38px; border:none; border-radius:9px; background:var(--cream); font-size:20px; font-weight:700; color:var(--navy-deep); cursor:pointer;}
.qs-count output{min-width:40px; text-align:center; font-weight:800; font-size:17px;}
.qs-chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;}
.qs-chips label{margin:0;}
.qs-chips input{position:absolute; opacity:0; width:1px; height:1px; margin:0; padding:0;}
.qs-chips label{position:relative;}
.qs-chips span{display:inline-block; padding:9px 14px; border-radius:999px; border:1.5px solid var(--line); font-size:14px; font-weight:700; color:var(--navy-mid); cursor:pointer; transition:all .15s ease;}
.qs-chips input:checked + span{background:var(--navy-deep); border-color:var(--navy-deep); color:#fff;}
.qs-chips input:focus-visible + span{outline:2px solid var(--gold); outline-offset:2px;}
.qs-nav{display:flex; gap:10px; align-items:center;}
.qs-nav .btn{flex:1;}
.qs-back{border:none; background:none; font:inherit; font-weight:700; color:var(--navy-mid); cursor:pointer; padding:10px 6px;}
.qs-review{display:grid; grid-template-columns:auto 1fr; gap:8px 14px; background:var(--cream); border-radius:14px; padding:14px 16px; margin-bottom:16px; font-size:14px;}
.qs-review dt{color:#6b7285; font-weight:600;}
.qs-review dd{color:var(--navy-deep); font-weight:700; overflow-wrap:anywhere;}

.dc{background:#fff; border:1px solid var(--line); border-radius:24px; padding:26px; box-shadow:0 20px 44px -30px rgba(2,30,62,0.4);}
.dc-head{display:flex; justify-content:space-between; gap:24px; align-items:flex-start; flex-wrap:wrap;}
.dc-head > div:first-child{flex:1; min-width:260px;}
.dc-head .sub{margin-bottom:0;}
.dc-progress{min-width:170px; background:var(--cream); border-radius:16px; padding:12px 16px; text-align:center;}
.dc-progress b{font-family:'Fraunces',serif; font-size:26px; color:var(--navy-deep);}
.dc-progress small{display:block; font-size:12px; color:#6b7285; font-weight:700; text-transform:uppercase; letter-spacing:0.1em;}
.dc-bar{display:block; height:8px; border-radius:99px; background:var(--line); margin-top:8px; overflow:hidden;}
.dc-bar span{display:block; height:100%; width:0; border-radius:99px; background:linear-gradient(90deg,#fdda96,#e4a348,#2fcf74); transition:width .4s ease;}
.dc.all-done .dc-progress{background:#e3f6ec;}
.dc-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; margin-top:22px; align-items:start;}
.dc-card{border:1px solid var(--line); border-radius:18px; padding:16px 16px 10px; background:linear-gradient(180deg,#fbfdff,#fff);}
.dc-card h3{display:flex; align-items:center; gap:8px; font-size:17px; color:var(--navy-deep); margin-bottom:8px;}
.dc-card h3 span{width:34px; height:34px; border-radius:10px; background:var(--cream); display:inline-flex; align-items:center; justify-content:center; font-size:17px;}
.dc-card h3 small{margin-left:auto; font-family:'Inter',sans-serif; font-size:12px; font-weight:700; color:var(--gold-deep); background:#fdf1dc; border-radius:999px; padding:2px 9px;}
.dc-card ul{list-style:none; display:grid; gap:2px;}
.dc-card label{display:flex; gap:10px; align-items:flex-start; padding:8px 6px; border-radius:10px; cursor:pointer; font-size:14.5px; color:var(--ink); line-height:1.45; transition:background .15s ease;}
.dc-card label:hover{background:var(--cream);}
.dc-card input{appearance:none; -webkit-appearance:none; width:20px; height:20px; flex-shrink:0; margin-top:1px; border:2px solid var(--gold); border-radius:6px; background:#fff; cursor:pointer; display:grid; place-content:center; transition:all .15s ease;}
.dc-card input::after{content:'✓'; color:#fff; font-size:13px; font-weight:800; transform:scale(0); transition:transform .15s ease;}
.dc-card input:checked{background:#1e9e57; border-color:#1e9e57;}
.dc-card input:checked::after{transform:scale(1);}
.dc-card input:checked + span{color:#6b7285; text-decoration:line-through; text-decoration-color:rgba(30,158,87,0.6);}
.dc-card input:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
.dc-actions{display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:20px;}
.dc-reset{border:none; background:none; font:inherit; font-weight:700; color:#6b7285; text-decoration:underline; cursor:pointer;}
@media (max-width:600px){ .dc{padding:20px 14px;} .dc-grid{grid-template-columns:1fr;} .dc-progress{width:100%;} .dc-actions .btn{width:100%;} }

.cw{background:linear-gradient(160deg,#ffffff,#f3f8fc); border:1px solid var(--line); border-radius:26px; padding:28px; box-shadow:0 24px 50px -32px rgba(2,30,62,0.45);}
.cw-badge{display:inline-block; font-size:12.5px; font-weight:800; color:#14894a; background:#e3f6ec; border-radius:999px; padding:5px 12px;}
.cw-head h2{font-size:clamp(23px,3.2vw,30px); margin-top:10px;}
.cw-head p{color:var(--muted); margin-top:6px;}
.cw-step, .cw-result{margin-top:22px; animation:qs-in .35s ease;}
.cw-q{display:flex; align-items:center; gap:10px; font-weight:800; font-size:17px; color:var(--navy-deep);}
.cw-q span{width:28px; height:28px; flex-shrink:0; border-radius:50%; background:var(--navy-deep); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:14px;}
.cw-cards{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:14px;}
.cw-card{display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:20px 12px; border-radius:18px; border:2px solid var(--line); background:#fff; font:inherit; cursor:pointer; transition:all .2s ease;}
.cw-card:hover{border-color:var(--gold); transform:translateY(-3px); box-shadow:0 14px 28px -18px rgba(2,30,62,0.4);}
.cw-card.on{border-color:var(--navy-deep); background:#f0f5fb;}
.cw-ic{width:58px; height:58px; border-radius:50%; background:var(--cream); display:flex; align-items:center; justify-content:center; font-size:28px;}
.cw-card b{font-size:16.5px; color:var(--navy-deep);}
.cw-card small{font-size:13px; color:#6b7285; line-height:1.35;}
.cw-yesno{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; max-width:620px;}
.cw-yn{display:flex; flex-direction:column; gap:4px; padding:18px; border-radius:16px; border:2px solid var(--line); background:#fff; font:inherit; text-align:left; cursor:pointer; transition:all .2s ease;}
.cw-yn:hover{border-color:var(--gold); transform:translateY(-2px);}
.cw-yn b{font-size:18px; color:var(--navy-deep);}
.cw-yn small{color:#6b7285; font-size:13.5px;}
.cw-link{border:none; background:none; font:inherit; font-weight:700; color:var(--navy-mid); cursor:pointer; padding:10px 0; text-decoration:underline; text-underline-offset:3px;}
.cw-back{display:inline-block; margin-top:6px;}
.cw-rhead{display:flex; justify-content:space-between; gap:18px; align-items:flex-start; flex-wrap:wrap;}
.cw-chip{display:inline-block; font-size:13px; font-weight:700; color:var(--gold-deep); background:#fdf1dc; border-radius:999px; padding:5px 12px;}
.cw-rhead h3{font-family:'Fraunces',serif; font-size:24px; color:var(--navy-deep); margin-top:8px;}
.cw-prog{min-width:180px; background:var(--cream); border-radius:16px; padding:12px 16px; text-align:center;}
.cw-prog b{font-family:'Fraunces',serif; font-size:26px; color:var(--navy-deep);}
.cw-prog small{display:block; font-size:11.5px; color:#6b7285; font-weight:800; text-transform:uppercase; letter-spacing:0.08em;}
.cw-bar{display:block; height:8px; border-radius:99px; background:var(--line); margin-top:8px; overflow:hidden;}
.cw-bar span{display:block; height:100%; width:0; border-radius:99px; background:linear-gradient(90deg,#fdda96,#e4a348,#2fcf74); transition:width .4s ease;}
.cw.all-done .cw-prog{background:#e3f6ec;}
.cw-block{margin-top:16px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px 18px;}
.cw-block h4, .cw-opt summary{font-size:16px; font-weight:800; color:var(--navy-deep);}
.cw-must{border-color:rgba(30,158,87,0.35);}
.cw-opt summary{cursor:pointer; list-style:none; position:relative; padding-right:26px;}
.cw-opt summary::-webkit-details-marker{display:none;}
.cw-opt summary::after{content:'+'; position:absolute; right:0; top:-3px; font-size:22px; color:var(--gold-deep);}
.cw-opt[open] summary::after{content:'–';}
.cw-opt summary small{font-size:12px; background:var(--cream); color:var(--gold-deep); border-radius:999px; padding:2px 9px; margin-left:4px;}
.cw-optnote{font-size:13.5px; color:#6b7285; margin-top:8px;}
.cw-list{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:2px 16px; margin-top:10px;}
.cw-list label{display:flex; gap:10px; align-items:flex-start; padding:9px 8px; border-radius:10px; cursor:pointer; font-size:14.5px; line-height:1.45; color:var(--ink); transition:background .15s ease;}
.cw-list label:hover{background:var(--cream);}
.cw-list input{appearance:none; -webkit-appearance:none; width:21px; height:21px; flex-shrink:0; margin-top:1px; border:2px solid var(--gold); border-radius:6px; background:#fff; cursor:pointer; display:grid; place-content:center; transition:all .15s ease;}
.cw-list input::after{content:'✓'; color:#fff; font-size:13px; font-weight:800; transform:scale(0); transition:transform .15s ease;}
.cw-list input:checked{background:#1e9e57; border-color:#1e9e57;}
.cw-list input:checked::after{transform:scale(1);}
.cw-list input:checked ~ .cw-t{color:#8a90a2; text-decoration:line-through;}
.cw-cat{flex-shrink:0; font-size:15px; width:20px; text-align:center;}
.cw-actions{display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin-top:20px;}
.cw-guide{margin-top:12px; font-size:14px; color:#6b7285;}
.cw-guide a{font-weight:700; color:var(--navy-mid); text-decoration:underline;}
@media (max-width:820px){ .cw-cards{grid-template-columns:1fr 1fr;} .cw-list{grid-template-columns:1fr;} }
@media (max-width:520px){ .cw{padding:20px 14px;} .cw-yesno{grid-template-columns:1fr;} .cw-prog{width:100%;} .cw-actions .btn{width:100%;} .cw-card{padding:16px 8px;} .cw-ic{width:50px; height:50px; font-size:24px;} }
