:root{--ink:#152c34;--paper:#fafafa;--line:#dae0e2;--muted:#51646b;--gold:#94723d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:3px;padding:.75rem 1.05rem;cursor:pointer;min-height:44px}button:hover{background:#294b58}button:disabled{opacity:.45;cursor:default}.outline,.plain{background:transparent;color:var(--ink)}.plain{border-color:transparent}.promise{background:#152c34;color:#fff;display:flex;justify-content:center;gap:2rem;padding:.55rem 4%;font-size:14px}.promise span+span{border-inline-start:1px solid #607078;padding-inline-start:2rem}header{display:flex;justify-content:space-between;align-items:center;max-width:1600px;margin:auto;padding:1.3rem 4%;gap:1.5rem}.brand{font:27px Georgia,serif;letter-spacing:.14em;white-space:nowrap}.brand small{display:block;font:12px Arial,sans-serif;letter-spacing:.2em;margin-top:.3rem}nav{display:flex;align-items:center;gap:1.5rem;font-size:14px}nav #savedCount{display:inline-flex;border-radius:50%;min-width:24px;justify-content:center;background:#e8edef;margin-inline-start:.3rem}nav [aria-pressed=true]{background:#e1e9ec}.language select{max-width:145px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;top:-100px;left:1rem;background:#fff;padding:1rem;z-index:30}.skip:focus{top:1rem}main{max-width:1600px;margin:auto;padding:0 4% 3rem}.intro{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;padding:1.2rem 0 2.4rem}.intro figure{margin:0;position:relative;overflow:hidden;min-height:300px;background:#dae5e8}.intro img{width:100%;height:330px;display:block;object-fit:cover}.intro figcaption{position:absolute;bottom:0;inset-inline-start:0;padding:1rem 1.5rem;background:linear-gradient(transparent,#152c34b0);color:white;width:100%;font-size:12px;letter-spacing:.15em}.overline{font-size:13px;letter-spacing:.14em;color:var(--gold);margin:0}h1{font:clamp(35px,4.3vw,65px)/1.06 Georgia,serif;letter-spacing:-.025em;margin:1rem 0}h2{font:clamp(26px,2.4vw,36px)/1.2 Georgia,serif;margin:.4rem 0}.intro p:not(.overline){color:var(--muted);max-width:560px}.intro-facts{display:flex;gap:2rem;margin-top:1.4rem}.intro-facts>span{display:flex;gap:.65rem;align-items:baseline}.intro-facts strong{font:30px Georgia,serif}.intro-facts span span{font-size:14px;color:var(--muted)}.filters{display:grid;grid-template-columns:1.1fr 1.7fr 1.3fr;gap:1rem;padding:1.4rem;background:white;border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 8px 25px #10283207}.filters>button{justify-self:start;padding:0;min-height:30px;font-size:14px}label{display:flex;flex-direction:column;gap:.35rem;font-size:14px}input,select,textarea{width:100%;min-width:0;min-height:44px;padding:.65rem .7rem;border:1px solid #bac7cd;border-radius:3px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:2.5rem 0 1.3rem}.result-actions{display:flex;gap:1rem;align-items:center}.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.card{background:white;border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:box-shadow .15s}.card:hover{box-shadow:0 9px 22px #18343d12}.card-media{position:relative;aspect-ratio:1.55;background:#e3ebee;overflow:hidden}.card img{width:100%;height:100%;object-fit:cover;display:block}.card .save{position:absolute;inset-inline-end:.7rem;top:.7rem;background:#ffffffee;color:var(--ink);border:0;font-size:22px;padding:.25rem .65rem}.card .save[aria-pressed=true]{color:#795817;background:#fff4d8}.card-body{padding:1.2rem}.card h3{font:24px/1.2 Georgia,serif;margin:.4rem 0 .75rem}.card .kicker{font-size:12px;letter-spacing:.1em;color:#745a34}.card p{font-size:14px;margin:.4rem 0;color:var(--muted)}.card .price{font-size:21px;color:var(--ink);margin:.8rem 0 .2rem}.card .view{width:100%;margin-top:.8rem}.card .compare-control{margin-top:.8rem;justify-content:flex-start}.badge{position:absolute;inset-inline-start:.7rem;bottom:.7rem;font-size:13px;color:var(--ink);background:#fffffff0;padding:.3rem .7rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin:2rem}.footnote{font-size:14px;color:var(--muted);line-height:1.6}.notice,.empty{padding:2rem;border:1px solid var(--line);background:#fff;margin-bottom:1.5rem;grid-column:1/-1}.empty button{margin-top:.6rem}.notice p{max-width:800px}footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding:3rem 4%;font-size:14px;background:#e9eff1;border-top:1px solid var(--line)}footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}footer p{margin:.4rem 0}dialog{width:min(830px,94vw);border:1px solid var(--line);padding:2rem;color:var(--ink);border-radius:5px;max-height:90dvh}dialog::backdrop{background:#0b2127bb}.close{float:inline-end;background:transparent;color:var(--ink);border:0;font-size:28px;padding:0 .5rem}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}form>label{margin:1rem 0}.check,.compare-control{display:flex;flex-direction:row;gap:.7rem;align-items:center}.check input,.compare-control input{width:19px;min-height:19px;flex-shrink:0;accent-color:var(--ink)}.trap{position:absolute;inset:0 auto auto 0;width:1px;height:1px;min-height:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}.detail-image{width:100%;max-height:360px;object-fit:cover}.facts{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#f0f4f5;padding:1rem;margin:1.3rem 0}.facts small{display:block;color:var(--muted);font-size:14px}.detail-actions{display:flex;gap:.7rem;flex-wrap:wrap}.detail-actions a{display:inline-flex;align-items:center;padding:.7rem 1rem;border:1px solid var(--ink);border-radius:3px}.detail-actions a:last-child{color:#fff;background:var(--ink)}#formMessage,#documentMessage{overflow-wrap:anywhere}#formMessage{margin:1rem 0}#formMessage a{display:block;text-decoration:underline;margin:.7rem 0}#anotherRequest{margin-top:1rem}#comparison{width:min(1150px,94vw)}#comparisonBody{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:start;padding:1rem;border-bottom:1px solid var(--line);min-width:170px;vertical-align:top}th img{width:100%;height:140px;object-fit:cover;margin-bottom:.8rem}#comparisonBar:not([hidden]){display:flex;align-items:center;justify-content:center;gap:1rem;position:sticky;bottom:0;background:#fff;padding:.7rem 4%;box-shadow:0 -5px 20px #17384520;z-index:9}#comparisonBar>span{font-size:14px}.toast{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;max-width:90%;padding:.7rem 1rem;z-index:20;border-radius:4px}.toast:empty{display:none}[hidden]{display:none!important}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}html[dir=rtl] .close{float:left}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(max-width:1100px){nav{gap:.8rem}.result-actions{flex-direction:column;align-items:stretch}.intro{gap:2rem}.intro h1{font-size:46px}.intro-facts{gap:1rem}.results{gap:1rem}.brand{font-size:24px}}@media(max-width:800px){header{flex-wrap:wrap}.intro{grid-template-columns:1fr 1fr;gap:1rem}.intro img{height:320px}.intro h1{font-size:38px}.intro-facts{flex-wrap:wrap}.filters{grid-template-columns:1fr 1fr}.filters .wide{grid-column:span 2;grid-row:1}.results{grid-template-columns:repeat(2,minmax(0,1fr))}nav{flex-wrap:wrap;width:100%;justify-content:space-between}.section-title{align-items:flex-start}.intro-facts>span{gap:.35rem}footer{grid-template-columns:1.5fr 1fr}}@media(max-width:540px){.promise{font-size:12px;gap:.6rem}.promise span+span{padding-inline-start:.6rem}.intro{grid-template-columns:1fr;padding-top:.3rem}.intro h1{font-size:42px;max-width:380px}.intro figure{min-height:180px}.intro img{height:200px}.intro-facts{margin:.9rem 0}.intro-facts strong{font-size:26px}.filters{padding:1rem;gap:.7rem}.results{grid-template-columns:1fr}.section-title{flex-direction:column}.result-actions{flex-direction:row;flex-wrap:wrap;width:100%}.result-actions>label{flex:1}.result-actions button{font-size:14px}.formgrid,.facts{grid-template-columns:1fr}footer{grid-template-columns:1fr}dialog{padding:1.25rem}.card h3{font-size:25px}nav>a{font-size:14px}.language select{max-width:128px}#comparisonBar:not([hidden]){flex-wrap:wrap;gap:.5rem}#comparisonBar .plain{font-size:13px}.intro-facts{display:none}}

@media(min-width:1101px){.intro{padding:1rem 0 1.5rem}.intro figure{min-height:230px}.intro img{height:230px}.intro h1{font-size:clamp(38px,3.6vw,54px)}.intro-facts{margin-top:.8rem}.filters{grid-template-columns:1.15fr 1.6fr 1.15fr 1fr .9fr 1fr;gap:.7rem;padding:1rem}.filters>button{grid-column:1/-1;min-height:24px}.section-title{margin-top:1.5rem}}

.match-result{border:1px solid var(--line,#d8d2c7);padding:1rem;margin-block:1rem;border-radius:.75rem}.match-result h3{font-size:1rem;margin:0 0 .6rem}.match-result p{margin:.5rem 0}

.currency-display{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:20px 0}.currency-display p{flex:1 1 450px;margin:0;font-size:12px}.currency-display select{min-height:44px;max-width:110px}.currency-display label{font-size:13px}.currency-estimate{display:block;font-size:13px;color:#52646b}

.project-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 14px;scroll-snap-type:x proximity}.project-thumbnails button{flex:0 0 96px;width:96px;min-height:66px;border:2px solid transparent;border-radius:6px;overflow:hidden;padding:0;background:#edf0f2;cursor:pointer;scroll-snap-align:start}.project-thumbnails button[aria-pressed=true]{border-color:#b8944b}.project-thumbnails button:focus-visible{outline:3px solid #b8944b;outline-offset:2px}.project-thumbnails img{width:100%;height:64px;display:block;object-fit:cover}
.card-media .gold-gift-card-badge{position:absolute;inset-inline-end:12px;bottom:12px;z-index:3;max-width:min(58%,210px);padding:8px 11px;border:1px solid #d8b86f;border-radius:6px;background:#183233ed;color:#fff2cc;font-size:14px;font-weight:700;line-height:1.35;text-align:center;box-shadow:0 3px 12px #0005}

/* Keep the existing detail close control above its hero media. */
#detail>.close{position:relative;z-index:2}
