:root{--bg:#f7f6f3;--bg-elev:#fff;--bg-soft:#f0eeea;--bg-warm:#faf8f4;--line:#e4e0d8;--line-strong:#d0cbc0;--text:#1a1c1f;--text-strong:#0e1013;--muted:#5c636e;--muted-2:#5f6670;--brand:#1a1c1f;--accent:#b8921a;--accent-2:#c9a227;--accent-deep:#8f7010;--accent-soft:#c9a2271f;--accent-ring:#c9a22766;--ok:#1f8a5b;--danger:#c0392b;--radius:14px;--radius-sm:10px;--max:1120px;--font:"Inter", system-ui, -apple-system, sans-serif;--display:"Sora", system-ui, sans-serif;--shadow:0 8px 28px #1a1c1f12;--shadow-lg:0 16px 48px #1a1c1f1a;--header-h:96px}*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light;overflow-x:hidden}body{font-family:var(--font);background:radial-gradient(900px 420px at 12% -8%, #c9a22714 0%, transparent 55%), radial-gradient(700px 360px at 92% 0%, #1a1c1f08 0%, transparent 50%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);margin:0;font-size:17px;line-height:1.65;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--accent-deep);text-underline-offset:3px;transition:color .15s}a:hover{color:var(--accent)}h1,h2,h3{font-family:var(--display);letter-spacing:-.025em;color:var(--text-strong);margin:0 0 .65rem;line-height:1.18}h1{font-size:clamp(2.05rem,4.2vw,3.05rem);font-weight:800}h2{font-size:clamp(1.45rem,2.6vw,1.95rem);font-weight:700}h3{font-size:1.12rem;font-weight:700}p{color:var(--muted);margin:0 0 1rem}strong{color:var(--text-strong);font-weight:650}.wrap{max-width:var(--max);padding:0 max(1.25rem, env(safe-area-inset-right,0px)) 0 max(1.25rem, env(safe-area-inset-left,0px));margin:0 auto}@media (width<=480px){.wrap{padding-left:max(1rem, env(safe-area-inset-left,0px));padding-right:max(1rem, env(safe-area-inset-right,0px))}body{font-size:16px}h1{font-size:clamp(1.75rem,7.5vw,2.2rem)}h2{font-size:clamp(1.28rem,5.5vw,1.55rem)}}.skip-link{z-index:100;position:absolute;left:-9999px}.skip-link:focus{background:var(--text-strong);color:#fff;border-radius:8px;padding:.55rem 1rem;text-decoration:none;top:1rem;left:1rem}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px)saturate(1.2);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0;box-shadow:inset 0 1px #fffc,0 4px 18px #1a1c1f0a}.site-header:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent-2) 20%, var(--accent) 50%, var(--accent-2) 80%, transparent 100%);opacity:.85;height:2px;display:block}.site-header .wrap{max-width:1180px;min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1.25rem;display:flex}.brand{color:var(--text-strong);border:1px solid var(--line);background:#fff;border-radius:14px;flex-shrink:0;align-items:center;gap:.75rem;padding:.35rem .65rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #1a1c1f0d}.brand:hover{border-color:var(--line-strong);color:var(--text-strong);text-decoration:none;box-shadow:0 2px 8px #1a1c1f14}.brand img{object-fit:contain;width:auto;max-width:min(280px,58vw);height:72px}@media (width>=901px){.brand img{max-width:320px;height:88px}}.brand span{letter-spacing:.01em;font-size:.92rem;font-weight:700;line-height:1.2}@media (width<=700px){.brand span{display:none}}.site-nav{flex-wrap:wrap;align-items:center;gap:.1rem;display:flex}.site-nav a{color:var(--muted);border-radius:8px;padding:.5rem .7rem;font-size:.9rem;font-weight:550;text-decoration:none;transition:background .12s,color .12s}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text-strong);background:var(--bg-soft)}.nav-cta{margin-left:.4rem;box-shadow:0 2px 8px #c9a22759;background:linear-gradient(180deg, var(--accent-2), var(--accent))!important;color:#1a1508!important;border:1px solid #8f701040!important;font-weight:750!important}.nav-cta:hover{filter:brightness(1.05);color:#1a1508!important;background:linear-gradient(180deg, #d4ad2e, var(--accent-2))!important}.nav-toggle{background:var(--bg-elev);border:1px solid var(--line);color:var(--text-strong);cursor:pointer;font:inherit;border-radius:10px;padding:.5rem .85rem;font-size:.88rem;font-weight:650;display:none;box-shadow:0 1px 2px #1a1c1f0a}.nav-toggle:hover{border-color:var(--line-strong);background:var(--bg-soft)}@media (width<=900px){.nav-toggle{justify-content:center;align-items:center;gap:.35rem;min-width:72px;min-height:44px;display:inline-flex}.site-nav{border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.15rem;width:100%;margin-top:.25rem;padding:.35rem 0 .85rem;display:none}.site-header.open .site-nav{display:flex}.site-header .wrap{flex-wrap:wrap;min-height:0;padding-top:.5rem;padding-bottom:.5rem}.brand{padding:.3rem .5rem}.brand img{max-width:min(240px,62vw);height:64px}.site-nav a{align-items:center;min-height:48px;padding:.85rem .95rem;font-size:1rem;display:flex}.nav-cta{text-align:center;justify-content:center;min-height:48px;margin-top:.35rem;margin-left:0!important}}.btn{border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(180deg, var(--accent-2), var(--accent));color:#1a1508;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;min-height:48px;padding:.78rem 1.3rem;font-family:inherit;font-size:.95rem;font-weight:700;text-decoration:none;transition:filter .15s,transform .12s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 10px #c9a22752}.btn:hover{filter:brightness(1.05);color:#1a1508;text-decoration:none;box-shadow:0 4px 14px #c9a22766}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.secondary{background:var(--bg-elev);color:var(--text-strong);border-color:var(--line-strong);box-shadow:0 1px 3px #1a1c1f0d}.btn.secondary:hover{background:var(--bg-soft);color:var(--text-strong);filter:none;border-color:#c4bfb4;box-shadow:0 2px 8px #1a1c1f12}.btn.ghost{color:var(--text-strong);border-color:var(--line);box-shadow:none;background:0 0}.btn.ghost:hover{background:var(--bg-soft);filter:none;color:var(--text-strong)}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-row{flex-wrap:wrap;gap:.7rem;margin-top:.25rem;display:flex}.section{padding:3.75rem 0}@media (width<=700px){.section{padding:2.35rem 0}.section-head{margin-bottom:1.25rem}.card{padding:1.15rem 1.1rem}}.section.alt{background:linear-gradient(180deg, var(--bg-warm) 0%, #f3f0ea 100%);border-block:1px solid var(--line)}.section-head{max-width:640px;margin-bottom:1.9rem}.section-head h2{margin-bottom:.5rem}.section-head p{margin-bottom:0;font-size:1.02rem}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-soft);border:1px solid #c9a22738;border-radius:999px;margin-bottom:.55rem;padding:.22rem .55rem;font-size:.72rem;font-weight:750;display:inline-block}.grid{gap:1.1rem;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=800px){.grid-2,.grid-3{grid-template-columns:1fr}}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.3rem 1.35rem;transition:border-color .15s,box-shadow .15s,transform .15s}.card h3{margin-bottom:.45rem;font-size:1.1rem}.card p:last-child{margin-bottom:0}a.card{color:inherit;text-decoration:none;display:block}a.card:hover{box-shadow:var(--shadow-lg);color:inherit;border-color:#c9a22773;text-decoration:none;transform:translateY(-2px)}a.card:hover h3{color:var(--accent-deep)}.hero{padding:3.75rem 0 2.75rem;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:2.25rem;display:grid}@media (width<=900px){.hero{padding:1.75rem 0 1.5rem}.hero-grid{grid-template-columns:1fr;gap:1.35rem}.hero-grid>div:first-child{order:2}.hero-grid>div:last-child{order:1}.btn-row{flex-direction:column;align-items:stretch}.btn-row .btn{width:100%}.hero-stats{grid-template-columns:1fr;gap:.55rem;display:grid}.hero-stats div{justify-content:space-between;align-items:baseline;gap:.75rem;min-width:0;padding:.7rem .9rem;display:flex}.hero-stats strong{font-size:.98rem}.hero-lead{font-size:1.02rem}}@media (width>=480px) and (width<=900px){.hero-stats{grid-template-columns:1fr 1fr}.hero-stats div:last-child:nth-child(odd){grid-column:1/-1}}.hero h1 span{color:var(--accent-deep)}.hero-lead{max-width:34rem;color:var(--muted);font-size:1.12rem;line-height:1.65}.hero-stats{flex-wrap:wrap;gap:.75rem;margin:1.35rem 0 1.55rem;display:flex}.hero-stats div{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;min-width:118px;padding:.75rem 1.05rem;box-shadow:0 2px 8px #1a1c1f0a}.hero-stats strong{color:var(--accent-deep);font-size:1.05rem;font-family:var(--display);letter-spacing:-.02em;display:block}.hero-stats span{color:var(--muted-2);font-size:.78rem;line-height:1.35}.hero-photo{border:1px solid var(--line);box-shadow:var(--shadow-lg);aspect-ratio:4/3;object-fit:cover;background:var(--bg-soft);border-radius:16px;width:100%;overflow:hidden}.gallery{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}@media (width<=700px){.gallery{grid-template-columns:repeat(2,1fr);gap:.5rem}}@media (width<=380px){.gallery{grid-template-columns:1fr}}@media (hover:none){.gallery a:hover img,a.card:hover{transform:none}}.gallery a,.gallery figure{border:1px solid var(--line);aspect-ratio:4/3;background:var(--bg-soft);border-radius:12px;margin:0;transition:border-color .15s,box-shadow .2s;overflow:hidden;box-shadow:0 2px 10px #1a1c1f0d}.gallery a:hover{border-color:#c9a22780;box-shadow:0 8px 24px #1a1c1f1a}.gallery img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.gallery a:hover img{transform:scale(1.045)}.form .field{margin-bottom:.95rem}.form label{color:var(--muted);letter-spacing:.01em;margin-bottom:.35rem;font-size:.8rem;font-weight:650;display:block}.form input,.form select,.form textarea{border-radius:var(--radius-sm);border:1px solid var(--line-strong);width:100%;color:var(--text-strong);font:inherit;appearance:none;background:#fff;min-height:48px;padding:.72rem .85rem;font-size:16px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 2px #1a1c1f08}.form textarea{resize:vertical;min-height:96px}.form input::placeholder,.form textarea::placeholder{color:#9aa1ab}.form input:hover,.form select:hover,.form textarea:hover{border-color:#c0baae}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235c636e' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding-right:2.2rem}.form .row{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}@media (width<=600px){.form .row{grid-template-columns:1fr}}.form .hp-field{opacity:0;height:0;position:absolute;left:-9999px;overflow:hidden}.form button[type=submit]{width:100%;margin-top:.25rem;padding:.85rem 1.3rem;font-size:1rem}.form-status{min-height:1.4em;margin-top:.65rem;margin-bottom:0;font-size:.9rem}.form-status.success{color:var(--ok);font-weight:600}.form-status.error{color:var(--danger);font-weight:600}.site-footer{border-top:1px solid var(--line);background:linear-gradient(#f3f1ec 0%,#ebe8e2 100%);margin-top:2.5rem;padding:2.75rem 0 2.25rem}.site-footer:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent-2) 25%, var(--accent) 50%, var(--accent-2) 75%, transparent 100%);opacity:.7;height:2px;margin:-2.75rem 0 2.5rem;display:block}.footer-grid{grid-template-columns:1.45fr 1fr 1fr;gap:1.75rem;display:grid}@media (width<=800px){.footer-grid{grid-template-columns:1fr;gap:1.5rem}}.footer-brand{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:.9rem;padding:.5rem .75rem;display:inline-flex;box-shadow:0 1px 3px #1a1c1f0a}.footer-brand img{object-fit:contain;width:auto;max-width:280px;height:72px}.site-footer h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);font-size:.78rem;font-family:var(--font);margin-bottom:.65rem;font-weight:700}.site-footer a{color:var(--muted);padding:.28rem 0;font-size:.95rem;text-decoration:none;display:block}.site-footer a:hover{color:var(--text-strong)}.site-footer p{font-size:.95rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted-2);margin-top:2rem;padding-top:1.15rem;font-size:.85rem;line-height:1.5}.footer-bottom a{color:var(--muted);margin-left:.5rem;display:inline}.footer-bottom a:hover{color:var(--accent-deep)}.mobile-bar{z-index:60;padding:.7rem .85rem calc(.7rem + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#fffffff5;gap:.55rem;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #1a1c1f14}@media (width<=700px){.mobile-bar{display:flex}body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.site-footer{margin-top:1.5rem;padding-bottom:1.5rem}.site-footer:before{margin-bottom:1.75rem}}.mobile-bar .btn{flex:1;min-height:50px;padding:.8rem .65rem;font-size:.92rem}@media (width<=360px){.mobile-bar .btn{padding-left:.4rem;padding-right:.4rem;font-size:.85rem}}.pill{background:var(--accent-soft);color:var(--accent-deep);border:1px solid #c9a22733;border-radius:999px;padding:.22rem .6rem;font-size:.78rem;font-weight:700;display:inline-block}.list-check{margin:0 0 1rem;padding:0;list-style:none}.list-check li{color:var(--muted);padding:.4rem 0 .4rem 1.55rem;position:relative}.list-check li:before{content:"✓";color:var(--accent-deep);font-weight:800;position:absolute;left:0}.prose{max-width:720px}.prose h2{margin-top:2rem}.prose h1{margin-bottom:.85rem}.split-2{grid-template-columns:1fr 1.1fr;align-items:start;gap:2rem;display:grid}.split-2-narrow{grid-template-columns:1.2fr .8fr;align-items:start;gap:2rem;display:grid}.estimate-split{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}@media (width<=800px){.split-2,.split-2-narrow,.estimate-split{grid-template-columns:1fr;gap:1.35rem}.estimate-split.form-first>:last-child{order:-1}}@media (width<=900px){.card[style*=sticky],.card.sticky-form{position:static!important;top:auto!important}}@media (width<=700px){.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.prose{max-width:100%}}.card-accent{border-top:3px solid var(--accent-2);background:linear-gradient(180deg, #c9a2270f 0%, transparent 48px), var(--bg-elev)}
