@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,600;1,9..144,300;1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#8B1A1A; --red-d:#6B1010; --red-m:#A02020; --red-l:#C47070;
  --red-tint:#F9F0F0; --red-pale:#FDF7F7;
  --grey:#7A7A7A; --grey-d:#555; --grey-l:#ABABAB; --grey-tint:#F5F5F5;
  --ink:#1A1A1A; --mid:#5C5C5C; --light:#9A9A9A;
  --white:#fff; --off:#F9F9F9;
  --border:#E8E8E8; --border-r:rgba(139,26,26,.14);
  --r:10px; --r-lg:18px; --r-xl:28px;
  --sh:0 2px 16px rgba(0,0,0,.06); --sh-md:0 6px 32px rgba(0,0,0,.09); --sh-lg:0 12px 56px rgba(0,0,0,.12);
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--ink);line-height:1.65;overflow-x:hidden;font-size:15px}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:400;line-height:1.12}
em{color:var(--red);font-style:italic}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.container{max-width:1180px;margin:0 auto;padding:0 44px}
.section{padding:88px 0}
.section-sm{padding:56px 0}
.bg-off{background:var(--off)}
.bg-red-tint{background:var(--red-tint)}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;text-decoration:none;padding:12px 26px;border-radius:50px;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;letter-spacing:.01em}
.btn-red{background:var(--red);color:#fff} .btn-red:hover{background:var(--red-d);box-shadow:0 6px 22px rgba(139,26,26,.3);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--red);border:1.5px solid var(--red)} .btn-outline:hover{background:var(--red);color:#fff}
.btn-white{background:#fff;color:var(--red);font-weight:600} .btn-white:hover{background:var(--red-tint)}
.btn-outline-w{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)} .btn-outline-w:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.85)}
.btn-sm{padding:9px 20px;font-size:13px}
.btn-lg{padding:15px 34px;font-size:15px}

