:root{
  --wall:      #F7F2EA;
  --wall-2:    #EFE5D3;
  --ink:       #17130F;
  --ink-soft:  #59514A;
  --pine:      #C2410C;
  --pine-dark: #140F0B;
  --pine-light:#FBE4D2;
  --clay:      #E8730A;
  --clay-light:#FCE7D2;
  --line:      #E7DCC8;
  --paper:     #FFFDF9;

  --serif: 'Fraunces', serif;
  --sans:  'Inter', sans-serif;
  --mono:  'IBM Plex Mono', monospace;

  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 26px;

  --shadow-sm: 0 2px 10px rgba(23,19,15,.06);
  --shadow-md: 0 16px 36px -12px rgba(23,19,15,.16);
  --shadow-lg: 0 30px 70px -20px rgba(20,15,11,.28);

  --ease: cubic-bezier(.22,.68,.35,1);
}

html[data-theme="dark"]{
  --wall:      #15120F;
  --wall-2:    #1D1814;
  --ink:       #F4EEE4;
  --ink-soft:  #C3B9AB;
  --pine:      #F0902E;
  --pine-dark: #0A0807;
  --pine-light:#3A2413;
  --clay:      #FF9A2E;
  --clay-light:#3A2413;
  --line:      #332B23;
  --paper:     #1D1814;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--wall);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  transition:background-color .25s var(--ease), color .25s var(--ease);
}

/* ============ THEME TOGGLE BUTTON ============ */
.theme-toggle{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);
  background:var(--paper);color:var(--ink);cursor:pointer;flex:none;
  transition:border-color .2s, background .2s, color .2s, transform .2s;
}
.theme-toggle:hover{border-color:var(--pine);color:var(--pine);transform:translateY(-2px);}
.theme-toggle svg{width:18px;height:18px;}
.theme-toggle .icon-moon{display:none;}
html[data-theme="dark"] .theme-toggle .icon-sun{display:none;}
html[data-theme="dark"] .theme-toggle .icon-moon{display:block;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
section{position:relative;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* ============ SKIP LINK (a11y) ============ */
.skip-link{
  position:absolute;left:-999px;top:auto;
  background:var(--pine-dark);color:#fff;padding:14px 20px;border-radius:var(--radius-sm);
  z-index:200;font-weight:600;font-size:14px;
}
.skip-link:focus{left:20px;top:20px;}

.eyebrow{
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--pine);
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--pine);display:inline-block;}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;color:var(--ink);}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-weight:600;font-size:15px;
  padding:14px 28px;border-radius:var(--radius-sm);
  border:1.5px solid var(--ink);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
  white-space:nowrap;
  cursor:pointer;
}
.btn:hover{transform:translateY(-2px);}
.btn-solid{background:var(--pine);border-color:var(--pine);color:var(--paper);box-shadow:var(--shadow-sm);}
.btn-solid:hover{background:var(--pine-dark);border-color:var(--pine-dark);box-shadow:var(--shadow-md);}
.btn-outline{background:transparent;color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-md);}
.btn-clay{background:var(--clay);border-color:var(--clay);color:var(--paper);box-shadow:var(--shadow-sm);}
.btn-clay:hover{background:#a84f24;border-color:#a84f24;box-shadow:var(--shadow-md);}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.5);color:var(--paper);}
.btn-outline-light:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--clay);outline-offset:3px;border-radius:4px;
}

