/* ============================ RESET / TOKENS ============================ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root{
  --slate:      #2b333c;
  --slate-2:    #222a32;
  --slate-3:    #161b21;
  --paper:      #f3efe8;
  --paper-2:    #e7e0d4;
  --ink:        #262d34;
  --ink-soft:   #5a636c;
  --copper:     #b56a34;
  --copper-lt:  #d08a4c;
  --patina:     #6f8f86;
  --line:       rgba(38,45,52,0.14);
  --line-dk:    rgba(243,239,232,0.16);

  --font-d: 'Fraunces', Georgia, serif;
  --font-s: 'Inter', system-ui, sans-serif;

  --fs-hero:    clamp(3.1rem, 11vw, 10.5rem);
  --fs-display: clamp(2.2rem, 5.6vw, 5.4rem);
  --fs-h2:      clamp(1.9rem, 3.6vw, 3.3rem);
  --fs-h3:      clamp(1.35rem, 2.1vw, 1.9rem);
  --fs-body:    clamp(1rem, 1.05vw, 1.14rem);
  --fs-micro:   0.72rem;

  --ease:  cubic-bezier(0.22, 1, 0.36, 1);
  --ease-2: cubic-bezier(0.65, 0.05, 0.36, 1);
  --pad: clamp(1.4rem, 5vw, 6.5rem);
}

html{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body{
  font-family:var(--font-s);
  background:var(--paper);
  color:var(--ink);
  font-size:var(--fs-body);
  line-height:1.62;
  overflow-x:hidden;
}
body.loading{ overflow:hidden; height:100vh; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--copper); color:var(--paper); }

/* Grain — subtle material texture */
.grain{
  position:fixed; inset:0; pointer-events:none; z-index:9998; opacity:0.04; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ============================ CURSOR ============================ */
@media (hover:hover) and (pointer:fine){
  body{ cursor:none; }
  .c-dot,.c-ring{ position:fixed; top:0; left:0; pointer-events:none; z-index:10000; border-radius:50%;
    transform:translate(-50%,-50%); will-change:transform; }
  .c-dot{ width:6px; height:6px; background:var(--copper); }
  .c-ring{ width:38px; height:38px; border:1.5px solid rgba(181,106,52,0.55); transition:width .3s var(--ease), height .3s var(--ease), background .3s, border-color .3s; }
  .c-ring.hovering{ width:66px; height:66px; background:rgba(181,106,52,0.10); border-color:rgba(181,106,52,0.9); }
  .c-ring.dark-ctx{ border-color:rgba(243,239,232,0.6); }
}
.c-dot,.c-ring{ display:none; }
@media (hover:hover) and (pointer:fine){ .c-dot,.c-ring{ display:block; } }

/* ============================ LOADER ============================ */
.loader{ position:fixed; inset:0; z-index:10001; background:var(--slate-3); color:var(--paper);
  display:flex; flex-direction:column; justify-content:flex-end; padding:var(--pad); }
.loader-brand{ font-family:var(--font-d); font-weight:500; font-size:clamp(2rem,7vw,5rem); letter-spacing:-0.02em; line-height:1; }
.loader-brand span{ color:var(--copper); }
.loader-row{ display:flex; justify-content:space-between; align-items:baseline; margin-top:1.2rem;
  border-top:1px solid var(--line-dk); padding-top:1.1rem; }
.loader-tag{ font-size:var(--fs-micro); text-transform:uppercase; letter-spacing:0.3em; color:rgba(243,239,232,0.6); }
.loader-count{ font-family:var(--font-d); font-size:clamp(2.4rem,9vw,7rem); font-weight:300; line-height:1; }
.loader-bar{ position:absolute; left:0; bottom:0; height:2px; width:0%; background:var(--copper); }

/* ============================ NAV ============================ */
.nav{ position:fixed; top:0; left:0; width:100%; z-index:900; display:flex; align-items:center;
  justify-content:space-between; padding:1.15rem var(--pad); transition:padding .4s var(--ease), background .4s, box-shadow .4s;
  mix-blend-mode:normal; }
.nav.scrolled{ background:rgba(243,239,232,0.9); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--line); padding-top:.8rem; padding-bottom:.8rem; }
.nav__brand{ font-family:var(--font-d); font-weight:600; font-size:1.35rem; letter-spacing:-0.01em; color:var(--paper); transition:color .4s; }
.nav.scrolled .nav__brand{ color:var(--ink); }
.nav__brand b{ color:var(--copper); font-weight:600; }
.nav__links{ display:flex; gap:2.1rem; align-items:center; }
.nav__links a{ font-size:.86rem; letter-spacing:0.02em; color:var(--paper); position:relative; transition:color .4s; }
.nav.scrolled .nav__links a{ color:var(--ink-soft); }
.nav__links a:not(.nav__cta)::after{ content:''; position:absolute; left:0; bottom:-5px; width:0; height:1px; background:var(--copper); transition:width .4s var(--ease); }
.nav__links a:not(.nav__cta):hover::after{ width:100%; }
.nav__links a:not(.nav__cta):hover{ color:var(--copper); }
.nav__cta{ border:1px solid rgba(243,239,232,0.5); padding:.55rem 1.15rem; border-radius:100px; transition:all .4s var(--ease); }
.nav.scrolled .nav__cta{ border-color:var(--copper); color:var(--copper); }
.nav__cta:hover{ background:var(--copper); border-color:var(--copper); color:var(--paper)!important; }
.nav__burger{ display:none; flex-direction:column; gap:5px; width:30px; background:none; border:none; cursor:pointer; }
.nav__burger span{ height:2px; width:100%; background:var(--paper); transition:.3s; }
.nav.scrolled .nav__burger span{ background:var(--ink); }

