:root{
  --sand:#FAF4EA; --sand-2:#FFFBF4; --aqua:#1FA9B8; --aqua-dk:#16808c;
  --coral:#FF8A65; --coral-dk:#f5734a; --seafoam:#A8DADC;
  --ink:#26383a; --ink-soft:#5a6e70; --footer-bg:#143438; --line:#ece2d2;
  --shadow:0 10px 30px rgba(20,52,56,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--sand);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--aqua-dk);text-decoration:none}
a:hover{color:var(--coral-dk)}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;color:var(--ink);line-height:1.15}
.container{max-width:1120px}

/* Buttons */
.btn-coral{display:inline-block;background:var(--coral);color:#fff;border:0;border-radius:999px;padding:.7rem 1.6rem;font-weight:600;box-shadow:0 6px 16px rgba(255,138,101,.35);transition:.15s;cursor:pointer}
.btn-coral:hover{background:var(--coral-dk);color:#fff;transform:translateY(-1px)}
.btn-ghost{display:inline-block;border:2px solid var(--aqua);color:var(--aqua-dk);border-radius:999px;padding:.6rem 1.4rem;font-weight:600;margin-left:.5rem}
.btn-ghost:hover{background:var(--aqua);color:#fff}

/* ── Tenant header ── */
.site-header{background:var(--sand-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .container{padding:.8rem 1rem}
.brand{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;font-style:italic;color:var(--ink);position:relative}
.brand-name::after{content:"";display:block;height:3px;width:42px;background:var(--coral);border-radius:2px;margin-top:3px}
.brand-sub{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua-dk);font-weight:600;margin-top:.35rem}
.main-nav a{color:var(--ink);font-weight:500;margin-left:1.5rem;font-size:.96rem}
.main-nav a:hover{color:var(--coral-dk)}
.main-nav .nav-cta{color:var(--aqua-dk);font-weight:700}

/* ── Hero ── */
.hero{position:relative;background:linear-gradient(160deg,#dff1f2 0%,var(--sand) 60%);padding:4rem 0 5rem;overflow:hidden}
.hero-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--aqua-dk);margin-bottom:.8rem}
.hero-title{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:600;margin-bottom:1rem}
.hero-lede{font-size:1.18rem;color:var(--ink-soft);max-width:34rem}
.hero-actions{margin-top:1.6rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.headshot-wrap{position:relative;display:inline-block}
.headshot{width:clamp(220px,80%,300px);aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px solid #fff;box-shadow:var(--shadow)}
.headshot-cap{margin-top:1rem;font-family:'Fraunces',serif;font-weight:600;font-size:1.15rem}
.headshot-cap span{display:block;font-family:'Inter';font-weight:500;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--aqua-dk);margin-top:.2rem}
.wave{position:absolute;bottom:-1px;left:0;right:0;height:60px;background:var(--sand);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C150,60 350,0 600,25 C850,50 1050,10 1200,30 L1200,60 L0,60 Z'/%3E%3C/svg%3E") no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C150,60 350,0 600,25 C850,50 1050,10 1200,30 L1200,60 L0,60 Z'/%3E%3C/svg%3E") no-repeat;
  -webkit-mask-size:cover;mask-size:cover}

/* ── Guides ── */
.guides{padding:3.5rem 1rem}
.section-title{font-size:2rem;font-weight:600}
.section-sub{color:var(--ink-soft);margin-bottom:1.6rem}
.guide-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem;box-shadow:var(--shadow);transition:.18s;color:var(--ink)}
.guide-card:hover{transform:translateY(-4px);color:var(--ink);border-color:var(--seafoam)}
.guide-type{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--aqua-dk);font-weight:700}
.guide-title{font-family:'Fraunces',serif;font-size:1.25rem;font-weight:600;margin:.5rem 0 1rem;flex:1}
.guide-go{color:var(--coral-dk);font-weight:600;font-size:.92rem}

/* ── Content page ── */
.content-hero{background:linear-gradient(160deg,#dff1f2,var(--sand));padding:3rem 0 2.4rem;border-bottom:1px solid var(--line)}
.content-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--aqua-dk)}
.content-title{font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:600;margin:.4rem 0}
.content-sub{font-size:1.15rem;color:var(--ink-soft);max-width:42rem}
.content-body{max-width:46rem;margin:2.4rem auto;font-size:1.06rem}
.content-body h2{font-size:1.6rem;margin:2rem 0 .7rem}
.content-body h3{font-size:1.25rem;margin:1.5rem 0 .5rem;color:var(--aqua-dk)}
.content-body p{margin:0 0 1.05rem}
.content-body ul{margin:0 0 1.1rem;padding-left:1.2rem}
.content-body li{margin:.3rem 0}
.content-body blockquote{border-left:4px solid var(--coral);background:#fff;margin:1.4rem 0;padding:.9rem 1.2rem;border-radius:0 10px 10px 0;color:var(--ink-soft)}
.content-inquiry{max-width:46rem;margin:0 auto 3rem}

/* ── Inquiry form ── */
.inquiry-section{background:linear-gradient(180deg,var(--sand),#e8f4f4);padding:3.5rem 0}
.inquiry-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem;box-shadow:var(--shadow);max-width:46rem;margin:0 auto}
.inquiry-title{font-size:1.6rem;font-weight:600;margin-bottom:.3rem}
.inquiry-lede{color:var(--ink-soft);margin-bottom:1.2rem}
.inquiry-card .form-control,.inquiry-card .form-select{border-radius:10px;border:1px solid var(--line);padding:.6rem .8rem;background:var(--sand-2)}
.inquiry-card .form-control:focus,.inquiry-card .form-select:focus{border-color:var(--aqua);box-shadow:0 0 0 .2rem rgba(31,169,184,.18)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.inquiry-result.ok{color:var(--aqua-dk);font-weight:600}
.inquiry-result.err{color:#c0392b;font-weight:600}

/* ── Footer ── */
.site-footer{background:var(--footer-bg);color:#cfe3e3;padding:2.6rem 0;margin-top:0}
.site-footer .footer-brand{font-family:'Fraunces',serif;font-style:italic;font-size:1.4rem;color:#fff}
.site-footer .footer-sub{color:var(--seafoam);font-size:.9rem}
.site-footer .eho{font-weight:600;color:#fff;margin-bottom:.4rem}
.site-footer .footer-fine{font-size:.8rem;color:#9fc0c0;margin-bottom:.3rem}

/* ── Flagstead storefront / admin ── */
.fs-header{background:var(--footer-bg);color:#fff;padding:1rem 0}
.fs-header .container{padding:0 1rem}
.fs-brand{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:1.5rem;color:#fff}
.fs-header a{color:#cfe3e3}
.fs-storefront{padding:6rem 0;background:linear-gradient(160deg,#dff1f2,var(--sand))}
.fs-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--aqua-dk);font-weight:700;font-size:.85rem}
.fs-title{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:600}
.fs-title span{color:var(--coral)}
.fs-lede{font-size:1.2rem;color:var(--ink-soft);max-width:38rem;margin:1rem auto}
.fs-note{color:var(--ink-soft);font-style:italic}

/* ── Admin ── */
.admin-wrap{padding:2rem 1rem 4rem}
.admin-stats .stat{margin-left:1rem;font-size:.9rem;color:var(--ink-soft)}
.admin-stats .stat b{color:var(--ink);font-size:1.05rem}
.admin-table .msg{max-width:280px;white-space:normal}
.admin-table .nowrap,td.nowrap{white-space:nowrap}
.preview-banner{background:#fff3cd;color:#7a5b00;text-align:center;padding:.5rem;font-weight:600;font-size:.9rem}
