/* =========================================================   ROOT / RESET   ========================================================= */
:root{--bg:#f8f5ee; --bg-2:#f2ede2; --card:#ffffff; --card-2:#fcfaf6; --line:rgba(24,33,43,.08); --line-2:rgba(212,175,55,.22); --text:#1e2329; --muted:#5f6772; --gold:#d4af37; --gold-2:#b99322; --gold-3:#8c6b12; --green:#0f5132; --green-2:#198754; --success:#157347; --success-bg:rgba(21,115,71,.08); --danger:#b42318; --danger-bg:rgba(180,35,24,.08); --shadow:0 18px 48px rgba(15,23,42,.08); --radius:26px; --radius-sm:18px; --max:1240px;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{margin:0; font-family:Inter,Segoe UI,Arial,sans-serif; color:var(--text); background:radial-gradient(circle at top left, rgba(212,175,55,.10), transparent 24%), radial-gradient(circle at top right, rgba(15,81,50,.06), transparent 22%), linear-gradient(180deg, #f8f5ee 0%, #f4efe5 100%); line-height:1.6;}
.container{width:min(var(--max), calc(100% - 34px)); margin:0 auto;}

/* =========================================================   SITE SHELL / LAYOUT  ========================================================= */
.site-shell{min-height:100vh; display:flex; flex-direction:column;}
.site-main{flex:1;}
.layout{padding:6px 0 44px;}
.layout-grid{display:grid; grid-template-columns:1.28fr .72fr; gap:24px; align-items:start;}
.form-card{padding:28px;}
.side-card{padding:24px; position:sticky; top:18px;}
.section-stack{display:grid; gap:18px;}

/* =========================================================   CARDS / GENERIC UI   ========================================================= */
.card{background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(252,250,246,.94)); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); backdrop-filter:blur(8px);}
.notice{padding:0 0 20px;}
.notice-card{border-radius:22px; border:1px solid var(--line-2); background:linear-gradient(180deg, rgba(212,175,55,.08), rgba(212,175,55,.03)); color:#5a4a18; padding:18px 20px; box-shadow:0 12px 28px rgba(15,23,42,.05);}
.notice-card p{margin:0;}
.placeholder-box{padding:18px 20px; border-radius:20px; border:1px dashed rgba(212,175,55,.24); background:rgba(255,255,255,.75); color:var(--muted);}
.quote{padding:16px 17px; border-radius:18px; background:rgba(212,175,55,.08); border:1px solid rgba(212,175,55,.14); color:#66531a; font-style:italic;}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.87em; background:rgba(24,33,43,.06); padding:2px 6px; border-radius:8px; color:#4b5460;}

/* =========================================================   HERO   ========================================================= */
.hero{padding:42px 0 20px;}
.hero-card{position:relative; overflow:hidden; border-radius:34px; border:1px solid rgba(212,175,55,.14); background:linear-gradient(135deg, #ffffff, #f8f4ea); box-shadow:var(--shadow);}
.hero-card::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 87% 22%, rgba(212,175,55,.12), transparent 18%), radial-gradient(circle at 0% 100%, rgba(15,81,50,.04), transparent 20%); pointer-events:none;}
.hero-inner{position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:28px; padding:42px 34px; align-items:end;}
.hero-copy p{margin:0; max-width:760px; color:var(--muted); font-size:1.02rem;}
.hero-stat-panel{border-radius:24px; background:rgba(255,255,255,.72); border:1px solid rgba(212,175,55,.16); padding:22px; backdrop-filter:blur(8px);}
.hero-stat-panel h3{margin:0 0 8px; font-size:1.05rem; color:var(--gold-2);}
.hero-stat-panel p{margin:0; color:var(--muted); font-size:.95rem;}
.hero-points{display:grid; gap:10px; margin-top:16px;}
.hero-point{padding:12px 14px; border-radius:16px; background:rgba(255,255,255,.76); border:1px solid rgba(24,33,43,.06); color:#3c4754; font-size:.93rem;}

/* =========================================================   TYPOGRAPHY   ========================================================= */
h1{margin:0 0 12px; font-size:clamp(2.2rem,4.6vw,4rem); line-height:1.05; letter-spacing:-.03em; color:var(--text);}
h2{margin:0 0 8px; font-size:1.5rem; line-height:1.2; letter-spacing:-.02em; color:var(--text);}
h3{margin:0 0 8px; font-size:1.04rem; line-height:1.3; color:var(--text);}
.muted{margin:0; color:var(--muted);}
.small{margin:0; color:#7a7468; font-size:.89rem;}
.pill{display:inline-flex; align-items:center; gap:10px; padding:8px 14px; border-radius:999px; background:rgba(212,175,55,.10); border:1px solid rgba(212,175,55,.18); color:var(--gold-2); font-size:.84rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px;}
.section{padding:20px 0 8px; margin-top:20px; border-top:1px solid rgba(24,33,43,.08);}
.section:first-of-type{padding-top:0; margin-top:0; border-top:none;}
.section-tag{display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; background:rgba(212,175,55,.08); border:1px solid rgba(212,175,55,.14); color:var(--gold-2); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px;}

/* =========================================================   FORMS   ========================================================= */
.form-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;}
.thirds{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;}
.full{grid-column:1 / -1;}
.form-group{display:grid; gap:8px;}
label{font-size:.95rem; font-weight:700; color:var(--text);}

input[type="text"], input[type="email"], input[type="tel"], input[type="url"], select, textarea, input[type="file"]{width:100%; border:1px solid rgba(24,33,43,.10); border-radius:16px; background:rgba(255,255,255,.92); color:var(--text); font:inherit; padding:13px 14px; transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;}
select option{color:#111; background:#fff;}
textarea{min-height:120px; resize:vertical;}
input::placeholder, textarea::placeholder{color:#8a8478;}

input:focus, select:focus, textarea:focus{outline:none; border-color:rgba(212,175,55,.55); box-shadow:0 0 0 4px rgba(212,175,55,.10); background:#fff;}

/* =========================================================   CHECKS / SIGNATURE   ========================================================= */
.checks{display:grid; gap:12px; margin-top:8px;}
.checks.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.check{display:flex; gap:12px; align-items:flex-start; padding:13px 14px; border-radius:18px; border:1px solid rgba(24,33,43,.08); background:rgba(255,255,255,.78); color:#3f4854;}
.check input{margin-top:3px; transform:scale(1.08); accent-color:var(--gold);}

.signature-wrap{border-radius:22px; border:1px dashed rgba(212,175,55,.24); padding:14px; background:rgba(255,255,255,.75);}
.signature-pad{width:100%; height:220px; border-radius:18px; border:1px solid rgba(24,33,43,.10); background:#fffdfa; display:block; touch-action:none;}
.sig-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;}

/* =========================================================   BUTTONS / ACTIONS   ========================================================= */
.btn-row, .actions, .cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;}
.cta-row{margin-top:10px;}
.btn{appearance:none; border:none; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 18px; border-radius:16px; font:inherit; font-weight:800; transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{color:#fff; background:linear-gradient(135deg, #c79e1f, #d4af37); box-shadow:0 16px 34px rgba(212,175,55,.20);}
.btn-secondary{color:var(--text); background:#fff; border:1px solid rgba(24,33,43,.08);}

/* =========================================================   STATUS / LISTS   ========================================================= */
.status{margin-top:18px; padding:14px 16px; border-radius:18px; font-weight:700;}
.status.error{color:var(--danger); background:var(--danger-bg); border:1px solid rgba(180,35,24,.14);}
.error-list{margin:8px 0 0 18px; padding:0;}
.info-list{list-style:none; padding:0; margin:14px 0 0; display:grid; gap:10px;}
.info-list li{padding:13px 14px; border-radius:18px; border:1px solid rgba(24,33,43,.06); background:rgba(255,255,255,.76); color:#404a56;}

/* =========================================================   SUCCESS / SIDE CARD   ========================================================= */
.success-shell{display:grid; gap:20px;}
.success-card{padding:34px;}
.success-pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background:var(--success-bg); border:1px solid rgba(21,115,71,.16); color:var(--success); font-weight:800; margin-bottom:12px;}
.success-card strong{color:var(--gold-2);}
.side-card .group{padding-top:18px; margin-top:18px; border-top:1px solid rgba(24,33,43,.08);}
.side-card .group:first-of-type{padding-top:0; margin-top:0; border-top:none;}

/* =========================================================   STARTER / HOME   ========================================================= */
.starter-main{padding:32px 0 56px;}
.hero-starter{margin-bottom:24px;}
.hero-starter-copy{position:relative; z-index:1; padding:42px 34px; display:grid; gap:14px;}
.hero-starter-copy p{max-width:760px; margin:0; color:var(--muted); font-size:1.02rem;}
.starter-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:24px; align-items:start;}
.starter-card{padding:28px;}
.starter-list{list-style:none; margin:16px 0 0; padding:0; display:grid; gap:10px;}
.starter-list li{padding:13px 14px; border-radius:18px; border:1px solid rgba(24,33,43,.06); background:rgba(255,255,255,.76); color:#404a56;}

/* =========================================================   FOOTER   ========================================================= */
.site-footer{padding-top:10px; padding-bottom:24px;}
.site-footer-card{padding:24px;}
.site-footer-grid{display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:20px;}
.site-footer-links{list-style:none; margin:14px 0 0; padding:0; display:grid; gap:10px;}
.site-footer-links li{padding:13px 14px; border-radius:18px; border:1px solid rgba(24,33,43,.06); background:rgba(255,255,255,.76); color:#404a56;}
.site-footer-links a{color:inherit; text-decoration:none;}
.site-footer-links a:hover{text-decoration:underline;}
.site-footer-bottom{margin-top:20px; padding-top:18px; border-top:1px solid rgba(24,33,43,.08); display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px;}
.site-footer-meta{margin:0;}
.footer-pill{margin-bottom:10px;}
.footer-heading{margin-bottom:10px;}
.footer-logo-wrap{display:inline-flex; margin-bottom:12px; text-decoration:none;}
.footer-logo{width:72px; height:72px; object-fit:contain;}

/* =========================================================   HEADER / NAV   ========================================================= */
.site-header{position:sticky; top:0; z-index:999; backdrop-filter:blur(10px); padding-top:18px;}
.main-nav{padding:0; overflow:visible; position:relative; z-index:40;}
.nav-top{display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 20px; border-bottom:1px solid rgba(24,33,43,.08);}
.nav-brand{display:flex; align-items:center; gap:14px; min-width:0; text-decoration:none; color:inherit;}
.nav-logo{width:52px; height:52px; object-fit:contain; border-radius:16px; background:rgba(255,255,255,.72); border:1px solid rgba(212,175,55,.14); padding:6px; flex:0 0 auto;}
.nav-brand-copy{min-width:0; display:grid; gap:3px;}
.nav-brand-kicker{font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-2); line-height:1.1;}
.nav-brand-title{font-size:1.02rem; font-weight:700; color:var(--text); line-height:1.2; letter-spacing:-.01em;}

.nav-right{display:flex; align-items:center; gap:12px; margin-left:auto;}
.nav-widget{display:flex; align-items:center; justify-content:center;}
.nav-widget .elfsight-app-f661132c-ec6d-4d49-b04d-87229c4fd009{position:static; z-index:auto;}

.site-search-form{display:flex; align-items:center; gap:0; min-width:290px; max-width:340px; width:100%; border:1px solid rgba(24,33,43,.08); border-radius:999px; background:rgba(255,255,255,.82); overflow:hidden; box-shadow:0 10px 24px rgba(15,23,42,.05);}
.site-search-form input[type="text"]{border:none; background:transparent; box-shadow:none; border-radius:0; padding:11px 14px 11px 16px; min-width:0;}
.site-search-form input[type="text"]:focus{box-shadow:none; border:none; background:transparent;}
.site-search-form button{appearance:none; border:none; background:transparent; color:var(--gold-2); font-size:1rem; font-weight:700; cursor:pointer; padding:0 16px; height:100%;}
.site-search-form button:hover{color:var(--gold-3);}

.nav-toggle{display:none; width:46px; height:46px; border-radius:14px; border:1px solid rgba(24,33,43,.08); background:#fff; cursor:pointer; padding:0; align-items:center; justify-content:center; flex-direction:column; gap:5px; box-shadow:0 10px 24px rgba(15,23,42,.05);}
.nav-toggle span{display:block; width:18px; height:2px; border-radius:999px; background:var(--text);}

.nav-bottom{padding:0 20px 18px;}
.nav-menu{list-style:none; margin:0; padding:14px 0 0; display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.nav-item{position:relative;}

.nav-link{appearance:none; border:none; text-decoration:none; display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border-radius:16px; background:rgba(255,255,255,.72); border:1px solid rgba(24,33,43,.07); color:var(--text); font:inherit; font-weight:700; cursor:pointer; transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease; box-shadow:0 10px 24px rgba(15,23,42,.04);}
.nav-link:hover{transform:translateY(-1px); border-color:rgba(212,175,55,.20); background:#fff;}
.nav-item.active > .nav-link, .nav-item.open > .nav-link{background:rgba(212,175,55,.10); border-color:rgba(212,175,55,.20); color:var(--gold-3);}

.nav-cta{background:linear-gradient(135deg, #c79e1f, #d4af37); color:#fff; border-color:transparent; box-shadow:0 16px 34px rgba(212,175,55,.20);}
.nav-cta:hover{color:#fff; background:linear-gradient(135deg, #bc941b, #d0aa33); border-color:transparent;}

.dropdown-toggle{white-space:nowrap;}
.caret{font-size:.8rem; line-height:1; color:var(--gold-2);}

.dropdown{position:absolute; top:100%; left:0; min-width:250px; padding:10px; border-radius:18px; border:1px solid rgba(24,33,43,.08); background:rgba(255,255,255,.98); box-shadow:0 22px 44px rgba(15,23,42,.10); display:none; z-index:50; margin-top:0;}
.nav-item.has-dropdown:hover > .dropdown{display:block;}

.dropdown-link{display:block; text-decoration:none; color:var(--text); font-weight:600; padding:11px 12px; border-radius:12px; transition:background .16s ease, color .16s ease;}
.dropdown-link:hover, .dropdown-link.active{background:rgba(212,175,55,.10); color:var(--gold-3);}

.elfsight-app-f661132c-ec6d-4d49-b04d-87229c4fd009{position:relative; z-index:1;}

/* =========================================================   CONTACT FAB   ========================================================= */
.contact-fab-wrap{position:fixed; right:20px; bottom:20px; z-index:1200;}
.contact-fab-main{width:58px; height:58px; border:none; border-radius:999px; cursor:pointer; background:linear-gradient(135deg, #c79e1f, #d4af37); color:#fff; box-shadow:0 16px 34px rgba(212,175,55,.28); display:flex; align-items:center; justify-content:center; position:relative;}
.fab-icon{position:absolute; transition:opacity .2s ease, transform .2s ease;}
.fab-close{opacity:0; transform:scale(.8);}
.contact-fab-wrap.open .fab-open{opacity:0; transform:scale(.8);}
.contact-fab-wrap.open .fab-close{opacity:1; transform:scale(1);}

.contact-fab-menu{position:absolute; right:0; bottom:72px; display:grid; gap:10px; opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .2s ease, transform .2s ease;}
.contact-fab-wrap.open .contact-fab-menu{opacity:1; pointer-events:auto; transform:translateY(0);}
.contact-fab-item{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); background:#fff; border:1px solid rgba(24,33,43,.08); border-radius:999px; padding:10px 14px; box-shadow:0 10px 24px rgba(15,23,42,.08);}
.fab-item-icon{display:inline-flex; align-items:center; justify-content:center;}
.fab-item-label{font-weight:700;}

/* =========================================================   RESPONSIVE   ========================================================= */
@media (max-width:1120px){.nav-brand-title{font-size:.95rem;} .site-search-form{min-width:220px; max-width:280px;}}
@media (max-width:1040px){.hero-inner, .layout-grid{grid-template-columns:1fr;} .side-card{position:static;}}
@media (max-width:980px){.nav-top{padding:14px 16px;} .nav-bottom{display:none; padding:0 16px 16px;} .main-nav.open .nav-bottom{display:block;} .nav-toggle{display:flex;} .site-search-form, .nav-widget{display:none;} .nav-menu{flex-direction:column; align-items:stretch; gap:10px;} .nav-link{width:100%; justify-content:space-between;} .dropdown{position:static; min-width:0; margin-top:10px; box-shadow:none; border-radius:16px; background:rgba(255,255,255,.76); display:none;} .nav-item.has-dropdown:hover > .dropdown{display:none;} .nav-item.open > .dropdown{display:block;} .starter-grid, .site-footer-grid{grid-template-columns:1fr;}}
@media (max-width:740px){.form-grid, .thirds, .checks.cols-2{grid-template-columns:1fr;} .hero-card{border-radius:28px;} .hero-inner, .hero-starter-copy{padding:28px 22px;} .form-card, .side-card, .success-card, .starter-card, .site-footer-card{padding:22px;} .signature-pad{height:190px;} .site-header{padding-top:14px;} .nav-top{gap:12px;} .nav-brand{gap:10px;} .nav-logo{width:46px; height:46px;} .nav-brand-kicker{font-size:.72rem;} .nav-brand-title{font-size:.9rem;}}
