:root{
  --wine:#4b1017;
  --wine2:#681d27;
  --wine3:#2a080d;
  --gold:#d2ad60;
  --gold2:#ead49e;
  --cream:#fff9ec;
  --cream2:#f2e4c7;
  --ink:#2c211c;
  --muted:#75675c;
  --line:rgba(210,173,96,.28);
  --shadow:0 24px 65px rgba(38,9,13,.17);
  --container:1160px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:calc(100% - 40px);max-width:var(--container);margin:0 auto}
.section{padding:105px 0}

.site-header{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid rgba(234,212,158,.12);background:rgba(42,8,13,.72);backdrop-filter:blur(12px)}
.nav-shell{width:calc(100% - 40px);max-width:var(--container);height:82px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:13px;color:var(--cream)}
.brand-seal{width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-family:Georgia,serif;font-size:11px;letter-spacing:.08em}
.brand-text{display:grid;line-height:1.05}.brand-text strong{font-family:Georgia,serif;font-size:16px;letter-spacing:.14em;font-weight:400}.brand-text small{margin-top:5px;color:var(--gold2);font-size:9px;letter-spacing:.22em}
.primary-nav{display:flex;align-items:center;gap:28px}.primary-nav a{color:rgba(255,249,236,.82);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.primary-nav a:hover{color:var(--gold2)}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid rgba(234,212,158,.3);border-radius:50%;background:transparent;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:18px;height:1px;background:var(--cream)}

.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:var(--cream);background:radial-gradient(circle at 78% 22%,rgba(210,173,96,.20),transparent 23%),radial-gradient(circle at 15% 75%,rgba(210,173,96,.10),transparent 27%),linear-gradient(135deg,var(--wine3),var(--wine2))}
.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(234,212,158,.15);border-radius:50%}.hero:before{width:620px;height:620px;right:-260px;top:-220px}.hero:after{width:380px;height:380px;left:-170px;bottom:-150px}
.hero-pattern{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px}
.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;padding-top:125px;padding-bottom:90px}
.eyebrow{margin:0 0 20px;color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:.28em}.hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,7.5vw,102px);font-weight:400;line-height:.9;letter-spacing:-.045em}.hero h1 span{display:block;margin-bottom:18px;color:var(--gold2);font-size:.45em;letter-spacing:.17em}.year{margin:28px 0 0;color:var(--gold);font-family:Georgia,serif;font-size:23px;letter-spacing:.28em}.hero-note{max-width:550px;margin:16px 0 0;color:rgba(255,249,236,.77);font-size:17px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}.button{min-height:52px;padding:0 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;transition:transform .2s ease}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:var(--wine3)}.button-line{border:1px solid rgba(234,212,158,.44);color:var(--cream)}
.hero-medallion{display:grid;place-items:center}.medallion-ring{width:min(340px,72vw);aspect-ratio:1;border:1px solid rgba(234,212,158,.36);border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 22px rgba(210,173,96,.03),0 0 70px rgba(210,173,96,.08)}.medallion-ring:before{content:"";position:absolute;width:min(255px,54vw);aspect-ratio:1;border:1px solid rgba(234,212,158,.24);border-radius:50%}.medallion-ring span{font-family:Georgia,serif;font-size:42px;color:var(--gold2);letter-spacing:.18em;margin-left:.18em}

.company{background:linear-gradient(180deg,var(--cream),#f4ead7)}
.section-heading{max-width:800px;margin-bottom:50px}.section-heading p{margin:0 0 10px;color:var(--wine2);font-size:12px;text-transform:uppercase;letter-spacing:.24em;font-weight:700}.section-heading h2{margin:0;font-family:Georgia,serif;font-size:clamp(34px,5vw,58px);line-height:1.05;font-weight:400}.heading-line{display:block;width:96px;height:1px;margin-top:22px;background:var(--gold)}
.company-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:24px}.history-card,.location-card{border-radius:26px;box-shadow:var(--shadow)}.history-card{min-height:270px;padding:42px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:30px;background:rgba(255,249,236,.86);border:1px solid rgba(75,16,23,.13)}.history-year{font-family:Georgia,serif;font-size:clamp(64px,7vw,96px);line-height:1;color:var(--wine2)}.history-card p{margin:0;color:var(--muted);font-size:18px}.location-card{padding:36px;display:flex;align-items:center;justify-content:center;gap:20px;background:var(--wine2);color:var(--cream)}.location-dot{width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;position:relative}.location-dot:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--gold2)}.location-card strong{display:block;font-family:Georgia,serif;font-size:30px;font-weight:400}.location-card span{display:block;color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:.16em}

