:root{--paper:#f9f7ef;--dark:#43494d;--ink:#43494d;--gold:#a7893e;--sand:#f0e4ce;--line:#d8c6a8;--accent:#52585b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #696f73;outline-offset:4px}.wrap{width:min(1200px,90%);margin:auto}header,footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0}header{border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font:bold 25px Georgia,serif}nav{display:flex;gap:28px}nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#f4ecda;color:var(--ink);border:1px solid var(--gold);border-radius:100px;padding:12px 20px;font:600 14px/1.4 system-ui;cursor:pointer}.button:hover{background:#ede2c8;color:var(--ink)}.outline{background:transparent;color:var(--ink)}.hero{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:5%;padding:48px 0}.eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.19em;color:var(--accent);margin:0 0 16px}h1,h2,h3{font-family:Georgia,serif;font-weight:500;line-height:1.04;margin:0}h1{font-size:clamp(57px,7.7vw,115px);letter-spacing:-.075em}h1 em{color:#52585b;font-weight:400}h2{font-size:clamp(37px,5vw,66px);letter-spacing:-.055em;max-width:18ch}h3{font-size:28px;letter-spacing:-.03em}.lead{max-width:40ch;font-size:17px;margin:24px 0}.hero figure{margin:0;position:relative;min-width:0}.hero img{display:block;width:100%;height:auto;aspect-ratio:1.11;object-fit:cover;border-radius:48% 48% 8px 8px / 28% 28% 8px 8px;background:#eadcc2}.hero figcaption{position:absolute;bottom:16px;left:16px;background:var(--paper);border-radius:50px;padding:7px 12px;font-size:10px;letter-spacing:.15em;font-weight:750} .ribbon{text-align:center;background:#eee0c8;color:var(--ink);padding:15px;font-family:Georgia,serif;font-size:clamp(14px,2vw,20px)}.ribbon b{font-size:.65em;color:#97751f;padding:0 .65em}.section{padding-block:clamp(54px,8vw,100px)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.grid article,.team,.price{border:1px solid var(--line);padding:clamp(20px,3.5vw,42px);border-radius:18px}.grid span{color:var(--accent);font-weight:bold;display:block;margin-bottom:20px}.grid p,.team p,.price p{margin-bottom:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.tint{background:var(--sand)}.team{background:var(--paper)}.price{background:#f0dfc3}.price strong{font:500 clamp(64px,9vw,108px)/1 Georgia,serif;letter-spacing:-.08em}.price span{font-weight:700}.dark{background:#f4ead9;color:var(--ink)}.dark .eyebrow{color:var(--accent)}.dark .button{justify-self:start}.dark form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dark label{font-size:14px;font-weight:600}.dark input,.dark select{width:100%;margin-top:5px;padding:11px;border:1px solid #8a8b84;border-radius:8px;font:inherit;background:var(--paper);color:var(--ink)}output{grid-column:1/-1;white-space:pre-wrap}output:empty{display:none}#download{justify-self:start;padding:9px 14px;cursor:pointer;border-radius:8px;border:0;color:var(--dark);background:var(--paper)}.faq{max-width:800px}.faq h2{margin-bottom:22px}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:650}footer{border-top:1px solid var(--line)}@media(max-width:750px){header{flex-wrap:wrap}header nav{order:3;width:100%;justify-content:center;gap:22px}header .brand{font-size:20px}.hero,.split,.grid{grid-template-columns:1fr;gap:24px}.hero{padding-top:32px}.hero img{aspect-ratio:1.35}.ribbon{line-height:2}.section{padding-block:52px}footer{align-items:start;flex-direction:column}}@media(max-width:420px){.dark form{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.team-logo{float:right;width:100px;height:100px;object-fit:contain;border-radius:50%;margin:0 0 10px 14px}

.estimate-grid{align-items:start;margin-top:26px}.estimate-grid form{display:grid;gap:8px}.estimate-grid label{font-weight:650}.estimate-grid input,.estimate-grid select{width:100%;padding:10px 12px;border:1px solid #8a8b84;border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}.estimate-result{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(18px,3vw,36px)}.estimate-result dl{margin:0}.estimate-result dl div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.estimate-result dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.estimate-total{display:grid;gap:3px;margin-bottom:0}.estimate-total strong{font:500 clamp(36px,6vw,68px)/1.1 Georgia,serif}
@media(max-width:750px){header nav{flex-wrap:wrap;gap:8px 18px}}

.brand-icon{display:block;object-fit:contain;border-radius:8px}@media(max-width:420px){.brand-icon{width:48px;height:auto}}

header .brand{color:#43494d}

.contact-note{grid-column:1/-1;margin:0;font-size:.88rem}

header .brand-amp {
  color: #b78e28;
}
@supports (background-clip: text) {
  header .brand-amp {
    background-image: linear-gradient(145deg, #a98321 12%, #e0bb59 48%, #ba932a 78%);
    background-clip: text;
    color: transparent;
  }
}
@media (forced-colors: active) {
  header .brand-amp {
    color: LinkText;
  }
}

@media (max-width: 750px) {
  header { gap: 8px 12px; padding-block: 14px; }
  header nav { gap: 0 14px; }
  header nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; }
  .button { min-height: 44px; }
  .hero h1 { font-size: clamp(44px, 12vw, 80px); }
  .dark form, .estimate-grid, .dark .split { grid-template-columns: minmax(0, 1fr); }
  .dark input, .dark select, .estimate-grid input, .estimate-grid select { min-height: 44px; min-width: 0; font-size: 16px; }
  .dark .button { width: 100%; }
  .estimate-result dl div { gap: 10px; }
  .estimate-result dd, .estimate-total strong { overflow-wrap: anywhere; }
  .faq summary { min-height: 44px; padding-block: 8px; }
}
@media (max-width: 360px) {
  header .brand { font-size: 18px; gap: 7px; }
  header .brand-icon { width: 42px; }
  header .outline { padding-inline: 12px; }
}
