:root { --ink:#171918; --cream:#f2efe8; --blue:#91cfe9; --green:#4f7d5d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans",sans-serif; font-size:16px; }
a { color:inherit; text-decoration:none; }
.presentation-nav { min-height:112px; display:flex; align-items:center; justify-content:space-between; padding:1.4rem 4vw; background:var(--ink); color:#fff; }
.presentation-brand { display:inline-flex; flex-direction:column; align-items:center; line-height:.8; }
.presentation-brand span { font-family:"Playfair Display",serif; font-size:2.55rem; letter-spacing:.03em; }
.presentation-brand small { margin-top:.65rem; font-size:.66rem; letter-spacing:.34em; }
.presentation-nav nav { display:flex; align-items:center; gap:.75rem; text-transform:uppercase; letter-spacing:.11em; font-size:.7rem; }
.presentation-nav nav a { min-height:44px; display:inline-flex; align-items:center; padding:.7rem 1rem; border:1px solid rgba(255,255,255,.75); }
.presentation-call { display:none !important; }
.presentation-hero { position:relative; height:calc(100svh - 112px); min-height:650px; overflow:hidden; background:#222; color:#fff; }
.presentation-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,9,8,.72),rgba(8,9,8,.03) 64%); }
.presentation-hero>img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.presentation-hero>div { position:absolute; z-index:1; left:6vw; right:6vw; bottom:6vw; }
.presentation-hero p,.eyebrow { margin:0 0 1rem; text-transform:uppercase; letter-spacing:.18em; font-size:.75rem; font-weight:600; }
h1,h2 { font-family:"Playfair Display",serif; font-weight:500; letter-spacing:-.045em; }
h1 { margin:0; font-size:clamp(4.7rem,9vw,10rem); line-height:.82; }
.presentation-intro { display:grid; grid-template-columns:.65fr 1.35fr; gap:2rem 6vw; padding:10rem 7vw; background:var(--green); color:#fff; }
.presentation-intro .eyebrow { grid-column:1; }
.presentation-intro h2 { grid-column:2; margin:0; font-size:clamp(3.5rem,6vw,7rem); line-height:.95; }
.presentation-group { padding-top:7rem; background:#33281f; color:#fff; }
.presentation-group-light { background:#e9e7e1; color:var(--ink); }
.presentation-group-carts { background:var(--green); }
.presentation-group>.eyebrow,.presentation-group>h2 { margin-left:7vw; margin-right:7vw; }
.presentation-group>h2 { margin-top:0; margin-bottom:3rem; font-size:clamp(3rem,5vw,6rem); line-height:.95; }
.presentation-gallery { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-flow:dense; gap:4px; padding:4px; background:#fff; }
.presentation-gallery figure { grid-column:span 4; height:36vw; min-height:420px; max-height:680px; margin:0; overflow:hidden; background:#ddd; }
.presentation-gallery figure.wide { grid-column:span 8; }
.presentation-gallery figure.half { grid-column:span 6; }
.presentation-gallery figure.tall { height:48vw; max-height:820px; }
.presentation-gallery img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .7s ease; }
.presentation-gallery figure:hover img { transform:scale(1.025); }
.presentation-cta { padding:10rem 7vw; background:var(--blue); }
.presentation-cta h2 { max-width:1000px; margin:.25rem 0 2.5rem; font-size:clamp(3.5rem,6vw,7rem); line-height:.95; }
.presentation-cta a { display:inline-flex; gap:1rem; padding:1rem 0 .4rem; border-bottom:1px solid; text-transform:uppercase; letter-spacing:.13em; font-size:.74rem; }
footer { display:grid; grid-template-columns:1fr 1fr auto; gap:3rem; align-items:start; padding:5rem 6vw 2rem; background:var(--ink); color:#fff; }
footer p { margin:0; line-height:1.65; }
footer>div { display:flex; flex-direction:column; gap:.8rem; }
footer>small { grid-column:1/-1; margin-top:3rem; color:#999; }
.footer-phone { display:inline-block; margin-top:.7rem; border-bottom:1px solid rgba(255,255,255,.7); }
@media (max-width:800px) {
  .presentation-nav { min-height:90px; padding:1rem 18px; }
  .presentation-brand span { font-size:1.9rem; }
  .presentation-brand small { font-size:.55rem; }
  .presentation-nav nav { gap:.45rem; }
  .presentation-nav nav a { padding:.65rem .7rem; font-size:.62rem; }
  .presentation-call { display:inline-flex !important; }
  .presentation-info { display:none !important; }
  .presentation-hero { height:82svh; min-height:580px; }
  .presentation-hero>div { left:24px; right:24px; bottom:3rem; }
  h1 { font-size:clamp(4.1rem,19vw,6.4rem); }
  .presentation-intro { grid-template-columns:1fr; padding:7rem 24px; }
  .presentation-intro .eyebrow,.presentation-intro h2,.presentation-intro>p:last-child { grid-column:1; }
  .presentation-group { padding-top:5rem; }
  .presentation-group>.eyebrow,.presentation-group>h2 { margin-left:24px; margin-right:24px; }
  .presentation-gallery { grid-template-columns:1fr; }
  .presentation-gallery figure,.presentation-gallery figure.wide,.presentation-gallery figure.tall { grid-column:1; width:100%; height:auto; min-height:0; max-height:none; }
  .presentation-gallery img { height:auto; aspect-ratio:auto; }
  .presentation-cta { padding:7rem 24px; }
  footer { grid-template-columns:1fr; padding:4rem 24px 2rem; }
  footer>small { grid-column:1; }
}