.gallery{background:radial-gradient(circle at 12% 10%,rgba(210,173,96,.08),transparent 24%),linear-gradient(145deg,#2b080d,#55151d);color:var(--cream)}.section-heading-light p{color:var(--gold2)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.photo-card{position:relative;margin:0;padding:12px;border:1px solid rgba(234,212,158,.48);border-radius:24px;background:rgba(255,249,236,.035);box-shadow:0 26px 60px rgba(0,0,0,.28);overflow:hidden}.photo-glow{position:absolute;inset:8%;background:rgba(210,173,96,.24);filter:blur(28px);border-radius:30px}.photo-card img{position:relative;z-index:2;width:100%;border-radius:14px;object-fit:contain;box-shadow:inset 0 0 24px rgba(42,8,13,.16);transition:transform .35s ease}.photo-card:hover img{transform:scale(1.012)}

.founded-strip{padding:34px 0;background:var(--cream2);color:var(--wine);display:grid;grid-template-columns:1fr minmax(0,900px) 1fr;align-items:center;gap:25px}.strip-line{height:1px;background:rgba(75,16,23,.22)}.strip-content{display:flex;align-items:center;justify-content:center;gap:28px;text-align:center}.strip-content span{text-transform:uppercase;font-size:11px;letter-spacing:.18em}.strip-content strong{font-family:Georgia,serif;font-size:42px;font-weight:400}

.contact{background:var(--cream)}.contact-panel{padding:54px 58px;border:1px solid rgba(75,16,23,.13);border-radius:28px;background:radial-gradient(circle at 95% 10%,rgba(210,173,96,.15),transparent 30%),#fffaf0;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-label{margin:0 0 8px;color:var(--wine2);font-size:12px;text-transform:uppercase;letter-spacing:.24em;font-weight:700}.contact-panel h2{margin:0;font-family:Georgia,serif;font-size:clamp(32px,4vw,54px);font-weight:400}.phone{margin:10px 0 0;color:var(--wine2);font-size:clamp(22px,3vw,34px);letter-spacing:.08em}.contact-cta{min-width:235px;min-height:68px;padding:0 24px;border-radius:999px;background:var(--wine2);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 18px 38px rgba(75,16,23,.22);font-weight:700;letter-spacing:.06em}.contact-cta b{color:var(--gold2);font-size:24px}
.site-footer{padding:38px 0;background:var(--wine3);color:rgba(255,249,236,.72);border-top:1px solid rgba(234,212,158,.12)}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-row strong{color:var(--cream);font-family:Georgia,serif;font-weight:400;letter-spacing:.08em}.footer-row p{margin:5px 0 0;font-size:13px}.footer-row>a{color:var(--gold2);letter-spacing:.08em}
.back-top{position:fixed;right:20px;bottom:20px;z-index:40;width:46px;height:46px;border:1px solid rgba(234,212,158,.35);border-radius:50%;background:var(--wine2);color:var(--gold2);cursor:pointer;box-shadow:0 10px 28px rgba(42,8,13,.24);opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.back-top.show{opacity:1;pointer-events:auto;transform:none}

@media(max-width:900px){
  .section{padding:82px 0}.nav-shell{height:74px}.menu-toggle{display:flex}.primary-nav{position:fixed;top:74px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 22px;background:rgba(42,8,13,.98);border-top:1px solid rgba(234,212,158,.12)}.primary-nav.open{display:flex}.primary-nav a{padding:14px 8px;border-bottom:1px solid rgba(234,212,158,.08)}.hero-layout{grid-template-columns:1fr;gap:52px;padding-top:125px;padding-bottom:100px}.hero-medallion{justify-self:center}.company-grid,.gallery-grid{grid-template-columns:1fr}.location-card{min-height:180px}.contact-panel{flex-direction:column;align-items:flex-start;padding:42px 36px}.contact-cta{width:100%}.founded-strip{grid-template-columns:1fr}.strip-line{width:70%;justify-self:center}
}
@media(max-width:620px){
  .container,.nav-shell{width:calc(100% - 28px)}.section{padding:66px 0}.brand-text strong{font-size:13px}.brand-text small{font-size:7px}.brand-seal{width:38px;height:38px}.hero h1{font-size:clamp(44px,15vw,68px)}.hero h1 span{font-size:.42em}.hero-note{font-size:15px}.hero-actions{display:grid}.button{width:100%}.hero-medallion{display:none}.section-heading{margin-bottom:35px}.history-card{min-height:0;padding:28px 24px;grid-template-columns:1fr;gap:12px}.history-card p{font-size:16px}.location-card{justify-content:flex-start;min-height:145px;padding:28px 24px}.photo-card{padding:8px;border-radius:18px}.photo-card img{border-radius:10px}.strip-content{flex-direction:column;gap:4px}.strip-content strong{font-size:48px}.contact-panel{padding:32px 24px}.footer-row{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-card img,.button,.back-top{transition:none}}
