:root{
  color-scheme: light;
  --color-accent:#ed1b24;
  --color-accent-dark:#a41d23;
  --color-black:#090c1a;
  --color-white:#ffffff;
  --color-blue:#acbed8;
  --color-light-blue:#d0def1;
  --color-grey-100:#f6faff;
  --color-grey-200:#ecf4ff;
  --color-grey-300:#d5dce8;
  --color-grey-400:#b3bac6;
  --color-grey-600:#7b808c;
  --color-grey-700:#636976;
  --font-body:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-header:"Cormorant Garamond",serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  --maxw:1180px;
  --bd:7.14vw;
  --radius:14px;
  --radius-lg:22px;
  --border:color-mix(in srgb, var(--color-black), transparent 80%);
  --border-light:color-mix(in srgb, var(--color-white), transparent 75%);
  --shadow:60px 40px 120px rgba(0,0,0,.15);
  --t-fast:150ms;
  --t-med:250ms;
  --ease-in-out:cubic-bezier(.65,0,.35,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:var(--font-body);
  line-height:1.4;
  color:var(--color-black);
  background:linear-gradient(180deg,var(--color-grey-200),var(--color-grey-100));
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}

.site-shell{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}

/* Minimal helpers */
.muted{color:var(--color-grey-700)}
.tiny{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.divider{border:0;border-top:1px solid var(--border);margin:2.2rem 0}
.clean-list{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}
.clean-list li{line-height:1.55;color:var(--color-grey-700)}

/* Layout container similar to their bd */
.section,.page-hero,.footer-cta,.site-footer__inner,.site-header__inner,.split-section__inner{
  width:min(var(--maxw), calc(100% - 2rem));
  margin:0 auto;
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.site-header__inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:1rem;
  align-items:center;
  padding:1.05rem 0;
}

.brandmark{display:inline-flex;flex-direction:column;gap:.1rem}
.brandmark__top{display:inline-flex;align-items:center;gap:.7rem}
.brandmark__icon{
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(135deg,var(--color-accent),#ff6a6f);
  box-shadow:0 8px 18px rgba(237,27,36,.22);
  position:relative;
}
.brandmark__icon::before{
  content:"";
  position:absolute;inset:7px;
  border-radius:9px;
  background:rgba(255,255,255,.22);
  mix-blend-mode:overlay;
}
.brandmark__name{font-weight:800;letter-spacing:-.03em}
.brandmark__legal{font-size:12px;color:var(--color-grey-700)}

.site-nav{justify-self:center}
.site-nav__list{list-style:none;margin:0;padding:0;display:flex;gap:.35rem;align-items:center}
.nav-link{
  display:inline-flex;
  align-items:center;
  padding:.38rem .7rem;
  border-radius:999px;
  font-weight:600;
  font-size:14px;
  color:var(--color-grey-700);
  transition:background var(--t-fast) var(--ease-in-out), color var(--t-fast) var(--ease-in-out);
}
.nav-link:hover,.nav-link[aria-current="page"]{
  background:rgba(9,12,26,.06);
  color:var(--color-black);
}

.nav-item--dropdown{position:relative}
.nav-item--dropdown .nav-link::after{
  content:"";
  width:7px;height:7px;
  margin-left:.5rem;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
}
.dropdown-panel{
  position:absolute;
  top:calc(100% + .8rem);
  left:0;
  min-width:340px;
  background:var(--color-white);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:1rem;
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity var(--t-med) var(--ease-in-out), transform var(--t-med) var(--ease-in-out);
}
.nav-item--dropdown:hover .dropdown-panel,
.nav-item--dropdown:focus-within .dropdown-panel{
  opacity:1;transform:translateY(0);pointer-events:auto;
}
.dropdown-panel__label{
  display:block;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-grey-700);
  margin-bottom:.6rem;
}
.dropdown-panel__copy{margin:0 0 .8rem;color:var(--color-grey-700);font-size:13px;line-height:1.5}
.dropdown-panel__links{display:grid;gap:.45rem}
.dropdown-panel__links a{
  padding:.6rem .7rem;
  border:1px solid color-mix(in srgb, var(--color-black), transparent 90%);
  border-radius:12px;
  background:var(--color-grey-100);
  font-size:14px;
}
.dropdown-panel__links a:hover{border-color:color-mix(in srgb, var(--color-black), transparent 80%)}

.header-actions{display:flex;align-items:center;gap:.6rem}
.header-actions .button--small{
  padding:.7rem 1.05rem;
}
.quote-indicator{
  display:inline-grid;
  place-items:center;
  min-width:22px;height:22px;
  padding:0 .4rem;
  border-radius:999px;
  background:rgba(9,12,26,.08);
  font-family:var(--font-mono);
  font-size:12px;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.85rem 1.15rem;
  border-radius:.25rem;
  border:1px solid var(--border);
  background:transparent;
  font-weight:700;
  cursor:pointer;
  transition:transform var(--t-fast) var(--ease-in-out), background var(--t-fast) var(--ease-in-out), border-color var(--t-fast) var(--ease-in-out);
}
.button:hover{transform:translateY(-1px);border-color:color-mix(in srgb, var(--color-black), transparent 65%)}
.button--small{padding:.6rem .9rem;font-size:14px}
.button--primary{
  background:var(--color-black);
  color:var(--color-white);
  border-color:var(--color-black);
}
.button--primary:hover{background:color-mix(in srgb,var(--color-black), white 10%)}
.button--secondary{background:rgba(9,12,26,.04)}
.button--ghost{border-color:transparent;background:transparent;color:var(--color-grey-700)}
.button.is-selected{
  border-color:color-mix(in srgb, var(--color-accent), transparent 40%);
  background:color-mix(in srgb, var(--color-accent), white 92%);
}

.menu-toggle{display:none}

/* Custom hamburger (distinct) */
.menu-toggle{
  border-radius:999px;
  padding:.62rem .85rem;
  gap:.6rem;
}
.burger{
  width:22px;
  height:16px;
  display:inline-grid;
  gap:4px;
  position:relative;
}
.burger span{
  display:block;
  height:2px;
  width:100%;
  background:var(--color-black);
  border-radius:999px;
}
.burger::before{
  content:"";
  position:absolute;
  left:-8px;
  top:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--color-accent);
  transform:translateY(-50%);
  box-shadow:0 0 0 6px rgba(237,27,36,.10);
}
.menu-toggle .burger-label{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--color-grey-700);
}
.menu-toggle[aria-expanded="true"] .burger span:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] .burger span:nth-child(2){
  opacity:0;
}
.menu-toggle[aria-expanded="true"] .burger span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}
.menu-toggle .burger span{
  transition:transform var(--t-med) var(--ease-in-out), opacity var(--t-fast) var(--ease-in-out);
}