/* ============ SCROLL REVEAL ============ */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.is-visible{opacity:1;transform:none;}
.reveal-stagger > *{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease), transform .6s var(--ease);}
.reveal-stagger.is-visible > *{opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(1){transition-delay:.03s;}
.reveal-stagger.is-visible > *:nth-child(2){transition-delay:.11s;}
.reveal-stagger.is-visible > *:nth-child(3){transition-delay:.19s;}
.reveal-stagger.is-visible > *:nth-child(4){transition-delay:.27s;}

/* ============ TOP UTILITY BAR ============ */
.utility{background:var(--pine-dark);color:#E9E4D6;font-family:var(--mono);font-size:12.5px;}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;}
.utility-left{display:flex;gap:24px;align-items:center;}
.utility-left a{transition:color .15s;}
.utility-left a:hover{color:#fff;}
.utility-social{display:flex;gap:16px;}
.utility-social a{opacity:.8;transition:opacity .15s;}
.utility-social a:hover{opacity:1;}

/* ============ HEADER — static, not fixed ============ */
header.site{background:var(--wall);border-bottom:1px solid var(--line);}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:92px;}
.logo{font-family:var(--serif);font-size:26px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:12px;}
.logo .mark{width:38px;height:38px;flex:none;border-radius:10px;overflow:hidden;background:#FBF6EC;padding:3px;box-sizing:border-box;object-fit:contain;box-shadow:0 0 0 1px var(--line);}
.logo small{display:block;font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.12em;color:var(--ink-soft);text-transform:uppercase;margin-top:2px;}
nav.primary{display:flex;align-items:center;gap:2px;}
nav.primary > ul{display:flex;align-items:center;gap:4px;}
nav.primary > ul > li{position:relative;}
nav.primary > ul > li > a{display:block;padding:10px 16px;font-weight:600;font-size:14.5px;border-radius:var(--radius-sm);transition:color .15s, background .15s;}
nav.primary > ul > li > a:hover{color:var(--pine);background:var(--wall-2);}
nav.primary > ul > li > a[aria-current="page"]{color:var(--pine);}
.has-drop > a::after{content:"▾";font-size:10px;margin-left:5px;color:var(--ink-soft);}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);min-width:230px;padding:8px;opacity:0;visibility:hidden;transform:translateY(4px);transition:all .2s var(--ease);box-shadow:var(--shadow-md);}
.has-drop:hover .dropdown, .has-drop:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:10px 14px;font-size:14px;font-weight:500;border-radius:8px;transition:background .15s,color .15s;}
.dropdown a:hover{background:var(--wall-2);color:var(--pine);}
.nav-actions{display:flex;align-items:center;gap:14px;}
.nav-phone{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;}
.nav-phone a{font-weight:700;font-size:15px;}
.nav-phone span{font-family:var(--mono);font-size:10.5px;color:var(--ink-soft);letter-spacing:.06em;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:transform .2s, opacity .2s;}

