/* canManage — dawn/horizon design system */

:root{
  --sky: #EDEBF3;
  --sky-2: #E2DEED;
  --card: #F7F6FA;
  --ink: #23222B;
  --ink-2: #302E3B;
  --slate: #575563;
  --slate-dim: #888693;
  --line: #D7D3E2;
  --amber: #DD9C12;
  --amber-deep: #B87F0E;
  --coral: #E2735A;
  --green: #3F8F5D;

  --font-display: 'Quicksand', sans-serif;
  --font-body: 'Work Sans', sans-serif;
  --font-mono: 'Space Mono', monospace;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--sky);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}

h1,h2,h3{font-family:var(--font-display); font-weight:700; line-height:1.12; letter-spacing:-0.01em; color:var(--ink);}

.eyebrow{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size:12px;
  font-weight:700;
  color:var(--amber-deep);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{
  content:"";
  width:22px; height:4px; border-radius:4px;
  background:var(--amber);
  display:inline-block;
}

.rule{
  width:64px; height:5px; border-radius:5px;
  background:var(--amber);
  margin:20px 0 28px;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-body);
  font-size:15px;
  font-weight:600;
  padding:14px 28px;
  border-radius:999px;
  text-decoration:none;
  border:1.5px solid transparent;
  transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--amber); color:var(--ink);}