/* ─── TOPBAR ─── */
.topbar{background:var(--red);padding:9px 0}
.topbar-inner{display:flex;align-items:center;justify-content:space-between}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px}
.topbar a{font-size:12px;font-weight:500;color:rgba(255,255,255,.85);letter-spacing:.03em;transition:color .2s}
.topbar a:hover{color:#fff}
.topbar-sep{width:1px;height:12px;background:rgba(255,255,255,.25)}
.topbar-phone{font-weight:600!important;color:#fff!important}

/* ─── NAV ─── */
nav{position:sticky;top:0;z-index:300;background:#fff;border-bottom:1.5px solid var(--border);box-shadow:var(--sh)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.nav-logo{display:flex;align-items:center;gap:12px}
.nav-logo img{height:46px;width:auto;border-radius:8px}
.nav-logo-name{font-family:'Fraunces',serif;font-size:18px;font-weight:400;color:var(--ink);display:block;line-height:1.15}
.nav-logo-sub{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red);display:block}
.nav-links{display:flex;list-style:none;gap:0;align-items:center}
.nav-links a{font-size:13px;font-weight:500;color:var(--mid);padding:8px 15px;border-radius:8px;transition:all .2s;display:block;white-space:nowrap}
.nav-links a:hover{color:var(--ink);background:var(--off)}
.nav-links a.active{color:var(--red);font-weight:600}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.nav-burger span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s}
.mob-menu{display:none;background:#fff;border-bottom:1px solid var(--border);padding:12px 20px 20px;flex-direction:column;gap:2px}
.mob-menu.open{display:flex}
.mob-menu a{font-size:15px;font-weight:500;color:var(--mid);padding:11px 14px;border-radius:8px;transition:all .2s}
.mob-menu a:hover,.mob-menu a.active{color:var(--red);background:var(--red-tint)}
.mob-cta{margin-top:8px;background:var(--red)!important;color:#fff!important;text-align:center;border-radius:50px!important;font-weight:500!important}

/* ─── PAGE HERO ─── */
.page-hero{background:var(--red-tint);padding:60px 0 52px;border-bottom:1px solid var(--border-r)}
.page-eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.page-eyebrow::before{content:'';display:block;width:22px;height:2px;background:var(--red)}
.page-hero h1{font-size:clamp(30px,4vw,52px);color:var(--ink);margin-bottom:14px}
.page-hero-sub{font-size:16px;font-weight:300;color:var(--mid);max-width:540px;line-height:1.8}
.breadcrumb{padding:13px 0;display:flex;gap:8px;font-size:12px;color:var(--light);border-bottom:1px solid var(--border)}
.breadcrumb a{color:var(--mid);transition:color .2s} .breadcrumb a:hover{color:var(--red)}
.breadcrumb span{color:var(--red);font-weight:500}

/* ─── MARQUEE ─── */
.marquee-wrap{background:var(--red);overflow:hidden;padding:10px 0;white-space:nowrap}
.marquee-inner{display:inline-flex;animation:marquee 30s linear infinite}
.marquee-item{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:rgba(255,255,255,.9);letter-spacing:.12em;text-transform:uppercase;padding:0 26px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── SECTION HEADER ─── */
.sec-hd{margin-bottom:48px}
.sec-hd.ctr{text-align:center}
.sec-hd.ctr .eyebrow{justify-content:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.eyebrow::before{content:'';display:block;width:22px;height:2px;background:var(--red)}
.sec-title{font-size:clamp(28px,3vw,44px);color:var(--ink);line-height:1.1;margin-bottom:14px}
.sec-sub{font-size:16px;font-weight:300;color:var(--mid);line-height:1.8;max-width:580px}
.ctr .sec-sub{margin:0 auto}

/* ─── CTA STRIP ─── */
.cta-strip{background:var(--red);padding:56px 0}
.cta-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta-strip h2{font-family:'Fraunces',serif;font-size:clamp(24px,2.5vw,38px);font-weight:400;color:#fff}
.cta-strip p{font-size:15px;color:rgba(255,255,255,.7);margin-top:8px}
.cta-btns{display:flex;gap:12px;flex-shrink:0}

/* ─── FOOTER ─── */
footer{background:var(--off);border-top:1px solid var(--border);padding:64px 0 36px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;margin-bottom:48px}
.foot-logo{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.foot-logo img{height:42px;width:auto;border-radius:6px}
.foot-brand{font-family:'Fraunces',serif;font-size:17px;color:var(--ink)}
.foot-tag{font-size:14px;color:var(--mid);line-height:1.75;margin-bottom:20px;font-weight:300}
.foot-ph{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--red)}
.foot-ph:hover{color:var(--red-d)}
.foot-h{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-d);margin-bottom:16px}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot-links a{font-size:14px;color:var(--mid);transition:color .2s} .foot-links a:hover{color:var(--red)}
.foot-bot{border-top:1px solid var(--border);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--light)}
.foot-affils{display:flex;gap:8px;flex-wrap:wrap}
.fa-badge{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--border-r);border-radius:4px;color:var(--grey)}

/* ─── CARD BASE ─── */
.card{background:#fff;border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden;transition:all .25s}
.card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}

/* ─── PHOTO PLACEHOLDER ─── */
.photo-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(160deg,var(--red-tint) 0%,#E8D5D5 100%);border-radius:var(--r-lg);overflow:hidden}
.photo-ph-icon{font-size:72px;opacity:.35}
.photo-ph-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red-l);opacity:.9}
.photo-ph.grey{background:linear-gradient(160deg,var(--grey-tint) 0%,#E0E0E0 100%)}
.photo-ph.grey .photo-ph-label{color:var(--grey-l)}

/* ─── ANIMATIONS ─── */
.anim{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.anim.visible{opacity:1;transform:translateY(0)}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .container{padding:0 24px}
  .nav-links,.nav-cta-btn{display:none}
  .nav-burger{display:flex}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .cta-strip-inner{flex-direction:column;align-items:flex-start}
  .section{padding:64px 0}
  .topbar{display:none}
}
@media(max-width:600px){
  .foot-grid{grid-template-columns:1fr}
  .section{padding:48px 0}
}
