/* Base */
:root{
    --bg:#f6f0e8;
    --surface:#fff8f2;
    --card:#fffdfb;
    --text:#24181b;
    --muted:#6e5b58;
    --muted-strong:#4f3f3f;
    --line:rgba(75,35,40,.12);
    --accent:#9f1f31;
    --accent-strong:#c23447;
    --gold:#a26f35;
    --gold-soft:rgba(162,111,53,.12);
    --shadow:0 24px 60px rgba(63,24,28,.10);
    --radius:24px;
    --container:min(1120px, calc(100vw - 2rem));
    --header-h:88px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(circle at top right, rgba(194,52,71,.12), transparent 34%),radial-gradient(circle at bottom left, rgba(162,111,53,.10), transparent 24%),linear-gradient(180deg, #fbf7f2, var(--bg));color:var(--text);line-height:1.65;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;}
iframe{border:0;max-width:100%;}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.container{width:var(--container);margin:0 auto;}
.section{padding:5.5rem 0;}
.section.tight{padding-top:3.5rem;}
.section-title{display:flex;flex-direction:column;gap:.8rem;max-width:720px;margin-bottom:2rem;}
.section-title .eyebrow,.hero-copy .eyebrow,.page-hero-content .eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;}
.section-title h1,.section-title h2{margin:0;line-height:1.1;font-size:clamp(2rem, 4vw, 3.6rem);}
.section-title p{margin:0;color:var(--muted);}
.lead{font-size:1.1rem;color:var(--muted-strong);}
.muted{color:var(--muted);}
.flow > * + *{margin-top:1rem;}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);background:rgba(251,247,242,.88);border-bottom:1px solid rgba(75,35,40,.10);box-shadow:0 10px 30px rgba(75,35,40,.06);}
.nav-shell{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.brand{display:flex;align-items:center;gap:.85rem;min-width:0;}
.brand img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3));}
.brand-copy{display:flex;flex-direction:column;line-height:1;}
.brand-copy strong{font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;}
.brand-copy span{color:var(--muted);font-size:.88rem;letter-spacing:.16em;text-transform:uppercase;}
.site-nav{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
.site-nav a{padding:.8rem 1rem;border-radius:999px;color:var(--muted);transition:background .22s ease,color .22s ease, transform .22s ease, box-shadow .22s ease;}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a.active{background:rgba(159,31,49,.08);color:var(--text);box-shadow:inset 0 0 0 1px rgba(159,31,49,.08);}
.nav-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:14px;background:transparent;color:var(--text);padding:0;}
.nav-toggle span{display:block;width:18px;height:2px;margin:4px auto;background:var(--text);border-radius:999px;}
.hero{position:relative;min-height:calc(100vh - var(--header-h));display:grid;align-items:end;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(12,8,9,.08), rgba(24,16,18,.58) 58%, rgba(36,24,27,.82)),linear-gradient(120deg, rgba(159,31,49,.34), transparent 45%);z-index:1;}
.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-content{position:relative;z-index:2;padding:7rem 0 5rem;}
.hero-copy{max-width:720px;}
.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:.6rem;}
.hero-copy .eyebrow::before{content:"";width:40px;height:1px;background:currentColor;}
.hero h1{margin:.9rem 0 1rem;font-size:clamp(2.8rem, 7vw, 6rem);line-height:.95;}
.hero p{max-width:620px;font-size:1.08rem;color:var(--muted-strong);margin:0 0 1.6rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.9rem 1.3rem;border-radius:999px;border:1px solid transparent;font-weight:700;transition:transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease;}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);}
.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:white;box-shadow:0 18px 40px rgba(143,32,49,.35);}
.btn-secondary{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.32);color:#fff9f4;backdrop-filter:blur(6px);}
.hero-stat-row{margin-top:2rem;display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:1rem;}
.hero-stat{padding:1.15rem 1.2rem;border-radius:20px;background:rgba(255,250,245,.18);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);}
.hero-stat strong{display:block;margin-bottom:.2rem;font-size:1rem;}
.hero-stat span{color:var(--muted);font-size:.94rem;}
.grid{display:grid;gap:1.4rem;}
.grid-2{grid-template-columns:repeat(2, minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3, minmax(0,1fr));}
.card,.panel,.form-card{background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,251,247,.90));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.card{overflow:hidden;transition:transform .25s ease, background .25s ease, border-color .25s ease;}
.card:hover{transform:translateY(-4px);background:rgba(255,255,255,.98);border-color:rgba(159,31,49,.14);}
.card-media{position:relative;aspect-ratio:16/10;overflow:hidden;}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.card:hover .card-media img{transform:scale(1.05);}
.card-body,.panel,.form-card{padding:1.5rem;}
.card h3,.card h2{margin:0 0 .65rem;font-size:1.28rem;line-height:1.18;}
.card p{margin:0;color:var(--muted);}
.card ul{margin:.9rem 0 0;padding-left:1.15rem;color:var(--muted-strong);}
.inline-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--gold);font-weight:700;margin-top:1rem;}
.inline-link::after{content:"→";transition:transform .22s ease;}
.inline-link:hover::after{transform:translateX(3px);}
.split,.form-shell{display:grid;grid-template-columns:1.08fr .92fr;gap:2rem;align-items:start;}
.check-list,.spec-list{list-style:none;margin:0;padding:0;}
.check-list li,.spec-list li{display:flex;gap:.8rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
.check-list li:last-child,.spec-list li:last-child{border-bottom:0;}
.check-list li::before,.spec-list li::before{content:"";flex:0 0 10px;width:10px;height:10px;margin-top:.5rem;border-radius:999px;background:linear-gradient(135deg, var(--gold), var(--accent-strong));box-shadow:0 0 0 6px var(--gold-soft);}
.form-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:1rem;}
.field{display:flex;flex-direction:column;gap:.45rem;}
.field.full{grid-column:1 / -1;}
.field label{font-weight:600;font-size:.94rem;}
.field input,.field textarea,.field select{width:100%;border-radius:16px;border:1px solid rgba(75,35,40,.12);background:rgba(255,255,255,.86);color:var(--text);padding:.95rem 1rem;outline:none;transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;}
.field textarea{min-height:140px;resize:vertical;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(162,111,53,.6);box-shadow:0 0 0 4px rgba(162,111,53,.12);background:#fff;}
.form-note{color:var(--muted);font-size:.94rem;}
.alert{padding:1rem 1.1rem;border-radius:18px;margin-bottom:1rem;border:1px solid transparent;}
.alert-success{background:rgba(46, 178, 125, .12);border-color:rgba(46, 178, 125, .28);color:#c8f5e2;}
.alert-error{background:rgba(215, 73, 95, .12);border-color:rgba(215, 73, 95, .28);color:#ffd8df;}
.honeypot{position:absolute;left:-9999px;visibility:hidden;}
.gallery-grid{columns:3 280px;column-gap:1rem;}
.gallery-item{break-inside:avoid;margin-bottom:1rem;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);}
.gallery-item a{display:block;position:relative;}
.gallery-item img{width:100%;height:auto;transition:transform .35s ease, filter .35s ease;}
.gallery-item a::after{content:attr(data-title);position:absolute;inset:auto 0 0 0;padding:1rem;color:white;background:linear-gradient(180deg, transparent, rgba(0,0,0,.78));opacity:0;transition:opacity .25s ease;}
.gallery-item a:hover img{transform:scale(1.03);filter:saturate(1.04);}
.gallery-item a:hover::after{opacity:1;}
.page-hero{padding:4.5rem 0 2.25rem;}
.page-hero-card{position:relative;overflow:hidden;border-radius:calc(var(--radius) + 6px);min-height:320px;display:grid;align-items:end;box-shadow:var(--shadow);}
.page-hero-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(18,14,15,.10), rgba(24,16,18,.68));z-index:1;}
.page-hero-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.page-hero-content{position:relative;z-index:2;padding:2rem;max-width:700px;}
.site-footer{border-top:1px solid rgba(75,35,40,.10);margin-top:5rem;background:rgba(255,251,246,.92);}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1.5rem;padding:3rem 0 2rem;}
.footer-list{list-style:none;padding:0;margin:0;}
.footer-list li + li{margin-top:.55rem;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0 2rem;color:var(--muted);border-top:1px solid rgba(75,35,40,.08);}
.badge{display:inline-flex;padding:.4rem .8rem;border-radius:999px;background:var(--gold-soft);color:var(--gold);border:1px solid rgba(215,176,123,.18);font-size:.86rem;font-weight:700;}
.cta-band{padding:1.6rem;border-radius:var(--radius);background:linear-gradient(135deg, rgba(159,31,49,.10), rgba(162,111,53,.10));border:1px solid rgba(162,111,53,.18);display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease, transform .6s ease;}
.reveal.is-visible{opacity:1;transform:none;}