/* Mobile drawer content (hamburger menu) */
.nav-desktop{display:block}
.mobile-nav{display:none}
.mobile-nav__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.2rem 0 1.2rem;
}
.mobile-nav__title{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--color-grey-700);
}
.mobile-close{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(9,12,26,.04);
  display:grid;
  place-items:center;
  cursor:pointer;
  position:relative;
}
.mobile-close::before,
.mobile-close::after{
  content:"";
  width:18px;
  height:2px;
  background:var(--color-black);
  border-radius:999px;
  position:absolute;
}
.mobile-close::before{transform:rotate(45deg)}
.mobile-close::after{transform:rotate(-45deg)}

.mobile-nav__track{
  display:flex;
  width:200%;
  transition:transform 320ms var(--ease-in-out);
}
.mobile-panel{
  width:100%;
  padding:0 0 104px;
}
.mobile-panel__back{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.65rem .9rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(9,12,26,.04);
  cursor:pointer;
  font-weight:800;
}
.mobile-panel__back::before{
  content:"";
  width:8px;
  height:8px;
  border-left:2px solid var(--color-black);
  border-bottom:2px solid var(--color-black);
  transform:rotate(45deg);
}

.mobile-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.mobile-list a,
.mobile-list button{
  width:100%;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1rem;
  border-radius:16px;
  border:1px solid var(--border);
  background:var(--color-white);
  font-weight:900;
  letter-spacing:-.01em;
  cursor:pointer;
}
.mobile-list .chev::after{
  content:"";
  width:8px;height:8px;
  border-right:2px solid var(--color-black);
  border-top:2px solid var(--color-black);
  transform:rotate(45deg);
  opacity:.7;
}

.mobile-cta{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  padding:1.15rem 1.2rem;
  border-radius:18px;
  background:var(--color-black);
  color:var(--color-white);
  font-weight:950;
  font-size:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow);
  border:1px solid var(--color-black);
}

/* Eyebrow / pill styles */
.eyebrow{
  display:inline-block;
  padding:0;
  border:0;
  background:transparent;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--color-grey-700);
}
.eyebrow::before{content:none}
.page-hero .eyebrow,
.split-section .eyebrow,
.footer-cta .eyebrow{
  color:rgba(255,255,255,.78);
}

