:root {
    --air:#f6fbff;
    --white:#ffffff;
    --fog:#e9f4fa;
    --wash:#d5ecf3;
    --edge:#b6d4df;
    --type:#375c77;
    --soft:#567a90;
    --blue:#227ca2;
    --blue-d:#25678a;
    --lemon:#e1ed79;
    --peach:#f2ad8a;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--type); background:var(--air); font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; }
.wrap { width:min(1320px,calc(100% - 84px)); margin-inline:auto; }
a { color:inherit; }
a:focus-visible { outline:3px solid #d17a3c; outline-offset:4px; }
a:hover { color:var(--blue); }
h1,h2,h3,p,ul,ol,dl { margin-top:0; }
h1 { font-size:40px; font-weight:820; line-height:1.13; letter-spacing:-.035em; margin-bottom:18px; overflow-wrap:anywhere; }
h2 { font-size:28px; font-weight:770; line-height:1.24; letter-spacing:-.025em; margin-bottom:16px; overflow-wrap:anywhere; }
h3 { font-size:19px; font-weight:740; line-height:1.3; margin-bottom:11px; }
p { font-size:16px; line-height:1.66; margin-bottom:14px; }
.site-top { background:var(--white); border-top:8px solid var(--lemon); border-bottom:1px solid var(--edge); }
.top-line { display:flex; align-items:center; gap:30px; justify-content:space-between; padding:20px 0; }
.identity { text-decoration:none; font-size:25px; font-weight:820; display:inline-flex; align-items:center; gap:12px; white-space:nowrap; letter-spacing:-.035em; }
.identity:hover { color:var(--type); }
.identity b { color:var(--blue); }
.identity-mark { display:block; width:38px; height:42px; background:var(--blue); position:relative; clip-path:polygon(0 0,100% 0,100% 82%,84% 100%,0 100%); }
.identity-mark::before { content:""; position:absolute; left:8px; top:8px; width:22px; height:20px; background:var(--white); border-radius:2px; }
.identity-mark::after { content:""; position:absolute; left:14px; top:14px; width:10px; height:10px; border:3px solid var(--blue); border-radius:50%; }
.top-hours { margin:0; font-size:13px; font-weight:700; text-align:right; line-height:1.5; }
.top-hours span { display:block; color:var(--blue); font-size:12px; letter-spacing:.09em; text-transform:uppercase; }
.menu { display:flex; justify-content:flex-start; align-items:stretch; gap:0; border-top:1px solid var(--edge); }
.menu a { padding:14px 26px 13px; font-size:15px; font-weight:750; text-decoration:none; border-right:1px solid var(--edge); }
.menu a:first-child { border-left:1px solid var(--edge); }
.menu a:hover,.menu a[aria-current="page"] { color:var(--white); background:var(--blue); }
.poster { background:var(--white); border-bottom:1px solid var(--edge); }
.poster-top { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 0 18px; border-bottom:3px solid var(--type); }
.poster-top span { font-size:12px; color:var(--blue); letter-spacing:.16em; font-weight:850; text-transform:uppercase; }
.poster-top strong { font-size:12px; font-weight:800; color:var(--soft); }
.poster-grid { display:grid; grid-template-columns:minmax(0,1.86fr) minmax(278px,1fr); gap:0; }
.poster-copy { padding:36px clamp(28px,5vw,72px) 39px 0; }
.poster-copy p { max-width:750px; }
.poster-visual { background:var(--fog); border-left:1px solid var(--edge); position:relative; padding:20px 26px 25px; display:flex; flex-direction:column; align-items:stretch; }
.ticket-head { font-size:12px; letter-spacing:.12em; font-weight:850; text-transform:uppercase; border-bottom:1px solid var(--edge); padding-bottom:9px; color:var(--blue-d); }
.ticket-facts { border-top:1px solid var(--edge); padding-top:13px; }
.ticket-facts p { font-size:14px; line-height:1.5; margin:0 0 8px; }
.ticket-facts strong { color:var(--blue-d); }
.appliance { height:210px; width:min(100%,272px); position:relative; margin:10px auto 7px; }
.appliance::before { content:""; position:absolute; width:calc(100% - 12px); left:6px; bottom:13px; border-bottom:2px dashed #9bbfcf; }
.fridge { position:absolute; width:106px; height:181px; border:6px solid var(--blue); background:var(--white); border-radius:8px 8px 4px 4px; top:8px; left:23px; box-shadow:8px 7px 0 var(--wash); }
.fridge::before { content:""; position:absolute; top:56px; left:0; right:0; border-top:5px solid var(--blue); }
.fridge::after { content:""; position:absolute; top:25px; right:10px; width:5px; height:24px; background:var(--peach); box-shadow:0 54px 0 var(--peach); }
.oven { position:absolute; width:118px; height:117px; right:15px; bottom:19px; border:6px solid var(--blue-d); background:var(--lemon); border-radius:5px; box-shadow:8px 7px 0 var(--wash); }
.oven::before { content:""; position:absolute; left:10px; right:10px; top:24px; height:63px; background:var(--fog); border:4px solid var(--blue); }
.oven::after { content:""; position:absolute; left:14px; top:8px; width:8px; height:8px; background:var(--blue-d); border-radius:50%; box-shadow:23px 0 0 var(--blue-d),46px 0 0 var(--peach); }
.sketch-line { position:absolute; height:2px; width:54px; top:30px; right:16px; background:var(--peach); transform:rotate(-18deg); }
.sketch-line::before { content:""; position:absolute; height:10px; width:10px; left:-5px; top:-4px; background:var(--peach); border-radius:50%; }
.appliance--washer .fridge { width:156px; height:168px; left:calc(50% - 78px); top:9px; border-radius:7px; }
.appliance--washer .fridge::before { top:28px; }
.appliance--washer .fridge::after { width:86px; height:86px; top:53px; left:calc(50% - 43px); border:8px solid var(--blue); background:var(--wash); border-radius:50%; box-shadow:inset 0 0 0 10px var(--white); }
.appliance--washer .oven { display:none; }
.appliance--washer .sketch-line { top:19px; right:12px; }
.appliance--heating .fridge { display:none; }
.appliance--heating .oven { width:170px; height:165px; top:10px; bottom:auto; left:calc(50% - 85px); }
.appliance--heating .oven::before { height:104px; }
.appliance--heating .sketch-line { top:164px; right:6px; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:11px; margin-top:24px; }
.action { display:inline-flex; justify-content:center; align-items:center; padding:11px 18px; text-decoration:none; border:2px solid var(--blue); background:var(--blue); color:var(--white); min-height:46px; font-weight:800; font-size:15px; border-radius:0; white-space:nowrap; }
.action.secondary { background:var(--white); color:var(--blue-d); }
.action:hover,.action:focus-visible { background:var(--type); border-color:var(--type); color:var(--white); }
.action:active { transform:translateY(1px); }
.taxonomy { background:var(--lemon); border-bottom:1px solid #cbda69; }
.taxonomy-inner { display:flex; align-items:center; flex-wrap:wrap; gap:0; }
.taxonomy strong,.taxonomy span { display:block; padding:15px 22px 14px; font-size:14px; font-weight:790; border-right:1px solid #bfcd72; }
.taxonomy strong { color:var(--blue-d); padding-left:0; }
.taxonomy span:last-child { border-right:0; }
.register { padding:45px 0 43px; }
.register-heading { display:flex; align-items:end; justify-content:space-between; gap:22px; border-bottom:2px solid var(--blue); margin-bottom:13px; }
.register-heading p { max-width:420px; font-size:14px; margin:0 0 15px; color:var(--soft); }
.register-row { display:grid; grid-template-columns:minmax(175px,.8fr) minmax(0,2fr) minmax(220px,.95fr); gap:30px; padding:24px 0 25px; border-bottom:1px solid var(--edge); align-items:start; }
.register-row h3 { font-size:21px; margin:0; }
.register-row p { margin:0; }
.register-row aside { padding:3px 0 1px 17px; border-left:3px solid var(--peach); }
.register-row aside p { font-size:14px; }
.register-no { display:block; color:var(--blue); font-size:12px; font-weight:840; letter-spacing:.12em; padding-bottom:10px; }
.split-section { padding:44px 0; border-top:1px solid var(--edge); }
.split-section--fog { background:var(--fog); }
.split-section--white { background:var(--white); }
.split-wrap { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr); gap:clamp(30px,5vw,78px); align-items:start; }
.split-wrap--reverse { display:flow-root; }
.split-wrap--reverse > .note { float:left; width:31%; margin:0 clamp(28px,5vw,70px) 11px 0; }
.split-wrap--reverse > .long-copy { display:block; }
.long-copy p:last-child { margin-bottom:0; }
.note { background:var(--white); border-top:5px solid var(--lemon); padding:21px 23px; border-bottom:1px solid var(--edge); }
.note--blue { background:var(--blue); color:var(--white); border-top-color:var(--lemon); border-bottom-color:var(--blue); }
.note--blue h3,.note--blue p { color:var(--white); }
.note h3 { margin:0 0 10px; }
.note p { font-size:15px; margin:0 0 9px; }
.note p:last-child { margin:0; }
.note dl { margin:0; }
.note dt { font-size:12px; letter-spacing:.07em; text-transform:uppercase; font-weight:800; padding:8px 0 1px; }
.note dd { margin:0; padding:0 0 7px; border-bottom:1px solid var(--edge); font-size:16px; font-weight:740; }
.note dd:last-child { border-bottom:0; }
.sequence { background:var(--white); padding:43px 0 42px; border-block:1px solid var(--edge); }
.sequence h2 { margin-bottom:23px; }
.sequence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.sequence-step { border-top:3px solid var(--blue); padding-top:18px; }
.sequence-step b { display:block; font-size:13px; color:var(--blue); margin-bottom:9px; }
.sequence-step h3 { margin-bottom:10px; }
.sequence-step p { margin:0; }
.terms { background:var(--wash); padding:43px 0; }
.terms-layout { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(275px,1fr); gap:clamp(25px,5vw,72px); align-items:start; }
.term-line { border-top:1px solid var(--edge); padding:15px 0; display:grid; grid-template-columns:145px minmax(0,1fr); gap:20px; }
.term-line strong { color:var(--blue); font-size:15px; }
.term-line p { margin:0; }
.symptom-sheet { padding:45px 0; }
.symptom-sheet h2 { margin-bottom:22px; }
.symptom-item { display:grid; grid-template-columns:minmax(175px,.7fr) minmax(0,1.7fr); gap:30px; padding:19px 0; border-top:1px solid var(--edge); }
.symptom-item:last-child { border-bottom:1px solid var(--edge); }
.symptom-item h3 { margin:0; color:var(--blue); }
.symptom-item p { margin:0; }
.rates { padding:40px 0; background:var(--blue); color:var(--white); }
.rates-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(220px,1fr); gap:35px; align-items:start; }
.rates h2,.rates h3,.rates p { color:var(--white); }
.rates p:last-child { margin-bottom:0; }
.rates-highlight { border-top:5px solid var(--lemon); padding-top:13px; }
.rates-highlight strong { display:block; color:var(--lemon); font-size:30px; letter-spacing:-.03em; margin-bottom:6px; }
.final-strip { background:var(--lemon); padding:25px 0; }
.final-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; }
.final-grid h2 { font-size:28px; margin-bottom:8px; }
.final-grid p { margin:0; }
.final-grid .actions { margin:0; }
.spare-copy { padding:16px 0; }
.spare-copy p { font-size:14px; color:var(--soft); margin:0; }
.footer { background:var(--white); border-top:4px solid var(--blue); padding:26px 0; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; }
.footer-mark { font-weight:820; font-size:16px; }
.footer-links { display:flex; align-items:center; flex-wrap:wrap; gap:23px; }
.footer-links a { font-weight:700; text-decoration:none; font-size:14px; }
.footer-links a:last-child { font-size:12px; font-weight:500; color:var(--soft); }
@media (max-width:1080px) {
    .wrap { width:calc(100% - 56px); }
    .poster-grid { grid-template-columns:minmax(0,1.75fr) minmax(240px,1fr); }
    .poster-copy { padding-right:30px; }
    .poster-visual { padding-inline:18px; }
    .register-row { grid-template-columns:minmax(125px,.6fr) minmax(0,1.8fr) minmax(170px,.85fr); gap:20px; }
    .split-wrap,.terms-layout { gap:32px; }
}
@media (max-width:760px) {
    .wrap { width:calc(100% - 40px); }
    .top-line { padding:15px 0; }
    .identity { font-size:22px; }
    .top-hours { font-size:12px; }
    .menu a { flex:1; text-align:center; padding-inline:12px; }
    .poster-grid,.split-wrap,.terms-layout,.rates-grid,.final-grid { grid-template-columns:1fr; }
    .split-wrap--reverse { display:grid; grid-template-columns:1fr; }
    .split-wrap--reverse > .note { float:none; width:auto; margin:0; }
    .poster-copy { padding:29px 0 25px; }
    .poster-visual { border-left:0; border-top:1px solid var(--edge); padding:20px; display:grid; grid-template-columns:170px minmax(0,1fr); column-gap:15px; align-items:center; }
    .poster-visual .ticket-head { grid-column:1 / -1; }
    .appliance { width:170px; }
    .fridge { left:1px; }
    .oven { right:0; width:94px; }
    .register-row { grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr); gap:20px; }
    .register-row aside { grid-column:2; }
    .register-heading { align-items:start; }
    .register-heading p { max-width:200px; }
    .sequence-grid { grid-template-columns:1fr; gap:21px; }
    .sequence-step { padding-top:13px; }
    .final-grid .actions { margin-top:2px; }
}
@media (max-width:510px) {
    .wrap { width:calc(100% - 30px); }
    .top-line { flex-wrap:wrap; gap:7px; }
    .top-hours { text-align:left; }
    .top-hours span { display:inline; margin-right:7px; }
    .menu a { padding:13px 6px; font-size:13px; }
    .poster-top { padding:16px 0; }
    .poster-top strong { display:none; }
    .poster-copy { padding:27px 0; }
    .poster-visual { display:block; }
    .poster-visual .appliance { width:230px; }
    .poster-visual .fridge { left:15px; }
    .poster-visual .oven { right:4px; width:118px; }
    .poster-visual .appliance--washer .fridge { left:calc(50% - 78px); }
    .poster-visual .appliance--heating .oven { width:170px; left:calc(50% - 85px); }
    .actions { align-items:stretch; flex-direction:column; }
    .action { width:100%; }
    .taxonomy-inner { padding:8px 0; }
    .taxonomy strong,.taxonomy span { padding:8px 13px 8px 0; font-size:13px; border:0; }
    .register { padding:31px 0; }
    .register-heading { display:block; }
    .register-heading p { max-width:none; }
    .register-row,.symptom-item,.term-line { grid-template-columns:1fr; gap:11px; padding-block:19px; }
    .register-row aside { grid-column:auto; }
    .register-row h3 { font-size:20px; }
    .split-section,.symptom-sheet,.terms,.sequence { padding:31px 0; }
    .final-grid h2 { font-size:28px; }
    .footer-inner { align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
