:root{--ink:#1f2933;--muted:#5b6670;--line:#dfe3e8;--bg:#fff;--soft:#f6f1e9;--accent:#1d5b94;--accent-dark:#16324f;--navy:#16324f;--orange:#e0752d;--orange-dark:#c45f1b;--ok:#1d6b3a;--warn:#8a5a00;--err:#a12a2a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent)}a:hover{color:var(--accent-dark)}
h1,h2,h3{line-height:1.25;margin:1.6em 0 .5em}h1{font-size:2rem;margin-top:.4em}h2{font-size:1.4rem}h3{font-size:1.12rem}
p,ul,ol,table,details{margin:0 0 1em}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
header.site{border-bottom:1px solid var(--line);background:#fff}
header.site .wrap{display:flex;align-items:center;gap:24px;min-height:68px;flex-wrap:wrap}
.logo img{display:block;height:34px;width:auto}
nav.main{display:flex;gap:20px;flex:1;flex-wrap:wrap}nav.main a{color:var(--ink);text-decoration:none;font-weight:500}nav.main a:hover,nav.main a.on{color:var(--accent);text-decoration:underline}
.btn{display:inline-block;background:var(--accent);color:#fff!important;border:1px solid var(--accent);padding:10px 18px;border-radius:4px;font-weight:600;text-decoration:none;font-size:1rem;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--accent-dark)}.btn.ghost{background:#fff;color:var(--accent)!important}.btn.small{padding:6px 12px;font-size:.9rem}.btn.danger{background:var(--err);border-color:var(--err)}
.menu-toggle{display:none}
main{padding:24px 0 56px}
footer.site{border-top:1px solid var(--line);background:var(--soft);padding:36px 0;font-size:.95rem}
footer.site .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}footer.site h4{margin:0 0 8px;font-size:1rem}
footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin:4px 0}footer.site a{color:var(--ink)}
.small,.muted{color:var(--muted);font-size:.92rem}
.market-breadcrumb,.crumbs{font-size:.9rem;color:var(--muted);margin-bottom:8px}.market-breadcrumb a,.crumbs a{color:var(--muted);margin:0 4px}.market-breadcrumb a:first-child,.crumbs a:first-child{margin-left:0}
.lead,.market-lead{font-size:1.15rem;color:var(--muted)}
.hero{padding:28px 0 8px}.hero h1{font-size:2.3rem;max-width:720px}
.box,.article-guide-summary,.market-budget-source,.market-budget-example,.tool,.cta-box,.article-guide-professional,.market-notice{border:1px solid var(--line);border-radius:4px;padding:16px 20px;margin:0 0 1.2em;background:#fff}
.article-guide-summary,.cta-box{background:var(--soft)}
.article-guide-summary h2{margin-top:0;font-size:1.1rem}
.article-guide-warning{border-left:4px solid var(--warn);padding:8px 16px;background:#fffaf0;margin:0 0 1em}
.market-budget-sources,.market-budget-examples,.market-factor-list,.grid,.tools-choice-grid,.market-cost-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:1.2em}
.market-factor-list section{border-top:2px solid var(--ink);padding-top:8px}
.market-budget-source-price,.market-budget-example-price{font-weight:700;font-size:1.15rem}
.tools-choice-card,.market-cost-guide-card,.card{border:1px solid var(--line);border-radius:4px;padding:14px 16px;display:block;color:var(--ink);text-decoration:none}
a.card:hover,a.tools-choice-card:hover{border-color:var(--accent)}
.card h3{margin:0 0 4px;font-size:1.05rem;color:var(--accent)}
details{border:1px solid var(--line);border-radius:4px;padding:10px 14px}details summary{cursor:pointer;font-weight:600}
table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}th{background:var(--soft)}
.table-wrap{overflow-x:auto}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.steps li{counter-increment:s;border-top:2px solid var(--ink);padding-top:10px}.steps li:before{content:counter(s) ". ";font-weight:700}
form.f{max-width:620px}.f label{display:block;font-weight:600;margin:14px 0 4px}.f .hint{font-weight:400;color:var(--muted);font-size:.9rem}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=date],input[type=search],select,textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #9a9a9a;border-radius:4px;background:#fff;color:var(--ink)}
textarea{min-height:120px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.check{display:flex;gap:8px;align-items:flex-start;font-weight:400!important}.check input{margin-top:6px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.services{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.services label{border:1px solid #9a9a9a;border-radius:4px;padding:8px 12px;margin:0;font-weight:500;cursor:pointer}.services input{margin-right:6px}
.quick{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;border:1px solid var(--line);padding:16px;border-radius:4px;background:var(--soft)}
.quick select,.quick input{width:auto;min-width:180px}
.list{list-style:none;padding:0;margin:0}.list li{border-bottom:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}
.list li .name{font-weight:600}
.cols2{display:grid;grid-template-columns:2fr 1fr;gap:32px}
.tag{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:1px 8px;font-size:.85rem;margin:2px 4px 2px 0;color:var(--muted)}
.tag.ok{color:var(--ok);border-color:var(--ok)}.tag.warn{color:var(--warn);border-color:var(--warn)}.tag.err{color:var(--err);border-color:var(--err)}
.notice{padding:12px 16px;border-left:4px solid var(--accent);background:#f1f5fa;margin:0 0 1em}.notice.ok{border-color:var(--ok);background:#f0f7f2}.notice.err{border-color:var(--err);background:#fbf0f0}
.pager{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.pager a,.pager span{padding:6px 12px;border:1px solid var(--line);border-radius:4px;text-decoration:none}.pager span{background:var(--ink);color:#fff}
.provinces{columns:3;list-style:none;padding:0}.provinces li{margin:4px 0}
.places{columns:4;list-style:none;padding:0;font-size:.95rem}
.admin{display:grid;grid-template-columns:200px 1fr;gap:28px}.admin nav a{display:block;padding:6px 0;color:var(--ink);text-decoration:none}.admin nav a.on{font-weight:700;color:var(--accent)}
.stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat div{border:1px solid var(--line);padding:12px;border-radius:4px}.stat b{display:block;font-size:1.6rem}
.tool .out{background:var(--soft);padding:12px 16px;border-radius:4px;margin-top:12px}
.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatches div{width:110px}.swatches span{display:block;height:60px;border:1px solid var(--line)}
@media(max-width:820px){
 body{font-size:16px}h1,.hero h1{font-size:1.65rem}
 nav.main{display:none;width:100%;flex-direction:column;gap:10px;padding-bottom:12px}nav.main.open{display:flex}
 .menu-toggle{display:inline-block;margin-left:auto;background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:4px;font:inherit}
 header.site .btn.top{display:none}
 footer.site .cols,.cols2,.admin,.row{grid-template-columns:1fr}
 .provinces{columns:2}.places{columns:2}
 .quick select,.quick input,.quick .btn{width:100%}
 .list li{flex-direction:column;align-items:flex-start}
}
.market-budget-source-price strong,.market-budget-example-price strong{display:block;font-size:1.15rem}
.market-budget-source-price small,.market-budget-example-price small{display:block;color:var(--muted);font-weight:400;font-size:.85rem}
.market-budget-source-price,.market-budget-example-price{font-weight:400;font-size:.95rem;margin:6px 0}
@media(min-width:821px){nav.main{gap:16px;flex-wrap:nowrap;font-size:.95rem}header.site .wrap{flex-wrap:nowrap}}
@media(min-width:821px) and (max-width:1100px){nav.main{gap:12px;font-size:.9rem}.logo img{height:28px}}
nav.main a,.btn{white-space:nowrap}
.wrap{max-width:1160px}
.quick select,.quick input,.quick .btn{height:44px}
.quick .btn{padding-top:0;padding-bottom:0}
/* --- warm theme --- */
h1,h2,h3{color:var(--navy)}
.btn,.box,.card,details,.quick,input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=date],input[type=search],select,textarea,.services label,.tools-choice-card,.market-cost-guide-card,.market-budget-source,.market-budget-example,.tool,.cta-box,.article-guide-summary{border-radius:8px}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=date],input[type=search],select,textarea{border-color:#b8c0c8}
.btn{background:var(--navy);border-color:var(--navy)}.btn:hover{background:#0f2439}
.btn.cta,.btn.top,form.f button.btn[type=submit]{background:var(--orange);border-color:var(--orange)}
.btn.cta:hover,.btn.top:hover,form.f button.btn[type=submit]:hover{background:var(--orange-dark);border-color:var(--orange-dark)}
.btn.ghost{background:#fff;color:var(--navy)!important;border-color:var(--navy)}
.btn.big{padding:14px 26px;font-size:1.08rem}
header.site{box-shadow:0 1px 0 var(--line)}
nav.main a.on,nav.main a:hover{color:var(--orange-dark);text-decoration:none}
footer.site{background:var(--navy);color:#dbe3ea;border:0}footer.site h4{color:#fff}footer.site a{color:#dbe3ea}footer.site .small{color:#b9c6d2}
footer.site .btn{background:var(--orange);border-color:var(--orange)}
.services label:has(input:checked){border-color:var(--orange);background:#fdf1e8}
.box{box-shadow:0 1px 3px rgba(22,50,79,.06)}
.card{box-shadow:0 1px 3px rgba(22,50,79,.06);transition:border-color .15s}
a.card:hover{border-color:var(--orange)}
.card h3{color:var(--navy)}
details{background:#fff}
.band{padding:48px 0}.band.cream{background:var(--soft)}.band.navy{background:var(--navy);color:#e8eef3}.band.navy h2,.band.navy h3{color:#fff}
.band h2:first-child{margin-top:0}
main:has(> .hero2){padding-top:0}
main:has(> .band:last-child){padding-bottom:0}
.hero2{background:var(--soft);padding:40px 0 48px}
.hero2 .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero2 h1{font-size:2.5rem;margin:0 0 12px}
.hero2 .lead{color:#3d4852}
.hero2 .photo img{width:100%;height:auto;border-radius:12px;display:block;aspect-ratio:3/2;object-fit:cover}
.formcard{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 18px rgba(22,50,79,.10);margin-top:20px}
.formcard .quick{border:0;padding:0;background:none}
.formcard .quick>div{flex:1;min-width:160px}.formcard .quick select,.formcard .quick input{width:100%;min-width:0}
.trust{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:16px 0 0;font-size:.95rem;color:#3d4852}
.trust li:before{content:"";display:inline-block;width:18px;height:18px;margin-right:8px;vertical-align:-3px;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/14px no-repeat}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.stats b{display:block;font-size:1.8rem;color:var(--navy)}.stats span{color:var(--muted);font-size:.95rem}
.photocards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.photocard{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;color:var(--ink);text-decoration:none;box-shadow:0 1px 3px rgba(22,50,79,.06)}
.photocard img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.photocard div{padding:14px 16px}.photocard h3{margin:0 0 4px;font-size:1.08rem}.photocard p{margin:0;color:var(--muted);font-size:.95rem}
.photocard:hover{border-color:var(--orange)}.photocard:hover h3{color:var(--orange-dark)}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;padding:0;counter-reset:s}
.steps3 li{counter-increment:s}.steps3 li:before{content:counter(s);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;font-weight:700;font-size:1.2rem;margin-bottom:12px}
.steps3 b{display:block;font-size:1.1rem;color:#fff;margin-bottom:4px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.split img{width:100%;border-radius:12px;display:block;aspect-ratio:3/2;object-fit:cover}
.checks{list-style:none;padding:0}.checks li{padding-left:30px;position:relative;margin:10px 0}
.checks li:before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/14px no-repeat}
.linkcards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.linkcards .box ul{padding-left:18px;margin:0}
.pagehead{position:relative;background:var(--navy) center/cover no-repeat;color:#fff;padding:44px 0 40px}
.pagehead:before{content:"";position:absolute;inset:0;background:rgba(15,36,57,.72)}
.pagehead .wrap{position:relative}.pagehead h1{color:#fff;margin:6px 0 10px}.pagehead .lead{color:#e3eaf0;max-width:760px}
.pagehead .crumbs,.pagehead .crumbs a{color:#c9d5df}
main:has(> .pagehead){padding-top:0}
.pagehead + .wrap{margin-top:28px}
.cta-band{display:grid;grid-template-columns:1fr 1.2fr;gap:0;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.cta-band img{width:100%;height:100%;object-fit:cover;display:block;min-height:240px}.cta-band div{padding:28px 32px}
@media(max-width:900px){.hero2 .wrap,.split,.cta-band{grid-template-columns:1fr}.photocards{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.hero2 h1{font-size:2rem}.steps3{grid-template-columns:1fr}.linkcards{grid-template-columns:1fr}.hero2 .photo{order:-1}.hero2{padding-top:20px}}
@media(max-width:520px){.photocards{grid-template-columns:1fr 1fr;gap:10px}.photocard div{padding:10px}.photocard p{display:none}.hero2 h1{font-size:1.7rem}.band{padding:36px 0}}
.photocard img,.split img,.hero2 .photo img{height:auto}
.cta-band img{height:100%}
.formcard .quick>div:first-child{flex:1.4}
.formcard .quick select{min-width:190px}
.wpl-list{padding:4px 18px}.wpl-list li{border:0;padding-bottom:4px}.wpl-list li.small{border-bottom:1px solid var(--line);padding-bottom:12px;color:var(--muted)}.wpl-list li.small:last-child{border:0}
.pagehead.plain{background:var(--navy)}.pagehead.plain:before{display:none}
.pagehead .crumbs a{margin:0 4px}.pagehead .crumbs a:first-child{margin-left:0}
.pagehead + .wrap.content{margin-top:32px}
.content > section:first-child > h2:first-child,.content > article:first-child > h2:first-child{margin-top:0}
.content ul:has(> li > a > h3){list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.content ul:has(> li > a > h3) > li{margin:0}
.content ul:has(> li > a > h3) > li > a{display:block;height:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;text-decoration:none;color:var(--orange-dark);font-weight:600;box-shadow:0 1px 3px rgba(22,50,79,.06)}
.content ul:has(> li > a > h3) > li > a:hover{border-color:var(--orange)}
.content ul:has(> li > a > h3) h3{margin:0 0 6px;color:var(--navy)}
.content ul:has(> li > a > h3) p{color:var(--muted);font-weight:400;margin:0 0 10px;font-size:.95rem}
.market-link-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.market-link-list a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;color:var(--orange-dark);font-weight:600}
.market-link-list a:hover{border-color:var(--orange)}
.market-link-list strong{display:block;color:var(--navy);margin-bottom:4px}