/* Hero similar: black section with image on desktop */
.page-hero{
  padding:3.2rem 0 2.8rem;
  background:var(--color-black);
  color:var(--color-white);
  position:relative;
  overflow:hidden;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(9,12,26,.92) 0%, rgba(9,12,26,.66) 52%, rgba(9,12,26,.92) 100%),
    radial-gradient(1200px 600px at 60% 40%, rgba(237,27,36,.22), transparent 60%),
    url("/assets-site/hero.svg");
  background-size:cover;
  background-position:center;
  opacity:.95;
  filter:saturate(1.05) contrast(1.02);
}
.page-hero > *{position:relative;z-index:1}
.page-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:2rem;
  align-items:end;
}
.display{
  margin:1rem 0 .6rem;
  font-family:var(--font-header);
  font-size:clamp(46px,7vw,96px);
  line-height:.9;
  letter-spacing:-.03em;
  font-weight:600;
}
.display span{display:inline-block;margin-right:.25rem}
.lead{
  margin:0;
  max-width:46rem;
  color:rgba(255,255,255,.72);
  font-size:18px;
  line-height:1.6;
}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}

/* Clean image slot (user will provide images) */
.hero-media{
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.06);
  overflow:hidden;
  box-shadow:0 40px 110px rgba(0,0,0,.28);
}
.hero-media__img{
  width:100%;
  height:100%;
  aspect-ratio: 4 / 3;
  object-fit:cover;
  filter:saturate(1.02) contrast(1.03);
}
.hero-media__caption{
  padding:.85rem 1rem;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.55;
}

/* Sections */
.section{padding:3.2rem 0}
.section__intro{max-width:52rem}
.section-title{
  margin:1rem 0 .6rem;
  font-family:var(--font-header);
  font-size:clamp(38px,5vw,56px);
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:600;
}
.section-copy{margin:0;color:var(--color-grey-700);font-size:16px;line-height:1.7}

/* Simple highlight row */
.highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.6rem}
.highlight{
  padding:0;
  border-top:1px solid var(--border);
  padding-top:1rem;
}
.highlight__title{margin:0 0 .35rem;font-weight:800;letter-spacing:-.02em}
.highlight__copy{margin:0;color:var(--color-grey-700);line-height:1.65}

/* Black list section similar to module--list-content */
.split-section{
  background:var(--color-black);
  color:var(--color-white);
  padding:3.4rem 0;
  position:relative;
  overflow:hidden;
}
.split-section::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:radial-gradient(closest-side at 30% 40%, rgba(237,27,36,.22), transparent 65%);
  transform:rotate(-8deg);
}
.split-section__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:start}
.content-card{background:transparent;border:none;padding:0}
.split-section .section-title{color:var(--color-white)}
.split-section .section-copy{color:rgba(255,255,255,.68)}
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.check-list li{
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);
  padding:1rem 1rem 1rem 2.6rem;
  background:rgba(255,255,255,.04);
  position:relative;
  line-height:1.7;
  color:rgba(255,255,255,.8);
}
.check-list li::before{
  content:"";
  position:absolute;
  left:1rem;top:1.1rem;
  width:10px;height:10px;border-radius:50%;
  background:var(--color-accent);
  box-shadow:0 0 0 6px rgba(237,27,36,.18);
}

/* Simple two-column section */
.two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem;align-items:start}
.media-slot{
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--color-white);
  overflow:hidden;
  box-shadow:0 34px 90px rgba(0,0,0,.12);
}
.media-slot__img{
  width:100%;
  aspect-ratio: 16 / 10;
  object-fit:cover;
}
.media-slot__hint{
  padding:.85rem 1rem;
  border-top:1px solid var(--border);
  color:var(--color-grey-700);
  font-size:13px;
  line-height:1.55;
}

/* Shop / contact */
.shop-layout,.contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.2rem;align-items:start}
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.shop-card,.quote-card,.contact-card,.form-card{border-top:1px solid var(--border);padding-top:1.1rem}
.shop-card{padding:0;display:grid;gap:.65rem;box-shadow:none;border-radius:0;border:0}
.shop-card__meta{display:flex;flex-wrap:wrap;gap:.5rem}
.pill{
  display:inline-flex;
  align-items:center;
  padding:.35rem .6rem;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--color-grey-100);
  color:var(--color-grey-700);
  font-size:12px;
  font-weight:700;
}
.shop-card__title{margin:0;font-size:20px;letter-spacing:-.02em}
.shop-card__copy{margin:0;color:var(--color-grey-700);line-height:1.6}
.shop-card__list{margin:0;padding:0 0 0 1.1rem;display:grid;gap:.35rem;color:var(--color-grey-700);line-height:1.6}