/* ============================ HERO ============================ */
.hero{ position:relative; height:100svh; min-height:640px; overflow:hidden; display:flex; align-items:flex-end;
  background:var(--slate-3); }
.hero__bg{ position:absolute; inset:-12% 0 -4% 0; will-change:transform; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.hero__scrim{ position:absolute; inset:0; background:
  linear-gradient(180deg, rgba(22,27,33,0.34) 0%, rgba(22,27,33,0.05) 34%, rgba(22,27,33,0.25) 72%, rgba(22,27,33,0.82) 100%); }
.hero__grad-copper{ position:absolute; inset:0; background:radial-gradient(120% 80% at 15% 108%, rgba(181,106,52,0.34), transparent 55%); mix-blend-mode:screen; }
.hero__inner{ position:relative; z-index:5; width:100%; padding:0 var(--pad) clamp(2.4rem,6vh,5rem); color:var(--paper); }
.hero__eyebrow{ font-size:var(--fs-micro); text-transform:uppercase; letter-spacing:0.34em; color:rgba(243,239,232,0.82);
  display:flex; align-items:center; gap:.9rem; margin-bottom:1.5rem; }
.hero__eyebrow::before{ content:''; width:46px; height:1px; background:var(--copper); display:inline-block; }
.hero__title{ font-family:var(--font-d); font-weight:400; font-size:var(--fs-hero); line-height:0.92; letter-spacing:-0.025em; max-width:15ch; }
.hero__title em{ font-style:italic; color:var(--copper-lt); }
.hero__title .ln{ display:block; overflow:hidden; }
.hero__title .ln > span{ display:block; }
.hero__foot{ display:flex; flex-wrap:wrap; gap:2rem 3.4rem; align-items:flex-end; justify-content:space-between; margin-top:2.4rem; }
.hero__lede{ max-width:42ch; font-size:1.06rem; color:rgba(243,239,232,0.88); line-height:1.6; }
.hero__actions{ display:flex; gap:1rem; align-items:center; }
.btn{ font-family:var(--font-s); font-size:.9rem; letter-spacing:0.01em; padding:.95rem 1.7rem; border-radius:100px;
  display:inline-flex; align-items:center; gap:.6rem; border:1px solid transparent; transition:transform .5s var(--ease), background .4s, color .4s, border-color .4s; will-change:transform; }
.btn--copper{ background:var(--copper); color:var(--paper); }
.btn--copper:hover{ background:var(--copper-lt); }
.btn--ghost{ border-color:rgba(243,239,232,0.45); color:var(--paper); }
.btn--ghost:hover{ border-color:var(--paper); background:rgba(243,239,232,0.08); }
.btn svg{ width:15px; height:15px; }
.hero__scroll{ position:absolute; right:var(--pad); bottom:clamp(2.4rem,6vh,5rem); z-index:5; writing-mode:vertical-rl;
  font-size:var(--fs-micro); text-transform:uppercase; letter-spacing:0.3em; color:rgba(243,239,232,0.7); display:flex; align-items:center; gap:.8rem; }
.hero__scroll::after{ content:''; width:1px; height:54px; background:linear-gradient(var(--copper),transparent); animation:scrolldrop 2.2s var(--ease) infinite; }
@keyframes scrolldrop{ 0%{transform:scaleY(0);transform-origin:top} 45%{transform:scaleY(1);transform-origin:top} 55%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* ============================ SHARED ============================ */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity 1s var(--ease), transform 1s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal-d1{ transition-delay:.09s; } .reveal-d2{ transition-delay:.18s; } .reveal-d3{ transition-delay:.27s; }
.eyebrow{ font-size:var(--fs-micro); text-transform:uppercase; letter-spacing:0.32em; color:var(--copper); display:flex; align-items:center; gap:.85rem; }
.eyebrow::before{ content:''; width:34px; height:1px; background:var(--copper); }
.section-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1.6rem; margin-bottom:clamp(2.4rem,5vw,4.5rem); }
.section-head h2{ font-family:var(--font-d); font-weight:400; font-size:var(--fs-display); line-height:0.98; letter-spacing:-0.02em; max-width:16ch; margin-top:1.1rem; }
.section-head h2 em{ font-style:italic; color:var(--copper); }
.section-head p{ max-width:40ch; color:var(--ink-soft); }

/* ============================ MANIFESTO ============================ */
.manifesto{ background:var(--slate); color:var(--paper); padding:clamp(4.5rem,11vw,9rem) var(--pad); }
.manifesto__q{ font-family:var(--font-d); font-weight:300; font-size:clamp(1.7rem,3.9vw,3.5rem); line-height:1.22; letter-spacing:-0.015em; max-width:24ch; }
.manifesto__q b{ font-weight:500; color:var(--copper-lt); }
.manifesto__meta{ margin-top:2.6rem; display:flex; flex-wrap:wrap; gap:1rem 2.2rem; align-items:center; font-size:.9rem; color:rgba(243,239,232,0.62); border-top:1px solid var(--line-dk); padding-top:1.6rem; }
.manifesto__meta strong{ color:var(--paper); font-weight:500; }

/* ============================ SERVICES ============================ */
.services{ padding:clamp(4.5rem,10vw,8rem) var(--pad); }
.svc-list{ border-top:1px solid var(--line); }
.svc{ display:grid; grid-template-columns: 0.5fr 1.5fr 1.1fr auto; gap:1.5rem 2.5rem; align-items:center;
  padding:clamp(1.6rem,3vw,2.6rem) 0; border-bottom:1px solid var(--line); position:relative; }
.svc__no{ font-family:var(--font-d); font-size:1rem; color:var(--copper); font-weight:500; }
.svc__name{ font-family:var(--font-d); font-weight:400; font-size:var(--fs-h3); line-height:1.05; letter-spacing:-0.01em; transition:transform .5s var(--ease); }
.svc__desc{ color:var(--ink-soft); font-size:.98rem; max-width:38ch; }
.svc__go{ width:52px; height:52px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  transition:all .5s var(--ease); flex-shrink:0; }
.svc__go svg{ width:17px; height:17px; transition:transform .5s var(--ease); }
.svc:hover .svc__go{ background:var(--copper); border-color:var(--copper); }
.svc:hover .svc__go svg{ stroke:var(--paper); transform:rotate(-45deg); }
.svc:hover .svc__name{ transform:translateX(10px); color:var(--copper); }
/* floating hover image */
.svc__img{ position:fixed; top:0; left:0; width:340px; height:250px; z-index:60; pointer-events:none; overflow:hidden;
  border-radius:6px; opacity:0; transform:translate(-50%,-50%) scale(0.9); transition:opacity .45s var(--ease), transform .45s var(--ease);
  box-shadow:0 26px 60px rgba(22,27,33,0.4); }
.svc__img img{ width:100%; height:100%; object-fit:cover; }
.svc__img.show{ opacity:1; transform:translate(-50%,-50%) scale(1); }

/* ============================ SKY BAND (signature) ============================ */
.skyband{ position:relative; height:118vh; min-height:720px; overflow:hidden; background:#8fb3cf; display:flex; align-items:center; justify-content:center; }
.skyband__sky{ position:absolute; inset:-8% -6%; will-change:transform; }
.skyband__sky img{ width:100%; height:120%; object-fit:cover; }
.skyband__ridge{ position:absolute; left:0; right:0; bottom:-1px; height:20%; z-index:3;
  background:url('pokryvac-assets/rooftops-chimneys.jpg') center 40%/cover no-repeat; }
.skyband__ridge::before{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(143,179,207,0.55) 0%, rgba(43,51,60,0.05) 40%, rgba(22,27,33,0.18) 100%); }
.skyband__inner{ position:relative; z-index:5; text-align:center; padding:0 var(--pad); color:var(--slate-3); width:min(1000px,92vw); transform:translateY(-6%); }
.skyband__eyebrow{ font-size:var(--fs-micro); text-transform:uppercase; letter-spacing:0.34em; color:var(--slate); margin-bottom:1.4rem; }
.skyband__q{ font-family:var(--font-d); font-weight:400; font-size:clamp(2.1rem,6.4vw,6rem); line-height:1.02; letter-spacing:-0.02em; color:#1c2229; max-width:15ch; margin:0 auto; }
.skyband__q em{ font-style:italic; color:var(--copper); }
.skyband__stats{ display:flex; flex-wrap:wrap; justify-content:center; gap:2rem 3.4rem; margin-top:2.6rem; }
.stat{ position:relative; }
.stat__num{ font-family:var(--font-d); font-weight:600; font-size:clamp(2.2rem,4.6vw,3.6rem); line-height:1; color:#1c2229; }
.stat__num i{ font-style:normal; color:#1c2229; }
.stat__num::after{ content:''; display:block; width:26px; height:2px; background:var(--copper); margin:.55rem auto 0; }
.stat__lbl{ font-size:.74rem; text-transform:uppercase; letter-spacing:0.16em; color:#26313a; margin-top:.55rem; font-weight:500; }

/* ============================ MATERIALS ============================ */
.materials{ background:var(--slate-2); color:var(--paper); padding:clamp(4.5rem,10vw,8rem) var(--pad); }
.materials .section-head h2{ color:var(--paper); }
.materials .section-head p{ color:rgba(243,239,232,0.6); }
.materials .eyebrow{ color:var(--copper-lt); }
.materials .eyebrow::before{ background:var(--copper-lt); }
.mat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.mat{ position:relative; }
.mat__img{ aspect-ratio:3/4; overflow:hidden; border-radius:4px; position:relative; }
.mat__img img{ width:100%; height:100%; object-fit:cover; transform:scale(1.06); transition:transform 1.1s var(--ease); filter:saturate(0.94); }
.mat:hover .mat__img img{ transform:scale(1); }
.mat__img::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%, rgba(22,27,33,0.72)); }
.mat__cap{ position:absolute; left:1.15rem; right:1.15rem; bottom:1.1rem; z-index:2; }
.mat__cap h3{ font-family:var(--font-d); font-weight:500; font-size:1.28rem; }
.mat__cap span{ font-size:var(--fs-micro); text-transform:uppercase; letter-spacing:0.2em; color:var(--copper-lt); }
.mat__cap p{ font-size:.86rem; color:rgba(243,239,232,0.8); margin-top:.4rem; max-height:0; opacity:0; overflow:hidden;
  transition:max-height .55s var(--ease), opacity .5s var(--ease), margin .5s var(--ease); }
.mat:hover .mat__cap p{ max-height:120px; opacity:1; }

/* ============================ REFERENCE GALLERY ============================ */
.refs{ padding:clamp(4.5rem,10vw,8rem) var(--pad) clamp(3rem,7vw,6rem); }
.ref-grid{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:12vw; gap:1.1rem; }
.ref{ position:relative; overflow:hidden; border-radius:4px; }
.ref img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.ref:hover img{ transform:scale(1.07); }
.ref__cap{ position:absolute; inset:auto 0 0 0; padding:1.5rem 1.2rem .95rem; z-index:2; color:var(--paper);
  background:linear-gradient(180deg,transparent, rgba(22,27,33,0.85)); transform:translateY(12px); opacity:0; transition:all .5s var(--ease); }
.ref:hover .ref__cap{ transform:none; opacity:1; }
.ref__cap b{ font-family:var(--font-d); font-weight:500; font-size:1.02rem; display:block; }
.ref__cap span{ font-size:.72rem; text-transform:uppercase; letter-spacing:0.18em; color:var(--copper-lt); }
.ref.tall{ grid-row:span 2; } .ref.wide{ grid-column:span 2; } .ref.big{ grid-column:span 2; grid-row:span 2; }

/* ============================ POPTÁVKA ============================ */
.enquiry{ position:relative; background:var(--slate-3); color:var(--paper); overflow:hidden; }
.enquiry__bg{ position:absolute; inset:0; opacity:0.22; }
.enquiry__bg img{ width:100%; height:100%; object-fit:cover; }
.enquiry__bg::after{ content:''; position:absolute; inset:0; background:linear-gradient(120deg, var(--slate-3) 30%, rgba(22,27,33,0.5)); }
.enquiry__wrap{ position:relative; z-index:3; display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(2.5rem,6vw,6rem);
  padding:clamp(4.5rem,10vw,8rem) var(--pad); align-items:start; }
.enquiry__intro h2{ font-family:var(--font-d); font-weight:400; font-size:var(--fs-display); line-height:1; letter-spacing:-0.02em; margin-top:1.1rem; }
.enquiry__intro h2 em{ font-style:italic; color:var(--copper-lt); }
.enquiry__intro p{ color:rgba(243,239,232,0.72); max-width:34ch; margin-top:1.6rem; }
.enquiry__contact{ margin-top:2.6rem; display:flex; flex-direction:column; gap:1rem; }
.enquiry__contact a{ display:flex; align-items:center; gap:.85rem; font-size:1.05rem; transition:color .3s; }
.enquiry__contact a:hover{ color:var(--copper-lt); }
.enquiry__contact svg{ width:17px; height:17px; stroke:var(--copper-lt); flex-shrink:0; }

.form{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 1.4rem; }
.field{ position:relative; grid-column:span 1; }
.field.full{ grid-column:1 / -1; }
.field label{ font-size:var(--fs-micro); text-transform:uppercase; letter-spacing:0.18em; color:rgba(243,239,232,0.6); display:block; margin-bottom:.55rem; }
.field input, .field select, .field textarea{ width:100%; background:transparent; border:none; border-bottom:1px solid rgba(243,239,232,0.28);
  color:var(--paper); font-family:var(--font-s); font-size:1rem; padding:.6rem 0; transition:border-color .4s; }
.field textarea{ resize:vertical; min-height:76px; }
.field select{ cursor:pointer; }
.field select option{ background:var(--slate-2); color:var(--paper); }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--copper); }
.field input::placeholder, .field textarea::placeholder{ color:rgba(243,239,232,0.35); }
.consent{ grid-column:1 / -1; display:flex; gap:.75rem; align-items:flex-start; font-size:.82rem; color:rgba(243,239,232,0.62); line-height:1.5; }
.consent input{ width:17px; height:17px; margin-top:.2rem; accent-color:var(--copper); flex-shrink:0; }
.consent a{ color:var(--copper-lt); text-decoration:underline; text-underline-offset:2px; }
.form__submit{ grid-column:1 / -1; }
.form__submit button{ width:100%; justify-content:center; cursor:pointer; font-size:.95rem; }
.form__note{ grid-column:1/-1; font-size:.8rem; color:rgba(243,239,232,0.5); }
.form__ok{ grid-column:1/-1; display:none; align-items:center; gap:.7rem; color:var(--patina); font-size:.95rem;
  background:rgba(111,143,134,0.12); border:1px solid rgba(111,143,134,0.4); padding:.9rem 1.1rem; border-radius:6px; }
.form__ok.show{ display:flex; }

/* ============================ FOOTER ============================ */
.footer{ background:var(--slate-3); color:var(--paper); padding:clamp(3.5rem,7vw,5.5rem) var(--pad) 2.2rem; border-top:1px solid var(--line-dk); }
.footer__top{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid var(--line-dk); }
.footer__brand{ font-family:var(--font-d); font-weight:500; font-size:clamp(2.4rem,7vw,5rem); line-height:0.95; letter-spacing:-0.02em; }
.footer__brand b{ color:var(--copper); }
.footer__brand p{ font-family:var(--font-s); font-size:.95rem; color:rgba(243,239,232,0.6); margin-top:1.2rem; max-width:30ch; letter-spacing:0; }
.footer__col h4{ font-size:var(--fs-micro); text-transform:uppercase; letter-spacing:0.24em; color:var(--copper-lt); margin-bottom:1.1rem; }
.footer__col a, .footer__col p{ display:block; font-size:.92rem; color:rgba(243,239,232,0.78); margin-bottom:.55rem; transition:color .3s; }
.footer__col a:hover{ color:var(--copper-lt); }
.footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding-top:1.8rem; font-size:.8rem; color:rgba(243,239,232,0.5); }
.footer__bottom a:hover{ color:var(--copper-lt); }

