/* ============ TOKENS — matched to njl-sporthorses.de ============ */
  :root{
    --ink:#222c2d;         /* dark charcoal-green: headings on light, dark section bg */
    --ink-2:#1a2223;
    --tan:#bd9e72;         /* brand accent: buttons, nav links, highlights */
    --tan-dark:#a4855c;
    --white:#ffffff;
    --off-white:#fdfdfc;
    --bg-alt:#f1f1f1;      /* facilities / alternating section bg */
    --text-muted:#808080;
    --text-body:#4a4f4f;
    --border:rgba(34,44,45,.14);

    --font-display:'Lexend Deca', 'Segoe UI', sans-serif;
    --font-body:'Heebo', 'Segoe UI', sans-serif;
    --container:1200px;
    --shadow-md:0 12px 30px -14px rgba(34,44,45,.35);
    --shadow-lg:0 26px 54px -20px rgba(34,44,45,.45);
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--white);color:var(--text-body);font-family:var(--font-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .container{max-width:var(--container);margin:0 auto;padding:0 clamp(20px,4vw,48px);}
  h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.22;letter-spacing:-0.01em;text-wrap:balance;margin:0;color:var(--ink);}
  p{margin:0;}
  ul{margin:0;padding:0;list-style:none;}
  button{font-family:inherit;cursor:pointer;}
  :focus-visible{outline:2px solid var(--tan);outline-offset:3px;}
  .eyebrow{font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tan);display:block;margin-bottom:12px;}
  .lead{color:var(--text-body);font-size:1.05rem;max-width:56ch;}
  @media (prefers-reduced-motion: reduce){ *{animation-duration:.01ms !important;transition-duration:.01ms !important;} }

  /* ============ BUTTONS — square corners, tan fill, matches source ============ */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    padding:18px 32px;border-radius:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    text-decoration:none;border:1px solid transparent;transition:background .25s ease, color .25s ease, transform .2s ease, box-shadow .2s ease;
  }
  .btn-primary{background:var(--tan);color:var(--white);}
  .btn-primary:hover{background:var(--tan-dark);transform:translateY(-2px);box-shadow:var(--shadow-md);}
  .btn-outline{background:transparent;border-color:var(--white);color:var(--white);}
  .btn-outline:hover{background:var(--white);color:var(--ink);}
  .btn-outline-dark{background:transparent;border-color:var(--ink);color:var(--ink);}
  .btn-outline-dark:hover{background:var(--ink);color:var(--white);}

  /* ============ NAV — dark bar, matches source exactly ============ */
  .nav{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow .3s ease;}
  .nav.scrolled{box-shadow:0 8px 22px -16px rgba(0,0,0,.5);}
  .nav .container{display:flex;align-items:center;justify-content:space-between;height:84px;}
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
  .brand-mark{width:52px;height:38px;flex:none;background:var(--off-white);display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .brand-mark img{width:100%;height:100%;object-fit:contain;}
  .brand-mark svg{width:24px;height:24px;color:var(--ink);}
  .brand-text{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--white);letter-spacing:.01em;line-height:1.15;}
  .nav-links{display:flex;align-items:center;gap:30px;}
  .nav-links > a, .nav-item{text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--white);position:relative;background:none;border:none;font-family:var(--font-body);cursor:pointer;display:flex;align-items:center;gap:5px;padding:0;}
  .nav-item svg{width:11px;height:11px;transition:transform .2s ease;}
  .nav-links > a:hover, .nav-item:hover, .nav-links > a.current, .nav-item.open{color:var(--tan);}
  .nav-item.open svg{transform:rotate(180deg);}
  .nav-dropdown-wrap{position:relative;}
  .nav-dropdown{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);background:#f5f4f3;min-width:190px;padding:14px 0;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity .2s ease, transform .2s ease;}
  .nav-dropdown-wrap:hover .nav-dropdown, .nav-dropdown-wrap:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
  .nav-dropdown a{display:block;padding:10px 22px;text-decoration:none;font-size:.86rem;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0;}
  .nav-dropdown a.current{color:var(--tan);}
  .nav-dropdown a:hover{color:var(--tan);}
  .nav-right{display:flex;align-items:center;gap:18px;}
  .lang-switch{display:flex;align-items:center;gap:8px;}
  .lang-btn{background:none;border:1px solid rgba(255,255,255,.25);border-radius:3px;padding:5px 9px;display:flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:.72rem;font-weight:700;color:rgba(255,255,255,.7);}
  .lang-btn img{width:16px;height:11px;display:block;}
  .lang-btn.active{color:var(--white);border-color:var(--tan);}
  .nav-toggle{display:none;background:none;border:none;padding:8px;color:var(--white);}
  .nav-toggle svg{width:24px;height:24px;}
  @media (max-width:900px){
    .nav-links{position:fixed;inset:84px 0 0 0;background:var(--ink);flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:36px clamp(20px,6vw,48px);gap:22px;transform:translateX(100%);transition:transform .35s ease;overflow-y:auto;}
    .nav-links.open{transform:translateX(0);}
    .nav-links > a, .nav-item{font-size:1.1rem;}
    .nav-dropdown-wrap{position:static;}
    .nav-dropdown{position:static;transform:none;opacity:1;visibility:visible;background:none;box-shadow:none;padding:10px 0 0 16px;display:none;}
    .nav-dropdown-wrap.open .nav-dropdown{display:block;}
    .nav-dropdown a{color:rgba(255,255,255,.75);padding:8px 0;}
    .nav-toggle{display:block;}
  }
  @media (max-width:480px){
    .nav .container{height:72px;}
    .brand-text{font-size:.95rem;}
    .brand-mark{width:42px;height:32px;}
    .nav-right{gap:10px;}
    .lang-switch{gap:5px;}
    .lang-btn{padding:5px 7px;}
    .lang-label{display:none;}
  }

  /* ============ PLACEHOLDER MEDIA ============ */
  .placeholder{position:relative;background:repeating-linear-gradient(135deg, #eee9df, #eee9df 12px, #f7f4ee 12px, #f7f4ee 24px);border:1px dashed var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;overflow:hidden;}
  .placeholder svg{width:30px;height:30px;color:var(--tan);}
  .placeholder .ph-cap{font-size:.74rem;color:var(--text-muted);max-width:24ch;line-height:1.4;}
  .placeholder .ph-tag{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);font-weight:700;}

  /* ============ PAGE BANNER — sub-page header (Gallery, Team) ============ */
  .page-banner{position:relative;padding:clamp(46px,7vw,70px) 0;overflow:hidden;background:var(--ink);}
  .page-banner .bg-photo{opacity:.55;}
  .page-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(34,44,45,.72), rgba(34,44,45,.82));}
  .page-banner .container{position:relative;z-index:1;}
  .page-banner h1{color:var(--white);font-size:clamp(1.8rem,3.4vw,2.6rem);}
  .breadcrumb{margin-top:12px;font-size:.86rem;color:rgba(253,253,252,.7);}
  .breadcrumb a{color:var(--tan);text-decoration:none;}
  .breadcrumb a:hover{text-decoration:underline;}

  /* ============ GALLERY PAGE — masonry-style grid ============ */
  .gallery-page{padding:clamp(56px,7vw,90px) 0;}
  .gallery-page .eyebrow{display:block;text-align:center;font-style:italic;}
  .gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:34px;}
  .gallery-grid .zoom-frame{box-shadow:none;border-radius:2px;}
  .gallery-grid .g-item:nth-child(-n+2){grid-column:span 3;aspect-ratio:3/4;}
  .gallery-grid .g-item:nth-child(n+3){grid-column:span 2;aspect-ratio:4/3;}
  @media (max-width:800px){
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    .gallery-grid .g-item:nth-child(-n+2){grid-column:span 2;}
    .gallery-grid .g-item:nth-child(n+3){grid-column:span 1;}
  }

  /* ============ HERO — photo w/ tan overlay tint, matches source ============ */
  .hero{position:relative;padding:clamp(90px,14vw,150px) 0 clamp(80px,11vw,130px);min-height:clamp(480px,62vw,680px);display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .bg-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .hero .bg-photo{object-position:center;}
  .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(189,158,114,.58), rgba(34,44,45,.68));}
  .hero .container{position:relative;z-index:1;text-align:center;max-width:820px;}
  .hero .eyebrow{color:var(--off-white);text-align:center;}
  .hero-title{font-size:clamp(2.2rem,5vw,3.6rem);color:var(--off-white);}
  .hero-sub{margin:20px auto 0;color:rgba(253,253,252,.88);text-align:center;max-width:56ch;}
  .hero-cta{display:flex;gap:16px;justify-content:center;margin-top:36px;flex-wrap:wrap;}

  /* ============ FEATURES — dark band w/ elevated cream middle card, matches source ============ */
  .features{background:var(--ink);padding:0 0 clamp(56px,7vw,86px);margin-top:clamp(-64px,-6vw,-46px);position:relative;z-index:2;}
  .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;box-shadow:var(--shadow-lg);}
  .feature-card{text-align:center;padding:clamp(34px,4vw,46px) clamp(20px,3vw,30px);background:var(--ink);}
  .feature-card.raised{background:#f5f4f3;padding-top:clamp(50px,6vw,64px);padding-bottom:clamp(50px,6vw,64px);}
  .feature-card .ico{width:64px;height:64px;border-radius:50%;background:#f5f4f3;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
  .feature-card .ico img{width:32px;height:32px;object-fit:contain;}
  .feature-card.raised .ico{background:var(--white);box-shadow:var(--shadow-md);}
  .feature-card h3{color:var(--white);font-size:1.15rem;margin-bottom:10px;}
  .feature-card.raised h3{color:var(--ink);}
  .feature-card p{color:rgba(253,253,252,.72);font-size:.9rem;}
  .feature-card.raised p{color:var(--text-body);}
  @media (max-width:800px){.feature-grid{grid-template-columns:1fr;}.features{margin-top:0;}.feature-card.raised{padding-top:34px;padding-bottom:34px;}}

  /* ============ ABOUT ============ */
  .about{padding:clamp(64px,8vw,110px) 0;}
  .about .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,76px);align-items:center;}
  .about-media .placeholder{aspect-ratio:4/5;}
  .points{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin:28px 0 32px;}
  .points li{display:flex;gap:10px;font-size:.94rem;color:var(--ink);}
  .points li svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--tan);}
  @media (max-width:900px){.about .container{grid-template-columns:1fr;}.about-media{order:-1;}.points{grid-template-columns:1fr;}}

  /* ============ CONTACT STRIP ============ */
  .strip{position:relative;padding:clamp(34px,4.5vw,50px) 0;overflow:hidden;}
  .strip::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(189,158,114,.82), rgba(189,158,114,.88));}
  .strip .container{position:relative;z-index:1;}
  .strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
  .strip h3{color:var(--white);font-size:clamp(1.3rem,2.2vw,1.7rem);max-width:40ch;}
  .strip-phone{display:flex;align-items:center;gap:14px;}
  .strip-phone .ico{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex:none;}
  .strip-phone .ico svg{width:22px;height:22px;color:var(--white);}
  .strip-phone strong{font-family:var(--font-display);font-size:1.4rem;color:var(--white);}

  /* ============ SERVICES — text-only, centered, matches source ============ */
  .services{padding:clamp(64px,8vw,110px) 0;text-align:center;}
  .services .head{max-width:640px;margin:0 auto;}
  .services .head .eyebrow{text-align:center;}
  .service-list{margin:30px auto 0;display:inline-flex;flex-direction:column;gap:14px;text-align:left;}
  .service-item{display:flex;gap:14px;align-items:center;}
  .service-item .tick{width:28px;height:28px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;flex:none;}
  .service-item .tick svg{width:13px;height:13px;color:var(--tan);}
  .service-item p{color:var(--ink);font-size:.98rem;}

  /* ============ STATS — photo collage left, numbers right (matches source) ============ */
  .stats{padding:clamp(64px,8vw,100px) 0;background:var(--white);}
  .stats .container{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,64px);align-items:start;}
  .stats-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,140px);gap:16px;}
  .stats-collage .zoom-frame:nth-child(1){grid-column:1;grid-row:1 / 3;}
  .stats-collage .zoom-frame:nth-child(2){grid-column:2;grid-row:1;}
  .stats-collage .zoom-frame:nth-child(3){grid-column:2;grid-row:2;}

  /* team page collage — mirrored: tall photo on the right */
  .team-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,190px);gap:16px;max-width:900px;margin:0 auto 60px;}
  .team-collage .zoom-frame:nth-child(1){grid-column:1;grid-row:1;}
  .team-collage .zoom-frame:nth-child(2){grid-column:2;grid-row:1 / 3;}
  .team-collage .zoom-frame:nth-child(3){grid-column:1;grid-row:2;}
  @media (max-width:700px){.team-collage{grid-template-rows:repeat(2,140px);}}

  /* ---- reusable photo hover effect: soft zoom + desaturate-to-color on hover ---- */
  .zoom-frame{display:block;position:relative;overflow:hidden;border-radius:4px;box-shadow:var(--shadow-md);background:var(--ink);}
  .zoom-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.8,.25,1), filter .6s ease;filter:grayscale(30%) saturate(1.05);}
  .zoom-frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none;}
  .zoom-frame:hover img, .zoom-frame:focus-within img{transform:scale(1.08);filter:grayscale(0%) saturate(1.1);}
  @media (prefers-reduced-motion: reduce){.zoom-frame img{transition:none;}}
  .stats-head{margin-bottom:26px;}
  .stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .stat-card{background:var(--bg-alt);padding:26px 18px;text-align:center;transition:background .3s, border .3s, border-radius .3s, box-shadow .3s, transform .4s;}
  .stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
  .stat-card .ico{width:44px;height:44px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;box-shadow:var(--shadow-md);}
  .stat-card .ico img{width:22px;height:22px;object-fit:contain;}
  .stat-card strong{display:block;font-family:var(--font-display);font-size:1.8rem;color:var(--ink);font-variant-numeric:tabular-nums;}
  .stat-card span{font-size:.74rem;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);}
  @media (max-width:900px){.stats .container{grid-template-columns:1fr;}.stats-collage{order:-1;max-width:420px;margin:0 auto;}}

  /* ============ TESTIMONIALS — over image, single centered slide ============ */
  .testimonials{position:relative;padding:clamp(70px,9vw,120px) 0;overflow:hidden;}
  .testimonials::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(34,44,45,.88), rgba(34,44,45,.8));}
  .testimonials .container{position:relative;z-index:1;}
  .t-head{max-width:640px;margin:0 auto 40px;text-align:center;}
  .t-head .eyebrow{text-align:center;}
  .t-head h2{color:var(--white);}
  .t-slider{max-width:680px;margin:0 auto;position:relative;min-height:220px;}
  .t-card{background:var(--white);padding:clamp(30px,4vw,44px);text-align:center;display:none;}
  .t-card.active{display:block;}
  .t-stars{color:var(--tan);margin-bottom:16px;letter-spacing:2px;text-align:center;}
  .t-card p{color:var(--ink);font-size:.98rem;line-height:1.8;}
  .t-name{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;}
  .t-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);color:var(--ink);font-size:.9rem;}
  .t-name strong{font-size:.88rem;font-weight:700;color:var(--ink);}
  .t-dots{display:flex;justify-content:center;gap:9px;margin-top:26px;}
  .t-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35);border:none;padding:0;}
  .t-dot.active{background:var(--tan);}

  /* ============ FACILITIES — slider, uniform-size slides ============ */
  .facilities{background:var(--bg-alt);padding:clamp(64px,8vw,110px) 0;}
  .f-head{max-width:640px;margin:0 auto 44px;text-align:center;}
  .f-head .eyebrow{text-align:center;}
  .f-slider{position:relative;}
  .f-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .f-track::-webkit-scrollbar{display:none;}
  .f-card{position:relative;flex:0 0 auto;width:clamp(230px,30vw,340px);aspect-ratio:4/3;overflow:hidden;scroll-snap-align:start;background:var(--ink);}
  .f-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.8,.25,1), filter .6s ease;filter:grayscale(30%) saturate(1.05);}
  .f-card:hover img{transform:scale(1.1);filter:grayscale(0%) saturate(1.1);}
  @media (prefers-reduced-motion: reduce){.f-card img{transition:none;}}
  .f-cap{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;font-size:.82rem;font-weight:600;color:var(--white);background:linear-gradient(0deg, rgba(34,44,45,.75), transparent);}
  .f-nav{display:flex;justify-content:center;gap:14px;margin-top:24px;}
  .f-nav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .2s ease,color .2s ease;}
  .f-nav button:hover{background:var(--tan);color:var(--white);border-color:var(--tan);}
  .f-nav svg{width:18px;height:18px;}
  @media (max-width:560px){.f-card{width:78vw;}}

  /* ============ TEAM — over image ============ */
  .team{position:relative;padding:clamp(64px,8vw,110px) 0;overflow:hidden;}
  .team::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(34,44,45,.82), rgba(189,158,114,.55));}
  .team .container{position:relative;z-index:1;}
  .team-head{max-width:640px;margin:0 auto 44px;text-align:center;}
  .team-head .eyebrow{text-align:center;}
  .team-head h2{color:var(--white);}
  .team-head p{color:rgba(253,253,252,.82);margin-top:14px;}
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .team-card{background:var(--white);text-align:center;padding-bottom:22px;box-shadow:var(--shadow-md);}
  .team-card .placeholder{aspect-ratio:3/4;border:none;}
  .team-card h4{margin-top:18px;font-size:1.1rem;}
  .team-card span{color:var(--tan);font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;}
  .team-foot{text-align:center;margin-top:40px;}
  @media (max-width:800px){.team-grid{grid-template-columns:1fr;max-width:340px;margin:0 auto;}}

  /* ============ EXPERTISE ============ */
  .expertise{padding:clamp(60px,8vw,100px) 0;background:var(--bg-alt);}
  .expertise .container{max-width:760px;}
  .expertise-head{text-align:center;margin-bottom:44px;}
  .expertise-head .eyebrow{justify-content:center;}
  .skill-bars{display:flex;flex-direction:column;gap:26px;}
  .skill-bar-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;font-weight:600;color:var(--ink);}
  .skill-bar-value strong{font-family:var(--font-display);font-weight:600;color:var(--tan);font-variant-numeric:tabular-nums;}
  .skill-bar-track{height:6px;background:var(--white);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(34,44,45,.12);}
  .skill-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--tan),var(--tan-dark));border-radius:999px;transition:width 1.4s cubic-bezier(.25,.8,.25,1);}
  .skill-bar-fill.filled{width:var(--fill-to,0%);}

  /* ============ PRICING ============ */
  .pricing{padding:clamp(60px,8vw,100px) 0;}
  .pricing-card{background:var(--bg-alt);padding:clamp(40px,6vw,66px);text-align:center;}
  .pricing-card h2{font-size:clamp(1.7rem,3.2vw,2.3rem);}
  .pricing-card p{color:var(--text-body);max-width:52ch;margin:16px auto 30px;}

  /* ============ CONTACT ============ */
  .contact{padding:clamp(64px,8vw,110px) 0;}
  .contact .container{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,80px);align-items:start;}
  .form{background:var(--bg-alt);padding:clamp(32px,4vw,48px);}
  .form h2{font-size:clamp(1.4rem,2.4vw,1.7rem);margin-bottom:28px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .field{margin-bottom:18px;}
  .field label{display:block;font-size:.85rem;font-weight:700;color:var(--ink);margin-bottom:8px;}
  .field .req{color:#c0392b;}
  .field input, .field textarea{width:100%;border:1px solid var(--border);background:var(--white);border-radius:4px;padding:13px 14px;font-family:var(--font-body);font-size:.95rem;color:var(--ink);}
  .field textarea{resize:vertical;min-height:130px;}
  .field input:focus, .field textarea:focus{outline:2px solid var(--tan);outline-offset:1px;}

  .contact-info{padding-top:6px;}
  .eyebrow-italic{display:block;font-style:italic;font-weight:600;color:var(--tan);font-size:1.05rem;margin-bottom:22px;}
  .c-info-list{display:flex;flex-direction:column;gap:20px;}
  .c-info-item{display:flex;gap:14px;align-items:flex-start;}
  .c-info-item .ico{width:42px;height:42px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;flex:none;}
  .c-info-item .ico svg{width:18px;height:18px;color:var(--tan);}
  .c-info-item small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);}
  .c-info-item strong{font-weight:600;font-size:.98rem;color:var(--ink);}
  .contact-info h3{font-size:1.2rem;margin:36px 0 10px;}
  .hours-text{color:var(--text-body);margin-bottom:26px;}
  @media (max-width:900px){.contact .container{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

  /* ============ COOKIE CONSENT BANNER ============ */
  .cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--ink-2,var(--ink));color:#f1ede2;padding:20px clamp(20px,4vw,48px);box-shadow:0 -8px 30px rgba(0,0,0,.25);transform:translateY(100%);transition:transform .4s cubic-bezier(.25,.8,.25,1);}
  .cookie-banner.visible{transform:translateY(0);}
  .cookie-banner-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
  .cookie-banner p{margin:0;font-size:.88rem;line-height:1.6;color:rgba(255,255,255,.85);max-width:640px;}
  .cookie-banner a{color:var(--tan);text-decoration:underline;}
  .cookie-banner-actions{display:flex;gap:10px;flex-wrap:wrap;flex:none;}
  .cookie-banner-actions button{font-family:var(--font-body);font-size:.82rem;font-weight:700;letter-spacing:.02em;padding:11px 20px;border-radius:3px;cursor:pointer;border:1px solid transparent;}
  .cookie-reject{background:transparent;border-color:rgba(255,255,255,.3);color:#fff;}
  .cookie-reject:hover{border-color:#fff;}
  .cookie-accept{background:var(--tan);color:#fff;}
  .cookie-accept:hover{background:var(--tan-dark,var(--tan));}
  @media (max-width:700px){.cookie-banner-inner{flex-direction:column;align-items:flex-start;}}

  /* ============ FOOTER — dark charcoal, matches source ============ */
  footer{background:var(--ink-2);color:rgba(253,253,252,.72);padding:clamp(56px,7vw,86px) 0 28px;}
  .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1);}
  .footer-brand .brand-text{color:var(--white);}
  .footer-brand p{margin-top:14px;color:rgba(253,253,252,.6);font-size:.92rem;max-width:34ch;}
  footer h5{color:var(--white);font-family:var(--font-body);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;}
  .foot-list{display:flex;flex-direction:column;gap:12px;font-size:.92rem;}
  .foot-list a{text-decoration:none;color:rgba(253,253,252,.7);}
  .foot-list a:hover{color:var(--tan);}
  .newsletter-form{display:flex;margin-top:16px;border:1px solid rgba(255,255,255,.18);}
  .newsletter-form input{flex:1;background:transparent;border:none;padding:13px 14px;color:var(--white);font-family:inherit;font-size:.9rem;}
  .newsletter-form input::placeholder{color:rgba(253,253,252,.45);}
  .newsletter-form button{background:var(--tan);border:none;padding:0 18px;color:var(--white);font-weight:700;}
  .social-row{display:flex;gap:10px;margin-top:18px;}
  .social-row a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;text-decoration:none;}
  .social-row svg{width:16px;height:16px;color:rgba(253,253,252,.75);}
  .social-row a:hover{border-color:var(--tan);}
  .social-row a:hover svg{color:var(--tan);}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:.82rem;color:rgba(253,253,252,.5);flex-wrap:wrap;gap:10px;}
  @media (max-width:800px){.footer-grid{grid-template-columns:1fr;gap:36px;}}

  [data-animate]{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease;}
  [data-animate].in-view{opacity:1;transform:none;}
