/* 房貸頁專用：暖橘色系，所有規則限縮於 mortgage-page，避免影響共用頁首／頁尾。 */
.mortgage-page{--mort-bg:#fffaf3;--mort-panel:#fffdf8;--mort-line:#eadccf;--mort-text:#684128;--mort-muted:#8d6b57;--mort-orange:#ff9b2f;--mort-orange-deep:#ff7f18;--mort-shadow:0 18px 40px rgba(173,119,72,.11);background:linear-gradient(180deg,#fffdfa 0%,#fff7ef 100%);color:var(--mort-text)}
.mortgage-page main>.container,.mortgage-page .mortgage-hero>.container{width:min(1680px,calc(100% - 16px))}.mortgage-page .mortgage-layout{grid-template-columns:minmax(350px,.72fr) minmax(0,1.28fr)}
.mortgage-page .notice{display:flex;align-items:center;justify-content:center;gap:7px;text-align:left}.mortgage-page .notice-plant{width:25px;height:25px;flex:0 0 25px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(147,91,45,.13))}
.loan-mode{margin-bottom:-2px}.mode-segment{display:flex;gap:7px;padding:4px;border:1px solid #ecdaca;border-radius:14px;background:#fff8ef}.mode-segment button{flex:1;border:0;border-radius:10px;padding:9px 8px;background:transparent;color:#9b7458;font-size:12px;font-weight:800}.mode-segment button.active{background:#fff;color:#a45b1d;box-shadow:0 3px 9px rgba(147,91,45,.12)}.muted-field{opacity:.56}.payment-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:-5px 0 16px}.payment-breakdown>div{padding:12px 14px;border:1px dashed #efcfaa;border-radius:14px;background:#fff8ec}.payment-breakdown span,.payment-breakdown small{display:block;color:#9a704f;font-size:12px;font-weight:800}.payment-breakdown strong{display:inline-block;margin-top:5px;color:#b85e12;font-size:22px;letter-spacing:-.03em}.payment-breakdown small{display:inline;margin-left:4px}
.mortgage-page main{position:relative;overflow:hidden;padding-bottom:28px;background:radial-gradient(circle at 5% 14%,rgba(255,213,158,.22),transparent 21%),radial-gradient(circle at 96% 33%,rgba(255,225,176,.21),transparent 19%)}
.mortgage-page .crumb-row{position:relative;z-index:2;margin-top:14px;background:rgba(255,253,248,.88);border-color:var(--mort-line);box-shadow:0 7px 18px rgba(173,119,72,.06)}
.mortgage-page .crumb-row .tag{background:#fff1d6;color:#a25b20}
.mortgage-page .crumb a{color:#c8671d}
.mortgage-hero{position:relative;overflow:hidden;padding:34px 0 29px;background:radial-gradient(circle at top right,#fff4dc,#fffdf8 55%,#fff8f0)}
.mortgage-hero:before,.mortgage-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,190,122,.15);filter:blur(8px);pointer-events:none}.mortgage-hero:before{width:280px;height:280px;left:-100px;top:38px}.mortgage-hero:after{width:230px;height:230px;right:-72px;bottom:-70px}
.mortgage-hero .container{position:relative;z-index:1}.mortgage-hero .hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(220px,.72fr);align-items:center;gap:18px}.mortgage-hero .hero-copy{position:relative;z-index:2}.mortgage-hero .eyebrow{background:#fff1d8;color:#a25e20;box-shadow:0 6px 16px rgba(184,100,32,.08)}
.mortgage-hero h1{margin:13px 0 8px;color:#bd631f;font-size:clamp(34px,5vw,53px);line-height:1.12;letter-spacing:.04em;text-shadow:0 3px 0 rgba(255,201,154,.58)}
.mortgage-hero p{margin:0;color:#74533d;font-size:17px;font-weight:700}.hero-tags{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:19px}.hero-tags span{padding:9px 14px;border:1px solid var(--mort-line);border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 7px 15px rgba(189,125,72,.07);color:#8a603b;font-size:13px;font-weight:800}
/* 可愛插圖：HTML 插入 .hero-visual、.float-plant 時立即適用。 */
.mortgage-page .hero-visual{position:relative;z-index:1;right:auto;bottom:auto;display:flex;justify-content:center;align-items:center;min-height:0;pointer-events:none}.mortgage-page .hero-visual img{width:min(100%,350px);max-width:none;border:0;border-radius:0;mix-blend-mode:multiply;filter:drop-shadow(0 18px 20px rgba(147,91,45,.14))}.mortgage-page .float-plant{position:absolute;z-index:2;width:clamp(60px,7vw,94px);pointer-events:none;filter:drop-shadow(0 10px 13px rgba(147,91,45,.12))}.mortgage-page .plant-left{left:max(1vw,12px);bottom:22px}.mortgage-page .plant-right{right:max(1vw,12px);bottom:18px;transform:scaleX(-1)}
.mortgage-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:20px;align-items:start}.mortgage-card{background:rgba(255,253,248,.97);border:1px solid var(--mort-line);border-radius:24px;padding:23px;box-shadow:var(--mort-shadow)}.form-card{position:sticky;top:92px}.card-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:19px}.card-heading h2{margin:0 0 6px;color:#7b4d2b;font-size:21px;letter-spacing:.04em}.card-heading p{margin:0;color:var(--mort-muted);font-size:13px;line-height:1.5}.heading-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:#fff1d4;font-size:23px;box-shadow:inset 0 0 0 1px #f0d4ae}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:block;min-width:0}.field>span{display:block;margin:0 0 7px;color:#82532c;font-size:13px;font-weight:800}.field small{display:block;margin-top:5px;color:#b87800;font-size:12px;font-weight:800}.full{grid-column:1/-1}.control{display:flex;align-items:center;overflow:hidden;border:1px solid #ecdaca;border-radius:14px;background:#fff;min-height:45px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transition:.15s}.control:focus-within{border-color:#ffb162;box-shadow:0 0 0 4px rgba(255,177,98,.15)}.control input,.control select{width:100%;min-width:0;padding:11px 11px;border:0;outline:0;background:transparent;color:var(--mort-text);font-size:14px;font-weight:700}.control em{padding-right:12px;color:#977058;font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}.readonly{background:#fffaf6}
.prepay-box{position:relative;margin-top:18px;padding:16px;border:1px solid #f0d7bb;border-radius:20px;background:linear-gradient(180deg,#fffef9,#fff7ee)}.prepay-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.prepay-head .piggy-bank,.prepay-piggy{width:76px;filter:drop-shadow(0 8px 12px rgba(147,91,45,.12))}.prepay-piggy{position:absolute;right:12px;top:-22px}.toggle{display:flex;align-items:center;gap:9px;cursor:pointer}.toggle input{position:absolute;opacity:0}.toggle span{position:relative;width:39px;height:22px;border-radius:22px;background:#d8c9bd;transition:.2s}.toggle span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #a88;transition:.2s}.toggle input:checked+span{background:var(--mort-orange)}.toggle input:checked+span:after{transform:translateX(17px)}.toggle b{color:#8a582f;font-size:14px}.prepay-box p,.notice{margin:9px 0 0;color:#a27454;font-size:12px;line-height:1.6;font-weight:600}.compact-grid{margin-top:14px}.action-row{display:flex;gap:10px;margin-top:20px}.primary-action,.secondary-action,.text-action{border:0;border-radius:12px;padding:11px 16px;font-size:13px;font-weight:800;transition:transform .18s,box-shadow .18s}.primary-action:hover,.secondary-action:hover{transform:translateY(-1px)}.primary-action{flex:1;background:linear-gradient(135deg,var(--mort-orange),var(--mort-orange-deep));color:#fff;box-shadow:0 10px 22px rgba(255,137,30,.24)}.secondary-action{background:#fff5e9;color:#9b642b;border:1px solid #f1cfac}.notice{text-align:center}
.result-column{display:grid;gap:20px}.with-mascot{align-items:center}.with-mascot .mascot{margin-left:auto}.result-ribbon{display:inline-flex;align-items:center;padding:8px 12px;border-radius:12px 4px 12px 4px;background:#9cc56e;color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 16px rgba(110,156,59,.18)}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.summary{display:flex;flex-direction:column;min-height:130px;padding:17px;border:1px solid var(--mort-line);border-radius:20px}.summary span{color:#885936;font-size:13px;font-weight:900}.summary strong{margin-top:auto;font-size:clamp(23px,3vw,32px);letter-spacing:-.045em}.summary small{margin-top:5px;color:#9b7458;font-size:12px;font-weight:800}.summary.orange{background:#fff3e5}.summary.yellow{background:#fff9e8}.summary.green{background:#eef8e8}.summary.pink{background:#fff0f0}.summary.orange strong{color:#b45d0b}.summary.yellow strong{color:#9b6913}.summary.green strong{color:#4c7a2d}.summary.pink strong{color:#ef5b63}
.chart-card{position:relative;overflow:hidden}.chart-card .mini-house{position:absolute;right:22px;top:11px;width:73px;opacity:.88;pointer-events:none}.chart-scroll{width:100%;overflow:hidden}.chart-scroll canvas{display:block;width:100%;min-height:220px;border:1px solid #f0e3d3;border-radius:18px;background:linear-gradient(180deg,#fffdf7,#fffaf2)}.chart-scroll-hint{display:none}.bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.38fr);gap:20px;align-items:stretch;margin-top:20px}.schedule-card{margin-top:20px}.bottom-grid .schedule-card{margin-top:0}.table-wrap{overflow:auto;border:1px solid #f0e3d3;border-radius:14px}.schedule-card table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}.schedule-card th{background:#fff5e9;color:#8b6447;text-align:right;font-size:12px}.schedule-card td,.schedule-card th{padding:12px 14px;border-bottom:1px solid #f2e8dd}.schedule-card td{color:#6f513d;text-align:right}.schedule-card td:first-child,.schedule-card th:first-child{text-align:left}.schedule-card tbody tr:hover td{background:#fffaf4}.center{text-align:center;margin-top:15px}.text-action{background:transparent;color:#a56825}.mortgage-tips{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.mortgage-tips article,.cozy-panel{border:1px solid var(--mort-line);border-radius:21px;background:rgba(255,253,248,.96);box-shadow:0 10px 24px rgba(173,119,72,.07)}.mortgage-tips article{display:flex;gap:14px;padding:20px}.mortgage-tips span{font-size:25px}.mortgage-tips h2{margin:0 0 5px;color:#7b4d2b;font-size:15px}.mortgage-tips p{margin:0;color:var(--mort-muted);font-size:13px;line-height:1.6}.cozy-panel{display:grid;place-items:center;min-height:220px;padding:16px;overflow:hidden;background:linear-gradient(180deg,#fffef9,#fff7ee)}.cozy-panel img{width:min(100%,255px);filter:drop-shadow(0 13px 18px rgba(147,91,45,.12))}.mascot{width:94px;flex:0 0 auto;filter:drop-shadow(0 8px 12px rgba(147,91,45,.12))}.hidden{display:none!important}
/* 多段利率樣式 - 人體工學優化 */
/* 分段利率區塊必須橫跨整行：它若被當成 .form-grid 的一欄，卡片只剩約 90px，
   標籤會被壓成一字一行。改為單欄堆疊，卡片各自佔滿寬度。 */
#rateFields{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:0;margin-top:0}
/* 分段利率收成一張表：欄位標題只出現一次，每段一列，避免每段都是一張高卡片。 */
.rate-table{margin:14px 0 2px;padding:13px 15px 15px;background:linear-gradient(135deg,#fffaf6 0%,#fff8f1 100%);border:1px solid #f0dcc6;border-radius:16px;box-shadow:0 2px 8px rgba(173,119,72,.06)}
.rate-table-head,.rate-row{display:grid;grid-template-columns:20px minmax(0,1fr) 92px;gap:10px;align-items:center}
.rate-table-head{margin-bottom:7px;color:#9a704f;font-size:12px;font-weight:800;letter-spacing:.02em}
.rate-table-head span:first-child{text-align:center}
.rate-row+.rate-row{margin-top:8px}
.rate-row-no{text-align:center;color:#a9805c;font-size:13px;font-weight:800}
.rate-range-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}
.rate-range-row .rate-input-box{flex:1 1 0;min-width:0}
.rate-tilde{flex:0 0 auto;color:#c39a72;font-size:14px;font-weight:800;font-style:normal}
.rate-row .rate-input-box{min-height:42px}
.rate-row .rate-input-box input{padding:10px 8px;font-size:14px;text-align:center}
.rate-row .rate-pct input{padding-right:2px;text-align:right}
.rate-row .rate-pct em{padding-right:10px}
.rate-field{display:flex;flex-direction:column;min-width:0;}
.rate-field span{color:#82532c;font-size:13px;font-weight:800;margin-bottom:8px;letter-spacing:.03em;}
.rate-input-box{position:relative;display:flex;align-items:center;border:1.5px solid #ecdaca;border-radius:14px;background:#fff;min-height:48px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 3px rgba(173,119,72,.04);transition:.2s;}
.rate-input-box:hover{border-color:#ffb162;}
.rate-input-box:focus-within{border-color:#ff9b2f;box-shadow:0 0 0 5px rgba(255,177,98,.12),inset 0 1px 0 rgba(255,255,255,.8);}
.rate-input-box input{width:100%;padding:13px 14px;border:0;outline:0;background:transparent;color:#684128;font-size:15px;font-weight:700;}
.rate-input-box input::placeholder{color:#c8a882;opacity:.6;}
.rate-input-box em{padding-right:12px;color:#9a704f;font-size:13px;font-weight:800;white-space:nowrap;}
@media(max-width:600px){.rate-table{padding:12px 13px 13px}.rate-table-head,.rate-row{grid-template-columns:24px minmax(0,1fr) 84px;gap:8px}.rate-table-head{font-size:11px}.rate-field span{font-size:12px;}.rate-input-box{min-height:46px;}.rate-input-box input{font-size:14px;padding:11px 12px;}.rate-row .rate-input-box{min-height:44px}.rate-row .rate-input-box input{font-size:15px}}
@media(max-width:1050px){.mortgage-page main>.container,.mortgage-page .mortgage-hero>.container{width:min(1180px,calc(100% - 44px))}.mortgage-page .hero-visual{opacity:.7}.mortgage-page .float-plant{opacity:.65}.mortgage-page .mortgage-layout,.mortgage-page .bottom-grid{grid-template-columns:1fr}.form-card{position:static}}
@media(max-width:700px){.mortgage-hero{padding:29px 0 25px;text-align:center}.mortgage-hero .hero-grid{grid-template-columns:1fr}.mortgage-page .hero-visual{order:-1}.mortgage-page .hero-visual img{width:min(100%,270px)}.mortgage-page .float-plant{display:none}.mortgage-hero h1{font-size:clamp(32px,10vw,43px)}.mortgage-tips{grid-template-columns:1fr}}
@media(max-width:520px){.mortgage-card{padding:17px;border-radius:19px}.form-grid,.summary-grid{grid-template-columns:1fr}.action-row{flex-direction:column}.crumb-row{margin-top:6px}.chart-card canvas{min-height:180px}.chart-card .mini-house{width:54px;right:13px;top:12px}.prepay-piggy{width:57px;right:7px;top:-17px}.mascot{width:72px}}
/* Mobile-first interaction layout: keep the calculator controls legible and
   thumb reachable instead of merely shrinking the desktop two-column view. */
@media(max-width:700px){.mortgage-page main>.container,.mortgage-page .mortgage-hero>.container{width:calc(100% - 24px)}.mortgage-page main{padding-bottom:8px}.mortgage-page .crumb-row{padding:9px 11px;overflow:hidden}.mortgage-page .crumb{min-width:max-content;font-size:12px}.mortgage-page .crumb-row .tag{display:none}.mortgage-hero{padding:18px 0 22px}.mortgage-hero .hero-grid{gap:4px}.mortgage-page .hero-visual{order:0;height:126px;margin-top:-2px}.mortgage-page .hero-visual img{width:145px}.mortgage-hero h1{margin:8px 0;font-size:31px;letter-spacing:.02em}.mortgage-hero p{font-size:14px;line-height:1.6}.hero-tags{justify-content:flex-start;gap:7px;margin-top:14px}.hero-tags span{padding:7px 9px;font-size:11px}.mortgage-layout{gap:14px}.mortgage-card{padding:16px;border-radius:18px}.card-heading{gap:10px;margin-bottom:15px}.card-heading h2{font-size:18px}.card-heading p{font-size:12px}.with-mascot .mascot{width:60px}.form-grid{gap:12px}.field>span{font-size:13px}.control{min-height:50px}.control input,.control select{padding:13px 12px;font-size:16px}.mode-segment{gap:4px;padding:4px}.mode-segment button{min-height:48px;padding:7px 5px;font-size:12px;line-height:1.25}.prepay-box{margin-top:14px;padding:14px}.prepay-head .piggy-bank{width:54px}.toggle b{font-size:13px}.action-row{position:sticky;bottom:8px;z-index:5;margin:18px -2px 0;padding:8px 2px;background:linear-gradient(180deg,rgba(255,253,248,0),rgba(255,253,248,.96) 30%)}.primary-action,.secondary-action{min-height:48px;font-size:15px}.notice{align-items:flex-start;text-align:left}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary{min-height:104px;padding:13px;border-radius:16px}.summary span{font-size:12px}.summary strong{font-size:22px;word-break:break-all}.chart-card{padding-bottom:14px}.chart-card .mini-house{display:none}.chart-scroll-hint{display:block;margin:0 0 8px;color:#a56825;font-size:12px;font-weight:800;text-align:center}.chart-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:6px;-webkit-overflow-scrolling:touch}.chart-scroll canvas{width:760px;min-width:760px;min-height:235px}.bottom-grid{gap:14px;margin-top:14px}.cozy-panel{display:none}.schedule-card{padding:0;overflow:hidden}.schedule-card>.card-heading{padding:16px 16px 0}.schedule-card .table-wrap{margin:0 12px;border-radius:12px;-webkit-overflow-scrolling:touch}.schedule-card table{font-size:12px}.schedule-card td,.schedule-card th{padding:12px 11px}.schedule-card .center{margin:12px 0}.mortgage-tips{gap:10px;margin-top:14px}.mortgage-tips article{padding:15px;gap:10px}.mortgage-tips span{font-size:21px}.mortgage-seo{margin:26px auto 38px;padding:20px 15px;border-radius:19px}.mortgage-seo h2{font-size:23px;line-height:1.35}.seo-grid{gap:10px;margin:17px 0}.seo-grid article,.mortgage-faq details{padding:15px}.policy-note{padding:14px;font-size:14px}.mortgage-faq{margin-top:22px}.mortgage-faq summary{line-height:1.5}}
@media(max-width:380px){.summary-grid{grid-template-columns:1fr}.hero-tags{display:grid;grid-template-columns:1fr 1fr}.hero-tags span{text-align:center}.prepay-head .piggy-bank{display:none}}
/* Search-friendly guide and FAQ content. */
.mortgage-seo{margin:44px auto 64px;padding:30px;border:1px solid #f0dcc6;border-radius:24px;background:linear-gradient(145deg,#fffdf9,#fff7ec);color:#4a3425}.mortgage-seo header{max-width:820px}.mortgage-seo h2{margin:10px 0;font-size:clamp(24px,3vw,34px)}.mortgage-seo h3{margin:0 0 8px;font-size:17px}.mortgage-seo p{line-height:1.75}.seo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.seo-grid article,.mortgage-faq details{padding:18px;border:1px solid #f0ddc7;border-radius:16px;background:#fff}.seo-grid p{margin:0;font-size:14px}.policy-note{padding:16px 18px;border-radius:14px;background:#fff0dc;line-height:1.7}.policy-note a{color:#b45309;font-weight:800}.mortgage-faq{margin-top:28px}.mortgage-faq details{margin-top:10px}.mortgage-faq summary{cursor:pointer;font-weight:800}.mortgage-faq details p{margin:12px 0 0}@media(max-width:760px){.mortgage-seo{margin-top:30px;padding:22px 16px}.seo-grid{grid-template-columns:1fr}}
