@font-face{font-family:Inter;src:url(/fonts/inter.woff2) format("woff2");font-weight:400 600;font-display:swap}
@font-face{font-family:Fraunces;src:url(/fonts/fraunces.woff2) format("woff2");font-weight:400 600;font-display:swap}
:root{--bg:#f8f5f0;--ink:#1f1d1b;--muted:#ede8df;--mfg:#6a645b;--line:#d9d2c5;--brass:#9a8150;--brass-l:#b59a63;--r:4px;--sh:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;--sh2:0 10px 30px -12px #0000003d}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 Inter,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.cta-h{font-family:Fraunces,ui-serif,Georgia,serif;font-weight:500;line-height:1.2;letter-spacing:-.01em}
a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--brass)}img{max-width:100%;height:auto;display:block}
svg{width:1.1em;height:1.1em;fill:currentColor;flex:none}
.btn{display:inline-flex;align-items:center;gap:.5rem;justify-content:center;background:var(--ink);color:var(--bg)!important;padding:.85rem 1.4rem;border-radius:var(--r);text-decoration:none;font-weight:500;font-size:.95rem;letter-spacing:.02em;border:1px solid transparent;transition:background .15s}
.btn:hover{background:#3a3631}.btn-sm{padding:.5rem .9rem;font-size:.85rem}.btn-brass{background:var(--brass)}.btn-brass:hover{background:var(--brass-l)}
.btn-light{background:transparent;color:inherit!important;border-color:currentColor}.btn-light:hover{background:#ffffff1a}
header.site{background:#f8f5f0ee;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;max-width:1200px;margin:auto}
.brand{font-size:1.45rem;text-decoration:none;margin:0}.brand em{font-weight:400}nav{display:flex;align-items:center;gap:1.4rem}nav a:not(.btn){text-decoration:none;font-size:.92rem;color:var(--mfg)}
.hero{background:radial-gradient(120% 140% at 85% 0%,#6b5a3a 0%,transparent 55%),linear-gradient(135deg,#1f1d1b 0%,#2d2925 60%,#3b342b 100%);color:var(--bg);padding:3.5rem 1.25rem 3rem}
.hero.home{padding:5rem 1.25rem 4.5rem}.hwrap{max-width:1100px;margin:auto}.hero h1{font-size:clamp(2rem,4.5vw,3.2rem);margin:.6rem 0 1.2rem;max-width:22ch}
.hero a{color:var(--bg)}.crumbs{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin:0;opacity:.85}.crumbs a{text-decoration:none}
.chip{display:inline-block;border:1px solid #f8f5f066;border-radius:999px;padding:.15rem .7rem;margin-left:.3rem;background:#ffffff14}
.byline{display:flex;gap:.8rem;align-items:center;margin:0;font-size:.95rem}.byline img{border-radius:50%;border:2px solid var(--brass-l)}.byline small{opacity:.75}
.lead{font-size:1.2rem;opacity:.85;max-width:60ch}.hbtn{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.layout{max-width:1200px;margin:auto;padding:2.5rem 1.25rem;display:grid;gap:3rem;grid-template-columns:1fr}
@media(min-width:1024px){.layout{grid-template-columns:250px minmax(0,1fr)}.side{position:sticky;top:90px;align-self:start;max-height:calc(100vh - 110px);overflow:auto}}
.toc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1.1rem;box-shadow:var(--sh)}
.toc summary{font-weight:600;cursor:pointer;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mfg)}
.toc ol{margin:.6rem 0 0;padding-left:1.1rem;font-size:.9rem;line-height:1.5}.toc li{margin:.45rem 0}.toc a{text-decoration:none}.toc a:hover{color:var(--brass)}
.prose{max-width:70ch;min-width:0}.prose h2{font-size:1.75rem;margin:3rem 0 1rem;padding-top:1rem;border-top:1px solid var(--line)}.prose h3{font-size:1.25rem;margin:2rem 0 .6rem}
.prose li{margin:.35rem 0}
.qa{display:flex;gap:1rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brass);border-radius:var(--r);padding:1.3rem 1.4rem;box-shadow:var(--sh2);margin-bottom:1rem}
.qa .ico{width:28px;height:28px;color:var(--brass);margin-top:.2rem}.qa p{margin:0}.lbl{font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-bottom:.35rem!important}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r);margin:1.5rem 0;background:#fff;box-shadow:var(--sh)}
table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}th,td{padding:.7rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{background:var(--ink);color:var(--bg);font-weight:500}tbody tr:nth-child(even){background:var(--muted)}tbody tr:last-child td{border-bottom:0}
.checks{background:var(--muted);border-radius:var(--r);padding:1rem 1.4rem;margin:1.2rem 0}.check{list-style:none;padding:0;margin:0}
.check li{position:relative;padding-left:2rem}.check li:before{content:"";position:absolute;left:0;top:.3em;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--brass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/70% no-repeat}
.callout{border-radius:var(--r);padding:.9rem 1.2rem;margin:1.2rem 0;border-left:4px solid}.callout p{margin:0}.callout.tip{background:#eef3ea;border-color:#6d8a5a}.callout.trap{background:#f7ebe4;border-color:#b5643c}
.faq{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin:.6rem 0;box-shadow:var(--sh)}
.faq summary{cursor:pointer;padding:1rem 2.8rem 1rem 1.2rem;font-weight:600;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:1.2rem;top:.75rem;font-size:1.4rem;color:var(--brass)}.faq[open] summary:after{content:"\2212"}.faq p{margin:0;padding:0 1.2rem 1.1rem;color:#3a3631}
.cta{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1f1d1b,#3b342b);color:var(--bg);border-radius:var(--r);padding:1.8rem;margin:2.5rem 0;box-shadow:var(--sh2)}
.cta a{color:var(--bg)}.cta p{margin:0}.cta-h{font-size:1.4rem;margin-bottom:.3rem!important}.cta-b{display:flex;flex-wrap:wrap;gap:.7rem}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin:1.4rem 0}
.scard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;box-shadow:var(--sh);transition:transform .2s,box-shadow .2s}
.scard:hover,.gcard:hover{transform:translateY(-2px);box-shadow:var(--sh2)}.scard img{aspect-ratio:16/9;object-fit:cover;width:100%}
.scard span{display:block;padding:.6rem .8rem;font-family:Fraunces,serif;font-size:1.05rem;line-height:1.3}.scard small{display:block;font-family:Inter,sans-serif;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}
.wide{max-width:1200px;margin:auto;padding:2.5rem 1.25rem}.hubsec{margin-bottom:3rem}.hubsec h2{font-size:1.9rem;margin:0}.hubsec h2 a{text-decoration:none}.muted{color:var(--mfg);margin:.3rem 0 1.4rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem}
.gcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--sh);transition:transform .2s,box-shadow .2s}
.gimg{aspect-ratio:16/7;display:flex;align-items:flex-end;padding:1rem;color:var(--bg);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(135deg,#1f1d1b,#4a3f30)}
.gcoastal{background:linear-gradient(135deg,#1f2b33,#5a6f73)}.gcondo{background:linear-gradient(135deg,#2a2622,#7a6a52)}.gstyles{background:linear-gradient(135deg,#3b342b,#9a8150)}.gplanning{background:linear-gradient(135deg,#23282a,#5e6250)}
.gbody{padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.gbody h3{margin:0;font-size:1.25rem}.gbody p{margin:0;color:var(--mfg);font-size:.92rem;line-height:1.55}.gbody small{margin-top:auto;color:var(--brass);font-weight:600}
footer.site{background:var(--ink);color:#d8d2c7;padding:3rem 1.25rem;font-size:.9rem}.fwrap{max-width:1200px;margin:auto;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}footer a,footer .brand{color:#fff}
.mbar{display:none}
@media(max-width:767px){body{font-size:16.5px;padding-bottom:76px}nav a:not(.btn){display:none}.hero{padding:2.4rem 1.1rem 2.2rem}.layout{padding:1.6rem 1.1rem;gap:1.2rem}
.mbar{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);box-shadow:0 -4px 16px #0003}
.mbar .btn:last-child{background:var(--brass)}.cta{padding:1.4rem}.cta-b,.cta-b .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