/* ============ PAGE BANNER (inner pages) ============ */
.page-banner{position:relative;height:300px;overflow:hidden;}
.page-banner img{width:100%;height:100%;object-fit:cover;}
.page-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(20,15,11,.88) 0%, rgba(20,15,11,.58) 55%, rgba(20,15,11,.28) 100%);}
.page-banner .wrap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;}
.page-banner .eyebrow{color:#E8B896;}
.page-banner .eyebrow::before{background:#E8B896;}
.page-banner h1{color:var(--paper);font-size:clamp(32px,4vw,48px);margin-top:14px;}
.breadcrumb{font-family:var(--mono);font-size:12px;color:#D9D2C0;margin-top:14px;}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px;}
.breadcrumb a:hover{color:#fff;}

/* ============ HERO (home) ============ */
.hero{padding:88px 0 96px;overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.hero h1{font-size:clamp(38px,4.6vw,60px);line-height:1.06;margin:22px 0 22px;}
.hero h1 em{font-style:italic;color:var(--pine);}
.hero p.lede{font-size:18px;color:var(--ink-soft);max-width:46ch;margin-bottom:34px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero-visual{position:relative;}
.hero-visual .frame{aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:var(--shadow-lg);background:var(--pine-dark);}
.hero-visual .frame img{width:100%;height:100%;object-fit:cover;}
.hero-visual .swatch-tag{position:absolute;bottom:20px;left:20px;right:20px;background:rgba(246,242,233,.96);backdrop-filter:blur(6px);border-radius:var(--radius-md);padding:16px 18px;font-family:var(--mono);font-size:12px;color:var(--ink);display:flex;justify-content:space-between;gap:12px;box-shadow:var(--shadow-sm);}
.hero-visual .swatch-tag b{display:block;font-family:var(--sans);font-size:13.5px;margin-bottom:2px;}

/* ============ TRUST STRIP ============ */
.trust{background:var(--pine-dark);color:#EDE8DA;padding:26px 0;}
.trust .wrap{display:flex;flex-wrap:wrap;gap:28px 40px;justify-content:space-between;align-items:center;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;}
.trust-item svg{flex:none;width:18px;height:18px;color:#E8B896;}

/* ============ ABOUT ============ */
.about{padding:110px 0;}
.about .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start;}
.about-visual{position:sticky;top:32px;}
.about-visual .stack{aspect-ratio:3/4;border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:var(--shadow-md);}
.about-visual .stack img{width:100%;height:100%;object-fit:cover;}
.about h2{font-size:clamp(30px,3.4vw,42px);margin-bottom:22px;line-height:1.12;}
.about p{color:var(--ink-soft);font-size:16.5px;margin-bottom:18px;max-width:62ch;}
.about-list{margin-top:36px;display:grid;gap:0;}
.about-list li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line);font-size:15px;color:var(--ink);}
.about-list li:last-child{border-bottom:1px solid var(--line);}
.about-list .num{font-family:var(--mono);font-size:12.5px;color:var(--clay);flex:none;padding-top:2px;}
.about-cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}

/* ============ STAT ROW ============ */
.stat-row{padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stat-row .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.stat .num{font-family:var(--serif);font-size:44px;color:var(--pine);}
.stat .label{font-family:var(--mono);font-size:12px;color:var(--ink-soft);letter-spacing:.04em;margin-top:6px;}

/* ============ SERVICES ============ */
.services{padding:100px 0 110px;background:var(--wall-2);}
.services-head{max-width:640px;margin-bottom:56px;}
.services-head h2{font-size:clamp(30px,3.4vw,42px);margin-top:18px;line-height:1.12;}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.service-card{background:var(--paper);display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line);transition:transform .3s var(--ease), box-shadow .3s var(--ease);}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.service-card .photo{aspect-ratio:16/10;overflow:hidden;}
.service-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.service-card:hover .photo img{transform:scale(1.06);}
.service-card .body{padding:30px 32px;}
.service-card .idx{font-family:var(--mono);font-size:12.5px;color:var(--clay);}
.service-card h3{font-size:22px;margin:14px 0 12px;}
.service-card p{color:var(--ink-soft);font-size:15px;margin-bottom:18px;}
.service-card a.more{font-weight:600;font-size:14px;color:var(--pine);display:inline-flex;align-items:center;gap:6px;}
.service-card a.more svg{width:14px;height:14px;transition:transform .15s;}
.service-card a.more:hover svg{transform:translateX(4px);}

/* ============ GALLERY (service pages) ============ */
.gallery{padding:100px 0;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.gallery-grid .g-item{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease);}
.gallery-grid .g-item:hover{box-shadow:var(--shadow-md);}
.gallery-grid .g-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.gallery-grid .g-item:hover img{transform:scale(1.06);}

/* ============ PROCESS LIST (service pages) ============ */
.process{padding:0 0 110px;}
.process .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start;}
.process-steps li{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line);}
.process-steps li:last-child{border-bottom:1px solid var(--line);}
.process-steps .step-num{font-family:var(--serif);font-size:22px;color:var(--clay);}
.process-steps h4{font-size:17px;margin-bottom:6px;}
.process-steps p{font-size:14.5px;color:var(--ink-soft);}
.process-photo{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;position:sticky;top:32px;box-shadow:var(--shadow-md);}
.process-photo img{width:100%;height:100%;object-fit:cover;}

/* ============ TESTIMONIALS ============ */
.testimonials{padding:110px 0;}
.testimonials-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:50px;flex-wrap:wrap;}
.testimonials-head h2{font-size:clamp(30px,3.4vw,42px);margin-top:18px;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testi-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:30px 28px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease), box-shadow .3s var(--ease);}
.testi-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.testi-card .stars{display:flex;gap:3px;color:var(--clay);}
.testi-card p{font-size:15px;color:var(--ink);line-height:1.6;}
.testi-card footer{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-top:auto;}
.reco-note{margin-top:34px;font-size:14px;color:var(--ink-soft);}
.reco-note a{color:var(--pine);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

/* ============ CTA BANNER ============ */
.cta-band{background:var(--pine-dark);color:var(--paper);padding:88px 0;text-align:center;position:relative;overflow:hidden;}
.cta-band::before{content:"";position:absolute;left:50%;top:-40%;width:900px;height:900px;background:radial-gradient(circle, rgba(196,96,46,.28), transparent 65%);transform:translateX(-50%);}
.cta-band .inner{position:relative;max-width:640px;margin:0 auto;}
.cta-band .eyebrow{justify-content:center;color:#E8B896;}
.cta-band .eyebrow::before{background:#E8B896;}
.cta-band h2{color:var(--paper);font-size:clamp(30px,4vw,46px);margin:18px 0 16px;}
.cta-band p{color:#CFC9BA;font-size:16.5px;margin-bottom:32px;}

/* ============ TEAM / VALUES (om oss) ============ */
.team{padding:0 0 110px;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.team-card .photo{aspect-ratio:4/5;border-radius:var(--radius-md);overflow:hidden;margin-bottom:16px;box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease), transform .3s var(--ease);}
.team-card:hover .photo{box-shadow:var(--shadow-md);transform:translateY(-5px);}
.team-card .photo img{width:100%;height:100%;object-fit:cover;}
.team-card h4{font-size:18px;}
.team-card span{font-family:var(--mono);font-size:12px;color:var(--ink-soft);}

/* ============ CONTACT / QUOTE FORM ============ */
.contact-section{padding:100px 0 110px;}
.contact-section .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.info-list{display:grid;gap:22px;margin-top:28px;}
.info-list .item{display:flex;gap:16px;align-items:flex-start;}
.info-list .icn{width:42px;height:42px;flex:none;border-radius:50%;background:var(--pine-light);display:flex;align-items:center;justify-content:center;color:var(--pine);}
.info-list h4{font-size:15px;margin-bottom:2px;}
.info-list p, .info-list a{font-size:14.5px;color:var(--ink-soft);}
.info-list a:hover{color:var(--pine);}
.map-frame{margin-top:32px;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;box-shadow:var(--shadow-md);}
.map-frame img{width:100%;height:100%;object-fit:cover;}
.map-placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:
    linear-gradient(var(--line) 1px, transparent 1px) 0 0/28px 28px,
    linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0/28px 28px,
    var(--wall-2);
  color:var(--pine);text-align:center;padding:20px;
}
.map-placeholder svg{width:34px;height:34px;}
.map-placeholder strong{font-size:14.5px;color:var(--ink);}
.map-placeholder span{font-family:var(--mono);font-size:12px;color:var(--ink-soft);}

form.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:38px;box-shadow:var(--shadow-md);}
.field{margin-bottom:20px;}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;}
.field input, .field textarea, .field select{
  width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  font-family:var(--sans);font-size:14.5px;background:var(--wall);color:var(--ink);
  transition:border-color .15s, box-shadow .15s;
}
.field input:focus, .field textarea:focus, .field select:focus{border-color:var(--pine);outline:none;box-shadow:0 0 0 4px var(--pine-light);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field textarea{resize:vertical;min-height:120px;}
form.card .btn{width:100%;justify-content:center;}
.form-note{font-size:12.5px;color:var(--ink-soft);margin-top:14px;text-align:center;}
.form-success{display:none;text-align:center;padding:40px 10px;}
.form-success.show{display:block;}
.form-success svg{width:52px;height:52px;color:var(--pine);margin:0 auto 16px;}
.form-success h4{font-size:20px;margin-bottom:8px;}
.form-success p{color:var(--ink-soft);font-size:14.5px;}

/* ============ FOOTER ============ */
footer.site{background:#17130F;color:#D9D4C6;padding:72px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-bottom:52px;border-bottom:1px solid #3A362F;}
.footer-brand .logo-f{font-family:var(--serif);font-size:24px;color:#FFFDF9;margin-bottom:14px;}
.footer-grid p{font-size:14px;color:#A8A296;max-width:32ch;line-height:1.6;}
.footer-col h4{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8F8A7C;margin-bottom:18px;}
.footer-col ul{display:grid;gap:10px;}
.footer-col a{font-size:14.5px;color:#D9D4C6;transition:color .15s;}
.footer-col a:hover{color:#FFFDF9;text-decoration:underline;text-underline-offset:3px;}
.footer-bottom{padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:12.5px;color:#8F8A7C;font-family:var(--mono);}
.footer-social{display:flex;gap:16px;}
.footer-social a{color:#A8A296;transition:color .15s;}
.footer-social a:hover{color:#FFFDF9;}

/* ============ BACK TO TOP ============ */
.back-to-top{
  position:fixed;bottom:24px;right:24px;width:46px;height:46px;border-radius:50%;
  background:var(--pine);color:var(--paper);display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-md);border:none;cursor:pointer;opacity:0;visibility:hidden;
  transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s,background .2s;
  z-index:60;
}
.back-to-top.show{opacity:1;visibility:visible;transform:none;}
.back-to-top:hover{background:var(--pine-dark);}

@media (max-width:920px){
  .utility-left span.divider{display:none;}
  .hero .wrap{grid-template-columns:1fr;}
  .hero-visual{order:-1;max-width:340px;}
  .about .wrap{grid-template-columns:1fr;}
  .about-visual{position:static;max-width:320px;}
  .stat-row .wrap{grid-template-columns:1fr 1fr;}
  .service-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:1fr 1fr;}
  .process .wrap{grid-template-columns:1fr;}
  .process-photo{position:static;max-width:320px;}
  .contact-section .wrap{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  nav.primary{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 24px 24px;display:none;z-index:40;}
  nav.primary.open{display:flex;}
  nav.primary > ul{flex-direction:column;align-items:stretch;width:100%;gap:0;}
  nav.primary > ul > li > a{padding:14px 4px;border-bottom:1px solid var(--line);border-radius:0;}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;display:none;padding-left:12px;}
  .has-drop.open .dropdown{display:block;}
  .menu-toggle{display:block;}
  .nav-phone{display:none;}
  header.site{position:relative;}
}
@media (max-width:600px){
  .wrap{padding:0 20px;}
  .hero{padding:56px 0 64px;}
  .about,.services,.testimonials,.gallery,.contact-section{padding:72px 0;}
  .cta-band{padding:64px 0;}
  .field-row{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
  .stat-row .wrap{grid-template-columns:1fr 1fr;}
  .page-banner{height:220px;}
  .back-to-top{bottom:16px;right:16px;width:42px;height:42px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation:none !important;transition:none !important;}
  .reveal, .reveal-stagger > *{opacity:1;transform:none;}
}