.btn-primary:hover{background:var(--amber-deep); color:#fff;}
.btn-outline{border-color:var(--ink); color:var(--ink);}
.btn-outline:hover{background:var(--ink); color:var(--sky);}
.btn-outline-light{border-color:rgba(255,255,255,0.5); color:#fff;}
.btn-outline-light:hover{background:#fff; color:var(--ink); border-color:#fff;}
.btn:focus-visible, a:focus-visible, button:focus-visible{
  outline:3px solid var(--amber-deep); outline-offset:2px;
}

/* ---------- header ---------- */
header.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(237,235,243,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 32px;
  max-width:1180px; margin:0 auto;
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
.brand img{height:64px; width:auto;}
nav.main-nav{display:flex; align-items:center; gap:36px;}
nav.main-nav ul{list-style:none; display:flex; gap:30px;}
nav.main-nav ul a{
  font-size:15px; font-weight:600; text-decoration:none; color:var(--slate);
  position:relative; padding-bottom:3px;
}
nav.main-nav ul a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:100%;
  background:var(--amber); border-radius:2px;
  transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
}
nav.main-nav ul a:hover::after, nav.main-nav ul a[aria-current="page"]::after{transform:scaleX(1);}
nav.main-nav ul a:hover, nav.main-nav ul a[aria-current="page"]{color:var(--ink);}
.header-cta{display:flex; align-items:center; gap:16px;}
.header-phone{font-family:var(--font-mono); font-size:12px; color:var(--slate); line-height:1.4;}
.header-phone a{text-decoration:none; color:var(--ink); font-weight:700;}

.nav-toggle{
  display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px;
  width:44px; height:44px; background:none; border:none; cursor:pointer; padding:0; flex:none;
}
.nav-toggle span{display:block; width:22px; height:2px; background:var(--ink); border-radius:2px; transition:transform .25s ease, opacity .25s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{
  display:none; max-height:0; overflow:hidden;
  background:var(--sky); border-bottom:1px solid var(--line);
  transition:max-height .35s ease;
}
.mobile-menu.open{max-height:420px;}
.mobile-menu ul{list-style:none; display:flex; flex-direction:column; padding:6px 32px 0;}
.mobile-menu ul li{border-bottom:1px solid var(--line);}
.mobile-menu ul a{display:block; padding:15px 0; font-size:16px; font-weight:600; text-decoration:none; color:var(--ink);}
.mobile-menu ul a[aria-current="page"]{color:var(--amber-deep);}
.mobile-menu-foot{padding:18px 32px 24px; display:flex; flex-direction:column; gap:14px;}
.mobile-menu-foot .m-phone{font-family:var(--font-mono); font-size:13px; color:var(--slate); text-decoration:none;}
.mobile-menu-foot .m-phone a{color:var(--ink); font-weight:700; text-decoration:none;}
.mobile-menu-foot .btn{width:100%; justify-content:center;}

@media (max-width:900px){
  nav.main-nav ul{display:none;}
  .header-cta{display:none;}
  .nav-toggle{display:flex;}
  .mobile-menu{display:block;}
}

/* ---------- page hero (sub-pages) ---------- */
.page-hero{padding:72px 0 56px;}
.page-hero h1{font-size:clamp(34px,4.4vw,52px); max-width:16ch;}
.page-hero p.lead{font-size:18px; color:var(--slate); max-width:56ch; margin-top:18px;}

.about-hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:center;}
@media (max-width:920px){.about-hero-grid{grid-template-columns:1fr;}}

.sunburst-wrap{display:flex; justify-content:center; align-items:center;}
.sunburst{width:100%; max-width:360px; height:auto;}

.sun-glow{
  opacity:0; transform-origin:200px 200px;
  animation:glow-pulse 1s ease-out forwards .1s, glow-breathe 4s ease-in-out infinite 1.2s;
}
@keyframes glow-pulse{ to{opacity:1;} }
@keyframes glow-breathe{
  0%, 100%{opacity:1;}
  50%{opacity:0.65;}
}

.sun-outline{
  stroke-dasharray:566; stroke-dashoffset:566;
  animation:draw-ring 1.3s cubic-bezier(.3,.85,.35,1) forwards .15s;
}
@keyframes draw-ring{ to{stroke-dashoffset:0;} }

.sun-fill{
  opacity:0; transform-origin:200px 200px; transform:scale(0.7);
  animation:fill-in .8s ease forwards 1.15s;
}
@keyframes fill-in{ to{opacity:1; transform:scale(1);} }

.ray-group{
  transform-origin:200px 200px;
  animation:slow-spin 60s linear infinite 2s;
}
@keyframes slow-spin{ to{transform:rotate(360deg);} }

.burst-ray{
  transform-origin:200px 200px; opacity:0;
  animation:ray-burst .5s cubic-bezier(.34,1.56,.64,1) forwards;
}
@keyframes ray-burst{
  from{opacity:0; transform:scale(0.2);}
  to{opacity:1; transform:scale(1);}
}

@media (prefers-reduced-motion: reduce){
  .sun-glow, .sun-outline, .sun-fill, .ray-group, .burst-ray{
    animation:none; opacity:1; transform:none; stroke-dashoffset:0;
  }
}

/* ---------- services page hero sun (radar-sweep) ---------- */
.services-hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:center;}
@media (max-width:920px){.services-hero-grid{grid-template-columns:1fr;}}

.sundial-wrap{display:flex; justify-content:center; align-items:center;}
.sundial{width:100%; max-width:360px; height:auto;}

.dial-fill{
  opacity:0; transform-origin:200px 200px; transform:scale(0.6);
  animation:dial-pop .6s cubic-bezier(.34,1.56,.64,1) forwards .05s;
}
.dial-outline{
  opacity:0; transform-origin:200px 200px; transform:scale(0.6);
  animation:dial-pop .6s cubic-bezier(.34,1.56,.64,1) forwards .05s;
}
@keyframes dial-pop{ to{opacity:1; transform:scale(1);} }

.sweep-group{
  transform-origin:200px 200px; opacity:1;
  animation:sweep-once 1.28s ease-in-out forwards, sweep-fade .3s ease forwards 1.28s;
}
@keyframes sweep-once{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
@keyframes sweep-fade{ to{opacity:0;} }

.ray-group-2{transform-origin:200px 200px;}
.tick-ray{
  transform-origin:200px 200px; opacity:0; transform:scale(0.3);
  animation:tick-in .35s cubic-bezier(.34,1.56,.64,1) forwards;
}
@keyframes tick-in{ to{opacity:1; transform:scale(1);} }

.orbit-group{
  transform-origin:200px 200px; opacity:0;
  animation:orbit-fade .6s ease forwards 1.7s, orbit-spin 22s linear infinite 2.3s;
}
@keyframes orbit-fade{ to{opacity:0.85;} }
@keyframes orbit-spin{ to{transform:rotate(360deg);} }

@media (prefers-reduced-motion: reduce){
  .dial-fill, .dial-outline, .tick-ray{animation:none; opacity:1; transform:scale(1);}
  .sweep-group{animation:none; opacity:0;}
  .orbit-group{animation:none; opacity:0.85; transform:none;}
}

/* ---------- home hero ---------- */
.hero{padding:72px 0 90px;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
.hero h1{font-size:clamp(36px,4.6vw,58px); max-width:15ch;}
.hero p.lead{font-size:18px; color:var(--slate); max-width:46ch; margin:20px 0 34px;}
.hero-ctas{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.hero-note{font-family:var(--font-mono); font-size:12px; color:var(--slate-dim); letter-spacing:0.02em;}
@media (max-width:920px){.hero-grid{grid-template-columns:1fr;} }

/* sunrise graphic */
.sunrise-wrap{display:flex; justify-content:center; align-items:center;}
.sunrise{width:100%; max-width:440px; height:auto;}
.sun-disc{transform-origin:center; animation: rise 1.4s cubic-bezier(.2,.9,.25,1) both;}
.ray{transform-origin:center; opacity:0; animation: fadein .6s ease forwards;}
.ray:nth-of-type(1){animation-delay:.9s;}
.ray:nth-of-type(2){animation-delay:.95s;}
.ray:nth-of-type(3){animation-delay:1.0s;}
.ray:nth-of-type(4){animation-delay:1.05s;}
.ray:nth-of-type(5){animation-delay:1.1s;}
.ray:nth-of-type(6){animation-delay:1.15s;}
@keyframes rise{
  0%{transform:translateY(46px);}
  100%{transform:translateY(0);}
}
@keyframes fadein{ to{opacity:1;} }
@media (prefers-reduced-motion: reduce){
  .sun-disc, .ray{animation:none; opacity:1; transform:none;}
}

/* ---------- credibility / client logo marquee ---------- */
.credibility{padding:36px 0 40px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden;}
.cred-label{
  font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:0.08em;
  color:var(--slate-dim); text-align:center; margin-bottom:26px;
}
.marquee{
  position:relative; width:100%; overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
  mask-image:linear-gradient(to right, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
}
.marquee-track{
  display:flex; align-items:center; gap:64px; width:max-content;
  animation:marquee-scroll 32s linear infinite;
}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track img{
  height:34px; width:auto; max-width:140px; object-fit:contain; flex:none;
  filter:grayscale(100%); opacity:0.55;
  transition:filter .25s ease, opacity .25s ease;
}
.marquee-track img:hover{filter:grayscale(0%); opacity:1;}
@keyframes marquee-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none;}
  .marquee{overflow-x:auto;}
}

/* ---------- section shell ---------- */
.section{padding:96px 0;}
.section.tight{padding:72px 0;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(28px,3vw,38px);}
.section-head p{color:var(--slate); font-size:16px; margin-top:14px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head.center .eyebrow{justify-content:center;}
.section-head.center .eyebrow::before{display:none;}

.section.on-ink{background:var(--ink); color:#fff;}
.section.on-ink h2, .section.on-ink h3{color:#fff;}
.section.on-ink p{color:rgba(255,255,255,0.68);}
.section.on-ink .eyebrow{color:var(--amber);}

.section.on-panel{background:var(--sky-2);}

/* ---------- testimonial carousel ---------- */
.testimonial-carousel{max-width:700px; margin:0 auto;}
.carousel-stage{position:relative; padding:0 58px;}
.carousel-viewport{overflow:hidden; border-radius:20px;}
.carousel-track{display:flex; transition:transform .55s cubic-bezier(.22,.9,.28,1);}
.carousel-slide{flex:0 0 100%; width:100%; box-sizing:border-box;}

.quote-card{
  background:var(--card); border:1px solid var(--line); border-radius:20px; padding:32px;
  position:relative; overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.quote-card:hover{transform:translateY(-6px); box-shadow:0 18px 34px -18px rgba(35,34,43,0.28);}
.carousel-slide.quote-card:hover{transform:none; box-shadow:none;}
.quote-card::before{
  content:""; position:absolute; top:-30px; right:-30px; width:90px; height:90px;
  border-radius:50%; background:radial-gradient(circle, var(--amber) 0%, rgba(221,156,18,0) 72%);
  opacity:0.55;
}
.quote-card .stat-line{
  font-family:var(--font-mono); font-size:12px; color:var(--green); letter-spacing:0.03em; margin-bottom:14px;
}
.quote-card p.q{font-size:17px; line-height:1.55; margin-bottom:20px; color:var(--ink); position:relative;}
.quote-card .attrib{font-family:var(--font-mono); font-size:12px; color:var(--slate-dim); text-transform:uppercase; letter-spacing:0.03em;}
.quote-card .attrib strong{color:var(--ink); text-transform:none; font-family:var(--font-body); font-weight:700; font-size:14px; display:block; margin-bottom:2px;}

.carousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:var(--card); border:1.5px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  color:var(--ink); cursor:pointer; z-index:5; padding:0;
  transition:background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
  box-shadow:0 10px 22px -12px rgba(35,34,43,0.3);
}
.carousel-arrow:hover{background:var(--amber); border-color:var(--amber); color:var(--ink);}
.carousel-arrow:focus-visible{outline:3px solid var(--amber-deep); outline-offset:2px;}
.carousel-arrow.prev{left:0;}
.carousel-arrow.next{right:0;}

.carousel-dots{display:flex; justify-content:center; gap:10px; margin-top:26px;}
.carousel-dot{
  width:9px; height:9px; border-radius:50%; padding:0; border:none;
  background:var(--line); cursor:pointer;
  transition:background .25s ease, transform .25s ease;
}
.carousel-dot.active{background:var(--amber); transform:scale(1.25);}
.carousel-dot:hover{background:var(--amber-deep);}

@media (max-width:640px){
  .carousel-stage{padding:0 46px;}
  .carousel-arrow{width:38px; height:38px;}
  .quote-card p.q{font-size:16px;}
}
@media (prefers-reduced-motion: reduce){
  .carousel-track{transition:none;}
}

/* ---------- service cards ---------- */
.services-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.service-card{
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); border-radius:20px; padding:34px 30px;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
.service-card:hover{transform:translateY(-6px); background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.28);}
.service-card .num{font-family:var(--font-mono); font-size:12px; color:var(--amber); margin-bottom:20px; letter-spacing:0.05em; display:inline-block; min-width:1.6em;}
.service-card h3{font-size:21px; margin-bottom:12px;}
.service-card p{font-size:15px; line-height:1.6; margin-bottom:16px;}
.service-card ul{list-style:none; display:flex; flex-direction:column; gap:8px;}
.service-card li{font-size:14px; color:rgba(255,255,255,0.75); display:flex; gap:10px; align-items:flex-start;}
.service-card li::before{content:"—"; color:var(--amber); flex:none;}
@media (max-width:1040px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.services-grid{grid-template-columns:1fr;}}

/* ---------- methodology ---------- */
.method-list{border-top:1px solid var(--line);}
.method-row{
  display:grid; grid-template-columns:180px 1fr 1.4fr; gap:28px; align-items:start;
  padding:34px 0; border-bottom:1px solid var(--line);
}
.method-row .m-num{font-family:var(--font-mono); font-size:14px; color:var(--amber-deep); font-weight:700;}
.method-row h3{font-size:21px;}
.method-row p{color:var(--slate); font-size:15px; max-width:52ch;}
@media (max-width:760px){ .method-row{grid-template-columns:1fr; gap:10px;} }

/* ---------- comparison ---------- */
.compare-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.compare-col{border-radius:20px; padding:36px;}
.compare-col.without{background:var(--card); border:1px solid var(--line);}
.compare-col.with{background:var(--ink); color:#fff;}
.compare-col h3{
  font-family:var(--font-mono); text-transform:uppercase; font-size:13px; letter-spacing:0.06em;
  margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--line);
}
.compare-col.with h3{border-bottom-color:rgba(255,255,255,0.16); color:var(--amber);}
.compare-col ul{list-style:none;}
.compare-col li{display:flex; gap:14px; padding:13px 0; font-size:15px; align-items:flex-start;}
.compare-col.with li{color:rgba(255,255,255,0.88);}
.compare-col li .ind{flex:none; width:9px; height:9px; margin-top:7px; border-radius:50%;}
.without .ind{background:var(--slate-dim);}
.with .ind{background:var(--amber);}
@media (max-width:800px){.compare-grid{grid-template-columns:1fr;}}

/* ---------- what-we-do teaser (home) ---------- */
.teaser-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.teaser-card{background:var(--card); border:1px solid var(--line); border-radius:20px; padding:30px; transition:transform .25s ease, box-shadow .25s ease;}
.teaser-card:hover{transform:translateY(-6px); box-shadow:0 18px 34px -18px rgba(35,34,43,0.22);}
.teaser-card h3{font-size:19px; margin-bottom:10px;}
.teaser-card p{color:var(--slate); font-size:15px; margin-bottom:16px;}
.teaser-card a{font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:0.04em; color:var(--amber-deep); text-decoration:none; font-weight:700;}
@media (max-width:1040px){.teaser-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.teaser-grid{grid-template-columns:1fr;}}

/* ---------- values grid (about) ---------- */
.values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.value-card{padding:26px 0; border-top:3px solid var(--amber); transition:transform .25s ease;}
.value-card:hover{transform:translateY(-4px);}
.value-card h3{font-size:17px; margin-bottom:8px;}
.value-card p{font-size:14px; color:var(--slate);}
@media (max-width:860px){.values-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.values-grid{grid-template-columns:1fr;}}

/* ---------- cta band ---------- */
.cta-band{padding:100px 0; background:var(--ink); color:#fff; text-align:center;}
.cta-band h2{font-size:clamp(30px,4vw,44px); margin-bottom:18px; color:#fff;}
.cta-band p{color:rgba(255,255,255,0.68); max-width:50ch; margin:0 auto 32px;}
.cta-band .hero-ctas{justify-content:center;}

/* ---------- contact page ---------- */
.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px;}
.contact-info .info-row{display:flex; gap:16px; padding:20px 0; border-bottom:1px solid var(--line);}
.contact-info .info-row:first-child{padding-top:0;}
.info-label{font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--slate-dim); width:110px; flex:none; padding-top:3px;}
.info-value{font-size:16px; font-weight:600;}
.info-value a{text-decoration:none; color:var(--ink);}

.contact-form{background:var(--card); border:1px solid var(--line); border-radius:20px; padding:36px;}
.form-row{margin-bottom:20px;}
.form-row label{display:block; font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.05em; color:var(--slate); margin-bottom:8px;}
.form-row input, .form-row textarea{
  width:100%; border:1.5px solid var(--line); background:#fff; border-radius:12px;
  padding:13px 16px; font-family:var(--font-body); font-size:16px; color:var(--ink);
}
.form-row input:focus, .form-row textarea:focus{outline:none; border-color:var(--amber);}
.form-row textarea{resize:vertical; min-height:120px;}
.form-note{font-size:13px; color:var(--slate-dim); margin-top:14px;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}

/* ---------- footer ---------- */

/* ---------- scroll reveal animations (About / Services / Contact) ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease;}
.reveal.visible{opacity:1; transform:translateY(0);}

.reveal-scale{opacity:0; transform:scale(.94); transition:opacity .6s ease, transform .6s ease;}
.reveal-scale.visible{opacity:1; transform:scale(1);}

.reveal-left{opacity:0; transform:translateX(-30px); transition:opacity .7s ease, transform .7s ease;}
.reveal-left.visible{opacity:1; transform:translateX(0);}

.reveal-right{opacity:0; transform:translateX(30px); transition:opacity .7s ease, transform .7s ease;}
.reveal-right.visible{opacity:1; transform:translateX(0);}

.rule-draw{width:0; overflow:hidden; transition:width .9s cubic-bezier(.2,.9,.25,1);}
.rule-draw.visible{width:64px;}

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-scale, .reveal-left, .reveal-right, .rule-draw{
    opacity:1; transform:none; transition:none; width:64px;
  }
}

/* ---------- mobile refinements ---------- */
@media (max-width:640px){
  .wrap{padding:0 20px;}
  .header-inner{padding:10px 20px;}
  .mobile-menu ul{padding:6px 20px 0;}
  .mobile-menu-foot{padding:18px 20px 22px;}

  .hero{padding:36px 0 44px;}
  .hero-grid{gap:36px;}
  .hero h1{font-size:clamp(28px,8vw,36px);}
  .hero p.lead{font-size:16px;}
  .sunrise{max-width:260px;}
  .sunburst{max-width:220px;}
  .sundial{max-width:220px;}

  .page-hero{padding:44px 0 32px;}
  .page-hero h1{font-size:clamp(26px,8vw,34px);}

  .section{padding:60px 0;}
  .section.tight{padding:44px 0;}
  .section-head{margin-bottom:36px;}
  .cta-band{padding:64px 0;}
  .cta-band h2{font-size:clamp(24px,7vw,32px);}

  .credibility{padding:28px 0 32px;}
  .marquee-track{gap:40px; animation-duration:22s;}
  .marquee-track img{height:26px; max-width:110px;}
  .marquee{
    -webkit-mask-image:linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
    mask-image:linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
  }

  .values-grid{gap:0;}
  .footer-grid{gap:28px;}
  .footer-bottom{flex-direction:column; gap:6px;}
}

@media (max-width:440px){
  .hero-ctas{flex-direction:column; align-items:stretch; gap:14px;}
  .hero-ctas .btn{width:100%; text-align:center;}
  .brand img{height:52px;}
  .sunrise{max-width:200px;}
  .sunburst{max-width:170px;}
  .sundial{max-width:170px;}
  .quote-card, .teaser-card, .contact-form, .service-card{padding:24px;}
  .compare-col{padding:26px;}
  .method-row{padding:26px 0;}
  .contact-info .info-row{flex-direction:column; gap:4px;}
  .info-label{width:auto;}
}
footer{padding:56px 0 40px; background:var(--ink); color:rgba(255,255,255,0.85);}
.footer-grid{display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap;}
.footer-brand img{height:60px; margin-bottom:16px;}
.footer-brand p{font-size:13px; color:rgba(255,255,255,0.5); max-width:32ch;}
.footer-col h4{font-family:var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:rgba(255,255,255,0.45); margin-bottom:14px;}
.footer-col a, .footer-col p{font-size:14px; color:rgba(255,255,255,0.85); text-decoration:none; display:block; margin-bottom:8px;}
.footer-col a:hover{color:var(--amber);}
.footer-bottom{margin-top:48px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.14); font-family:var(--font-mono); font-size:12px; color:rgba(255,255,255,0.4); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}