/* ============================ RESPONSIVE ============================ */
@media (max-width:1000px){
  .svc{ grid-template-columns:auto 1fr auto; }
  .svc__desc{ display:none; }
  .mat-grid{ grid-template-columns:repeat(2,1fr); }
  .enquiry__wrap{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr 1fr; }
  .footer__brand{ grid-column:1/-1; }
  .ref-grid{ grid-auto-rows:22vw; }
}
@media (max-width:680px){
  :root{ --fs-hero:clamp(2.8rem,15vw,4.4rem); }
  .nav__links{ position:fixed; inset:0; background:var(--slate-3); flex-direction:column; justify-content:center;
    gap:1.8rem; transform:translateX(100%); transition:transform .5s var(--ease); }
  .nav__links.open{ transform:none; }
  .nav__links a{ color:var(--paper)!important; font-size:1.4rem; font-family:var(--font-d); }
  .nav__burger{ display:flex; z-index:950; }
  .nav.menu-open .nav__burger span{ background:var(--paper); }
  .hero__eyebrow{ letter-spacing:0.2em; font-size:0.62rem; }
  .nav__burger span{ box-shadow:0 0 6px rgba(22,27,33,0.45); }
  .hero__foot{ flex-direction:column; align-items:flex-start; }
  .hero__actions{ flex-wrap:wrap; }
  .hero__scroll{ display:none; }
  .form{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr; }
  .ref-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:38vw; }
  .ref.big, .ref.wide{ grid-column:span 2; }
  .ref.big{ grid-row:span 1; }
  .svc__img{ display:none; }
  .skyband{ height:90vh; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; transition-duration:.01ms!important; }
  .reveal{ opacity:1; transform:none; }
}
.skip-link{ position:absolute; left:-999px; top:0; background:var(--copper); color:var(--paper); padding:.7rem 1.2rem; z-index:10002; }
.skip-link:focus{ left:0; }
:focus-visible{ outline:2px solid var(--copper); outline-offset:3px; }