.quote-card{padding:0;position:sticky;top:86px}
.quote-summary{display:grid;gap:.55rem;margin:1rem 0}
.quote-summary__item{padding:.7rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--color-grey-100);color:var(--color-grey-700)}
.quote-summary__empty{padding:.8rem;border:1px dashed var(--border);border-radius:12px;color:var(--color-grey-700);background:transparent}

.contact-stack{display:grid;gap:1rem}
.contact-card{padding:0}
.contact-card__title{margin:0 0 .4rem;font-size:20px;letter-spacing:-.02em}
.contact-card__copy{margin:0;color:var(--color-grey-700);line-height:1.6}
.form-card{padding:0;border:0}
.contact-form{display:grid;gap:.85rem}
.field{display:grid;gap:.4rem}
.field label{font-weight:700;font-size:14px;color:var(--color-grey-700)}
.field input,.field textarea,.field select{
  padding:.85rem .9rem;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--color-grey-100);
  outline:none;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:color-mix(in srgb, var(--color-black), transparent 55%);background:var(--color-white)}
.field textarea{min-height:150px;resize:vertical}
.form-note{margin:.75rem 0 0;color:rgba(255,255,255,.65);line-height:1.6}
.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.9rem}

/* Footer CTA like theirs */
.footer-cta{padding:3.2rem 0;background:var(--color-black);color:var(--color-white)}
.footer-cta__box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:end;
  padding:2rem;
  border-top:1px solid rgba(255,255,255,.16);
}
.footer-cta__title{
  margin:0 0 .6rem;
  font-family:var(--font-header);
  font-size:clamp(34px,4.8vw,54px);
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:600;
}
.footer-cta__copy{margin:0;color:rgba(255,255,255,.72);line-height:1.7}

.site-footer{background:var(--color-black);color:var(--color-white);padding:1.8rem 0 2.6rem}
.site-footer__inner{
  border-top:1px solid rgba(255,255,255,.14);
  padding-top:1.6rem;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,.85fr));
  gap:1.4rem;
}
.footer-copy{margin:0;color:rgba(255,255,255,.72);line-height:1.7}
.footer-heading{
  margin:0 0 .8rem;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.footer-list a,.footer-list span{color:rgba(255,255,255,.72)}
.footer-list a:hover{color:var(--color-white)}
.footer-note{margin:.8rem 0 0;color:rgba(255,255,255,.55);font-size:13px}

/* Responsive */
@media (max-width: 1060px){
  .page-hero__grid,.split-section__inner,.shop-layout,.contact-layout,.site-footer__inner{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .quote-card{position:static}
}
@media (max-width: 920px){
  .site-header__inner{grid-template-columns:1fr auto}
  .menu-toggle{display:inline-flex}
  .site-nav{
    display:block;
    position:fixed;
    inset:0;
    width:100vw;
    height:100vh;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(14px);
    box-shadow:var(--shadow);
    padding:calc(18px + env(safe-area-inset-top, 0px)) 18px 18px;
    overflow:auto;
    transform:translateX(-102%);
    transition:transform 320ms var(--ease-in-out);
    z-index:60;
  }
  body.menu-open .site-nav{transform:translateX(0)}
  .nav-desktop{display:none}
  .mobile-nav{display:block}

  .site-nav[data-panel="root"] .mobile-nav__track{transform:translateX(0)}
  .site-nav[data-panel="services"] .mobile-nav__track{transform:translateX(-50%)}
  .site-nav[data-panel="company"] .mobile-nav__track{transform:translateX(-50%)}

  .site-nav .mobile-panel[data-mobile-panel="sub"] [data-subview]{display:none}
  .site-nav[data-panel="services"] .mobile-panel[data-mobile-panel="sub"] [data-subview="services"]{display:block}
  .site-nav[data-panel="company"] .mobile-panel[data-mobile-panel="sub"] [data-subview="company"]{display:block}

  .header-actions .button--ghost{display:none}
  .highlights{grid-template-columns:1fr}
  .shop-grid{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
}
@media (max-width: 520px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .button{width:100%}
  .link-grid{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
}