.hero-copy, .hero-copy h1, .hero-copy p, .hero-copy .hero-stat strong, .hero-copy .hero-stat span, .page-hero-content, .page-hero-content h1, .page-hero-content p{color:#fff9f4;}
.hero-copy .eyebrow, .page-hero-content .eyebrow{color:#f2d2a9;}
.panel h3, .site-footer h2, .site-footer h3, .site-footer address, .site-footer p, .site-footer a{color:var(--text);}
.brand-seal{display:flex;align-items:center;justify-content:center;padding:1.1rem;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(252,245,237,.88));border:1px solid rgba(75,35,40,.10);box-shadow:var(--shadow);margin-bottom:1.2rem;}
.brand-seal img{width:min(240px, 100%);height:auto;object-fit:contain;}
.footer-brand{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;}
.footer-brand img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(63,24,28,.10));}
.footer-brand-copy{display:flex;flex-direction:column;gap:.2rem;}
.footer-brand-copy strong{font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;}
.footer-brand-copy span{font-size:.86rem;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;}
.gallery-callout{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;}

@media (max-width: 980px){.hero-stat-row,.grid-3,.split,.form-shell,.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width: 820px){.nav-toggle{display:block;}.site-nav{position:absolute;top:calc(100% + .65rem);right:1rem;left:1rem;display:none;flex-direction:column;align-items:stretch;padding:.8rem;border:1px solid var(--line);border-radius:22px;background:rgba(251,247,242,.98);box-shadow:var(--shadow);}.site-nav.open{display:flex;}.site-nav a{border-radius:14px;padding:.9rem 1rem;}.hero{min-height:auto;}.hero-content{padding:6rem 0 4rem;}.hero-stat-row,.grid-3,.grid-2,.split,.form-shell,.footer-grid,.form-grid,.gallery-callout{grid-template-columns:1fr;}.page-hero-card{min-height:260px;}.footer-bottom{flex-direction:column;align-items:flex-start;}}
