/* IDigitalAKKi Media — inner pages (v3)
   Maps the original page components onto the v3 system: tokens, Archivo,
   square corners, hairline rules, forest page headers. Light and dark. */
:root{
  --off:var(--bg); --white:var(--surface); --line:var(--rule); --line-d:var(--deep-rule);
  --teal:var(--accent); --teal-d:var(--ink); --teal-50:var(--hl); --blue:var(--ink);
  --yellow:var(--accent); --yellow-50:var(--hl); --gold:var(--accent); --emerald-text:var(--accent); --grey:var(--ink-2);
  --grad:var(--deep); --grad-dark:var(--deep);
  --shadow:none; --shadow-h:none; --r-s:2px; --r:2px; --r-l:2px;
  --font:var(--f-sans);
}
body{font-family:var(--f-sans);background:var(--bg);color:var(--ink)}
main{display:block}
.wrap{max-width:var(--max);padding-left:var(--side);padding-right:var(--side-r)}

/* type */
h1,h2,h3,h4,.h1,.h2,.h3{font-family:var(--f-sans);color:inherit;text-wrap:balance}
.h1{font-weight:750;font-size:clamp(2.6rem,6vw,5.6rem);line-height:.94;letter-spacing:-.035em}
.h2{font-weight:700;font-size:clamp(2rem,4.2vw,3.8rem);line-height:1;letter-spacing:-.03em}
.h3{font-weight:650;letter-spacing:-.015em}
.lead{color:var(--ink-2)}
.hl,.hl-y,.mark{color:var(--accent);background:none;padding:0;font-style:normal;font-weight:inherit}
.eyebrow,.eyebrow.light{font-family:var(--f-sans);font-stretch:75%;font-variation-settings:"wdth" 75;font-weight:600;font-size:.75rem;letter-spacing:.07em;color:var(--ink-2)}
.eyebrow::before{display:none}
.muted,.card p,.step p,.office p,.case p,.post p,.job p,.tl p,.price p,.tile p,.info p{color:var(--ink-2)}
.link{color:var(--ink);font-weight:600;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px}
.link:hover{color:var(--accent)}
.prose{color:var(--ink-2)}
.prose h2,.prose h3,.prose h4,.prose strong,.prose b{color:var(--ink)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose blockquote{border-left:2px solid var(--accent);color:var(--ink)}

/* buttons → v3 buttons */
.btn{min-height:52px;padding:0 20px;border-radius:2px;border:1px solid var(--ink);font-weight:600;font-size:.95rem;gap:16px;color:var(--ink);background:linear-gradient(var(--ink),var(--ink)) 0 0/0 100% no-repeat;transition:background-size .5s var(--e),color .3s,border-color .3s;box-shadow:none!important;transform:none!important}
.btn:hover{background-size:100% 100%;color:var(--bg)}
.btn--y,.btn--t,.btn--ink{background-color:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn--y:hover,.btn--t:hover,.btn--ink:hover{background-color:var(--accent);color:var(--bg);border-color:var(--ink)}
.btn--o{background-color:transparent}
.btn--ow{border-color:var(--on-deep);color:var(--on-deep);background-image:linear-gradient(var(--on-deep),var(--on-deep))}
.btn--ow:hover{color:var(--deep);border-color:var(--on-deep)}
.btn--sm{min-height:42px;padding:0 14px;font-size:.875rem}

/* page header: forest band */
.phead{background:var(--deep)!important;color:var(--on-deep);border-bottom:1px solid var(--deep-rule);--ink:var(--on-deep);--ink-2:var(--on-deep-2);--accent:var(--deep-accent);--on-accent:#0E2621}
.phead::before{display:none}
.phead .lead{color:var(--on-deep-2)}
.phead .eyebrow{color:var(--on-deep-2)}
.phead .hl,.phead .hl-y{color:var(--deep-accent)}
.phead .btn{border-color:var(--on-deep);color:var(--on-deep);background-image:linear-gradient(var(--on-deep),var(--on-deep))}
.phead .btn:hover{color:var(--deep)}
.phead .btn--y,.phead .btn--t,.phead .btn--ink{background-color:var(--on-deep);color:var(--deep);background-image:linear-gradient(var(--sage),var(--sage))}
.phead .btn--y:hover{color:var(--deep);border-color:var(--sage)}
.phead__badge{background:rgba(246,241,233,.05)!important;border:1px solid var(--deep-rule)!important;border-radius:2px;color:var(--on-deep)}
.phead__badge .check li{color:var(--on-deep)}
.crumbs,.crumbs a{color:var(--on-deep-2)!important;font-stretch:75%;font-variation-settings:"wdth" 75;font-weight:600;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}
.crumbs a:hover{color:var(--on-deep)!important}
.phead .add-b{border-color:var(--deep-rule);color:var(--on-deep-2);height:52px;padding:0 16px}
.phead .add-b:hover{border-color:var(--on-deep);color:var(--on-deep)}
.phead .add-b[aria-pressed="true"]{background:var(--deep-accent);border-color:var(--deep-accent);color:#0E2621}

/* sections */
.sec{background:var(--bg)}
.sec--white{background:var(--bg-2)}
.sec--teal,.sec--blue,.sec--dark{background:var(--deep);color:var(--on-deep);--ink:var(--on-deep);--ink-2:var(--on-deep-2);--accent:var(--deep-accent);--on-accent:#0E2621;--rule:var(--deep-rule)}
.sec--teal .lead,.sec--blue .lead,.sec--dark .lead{color:var(--on-deep-2)}
.sec--teal .btn--y,.sec--blue .btn--y,.sec--dark .btn--y{background-color:var(--on-deep);color:var(--deep);border-color:var(--on-deep);background-image:linear-gradient(var(--sage),var(--sage))}
.sec--teal .btn--y:hover,.sec--blue .btn--y:hover,.sec--dark .btn--y:hover{color:var(--deep)}
.sec--teal .btn--o,.sec--blue .btn--o,.sec--dark .btn--o,.cta .btn--o{border-color:var(--on-deep);color:var(--on-deep);background-image:linear-gradient(var(--on-deep),var(--on-deep))}
.sec--teal .btn--o:hover,.sec--blue .btn--o:hover,.sec--dark .btn--o:hover,.cta .btn--o:hover{color:var(--deep)}

/* surfaces: hairlines, square corners, no shadows */
.card,.media-card,.num li,.tile,.chips span,.stats.light .stat,.tcard,.step,.case,.leader__name,.faq details,.form-card,.info,.hours,.office,.job,.post,.toc,.prose,.cities span,.price,.disclaimer,.deck,.facts__box,.float,.hero__frame,.radios span{
  background:var(--surface)!important;border:1px solid var(--rule)!important;border-radius:2px!important;box-shadow:none!important;color:var(--ink)}
.card,.case,.post,.job{transition:border-color .3s,background .3s!important}
.card:hover,a.card:hover,.case:hover,.post:hover,.job:hover{transform:none!important;border-color:var(--ink)!important}
.card h3,.case h3,.post h3,.job h3,.office h3,.price h3,.step h4{color:var(--ink);font-weight:650;letter-spacing:-.015em}
.card__tag,.case__tag{color:var(--ink-2);font-stretch:75%;font-variation-settings:"wdth" 75;font-weight:600;letter-spacing:.07em}
.card__foot{border-top-color:var(--rule)!important}
.card__foot b{color:var(--ink)}
.card__foot .arrow{background:transparent!important;border:1px solid var(--rule-2);border-radius:2px!important;color:var(--ink)!important}
.card:hover .card__foot .arrow{background:var(--ink)!important;color:var(--bg)!important}
.ic,.card .ic,.feat .ic{background:transparent!important;border:1px solid var(--rule-2);border-radius:2px!important;color:var(--accent)!important}
.badge{background:transparent!important;border:1px solid var(--rule-2);border-radius:2px;color:var(--ink)!important}
.badge.soon{color:var(--accent)!important}
.check li{color:var(--ink)}
.check li::before{background-color:var(--accent)!important;color:var(--on-accent)!important;border-radius:2px!important}
.chips span{border-radius:2px!important}
.chips span::before{background:var(--accent);border-radius:0}
.media-card{padding:0!important}
.media-card .ratio{border-radius:0!important}
.lbox,.rail__item,.ratio.white{background:#FBF8F3!important;border:1px solid var(--rule)!important;border-radius:2px!important;box-shadow:none!important}
.feat{background:var(--deep)!important;color:var(--on-deep);border-radius:2px!important;border:1px solid var(--deep-rule)}
.feat::after{display:none}
.feat p{color:var(--on-deep-2)}
.feat .q{color:var(--deep-accent)}
.feat .btn--y{background-color:var(--on-deep);color:var(--deep);border-color:var(--on-deep);background-image:linear-gradient(var(--sage),var(--sage))}
.stat{background:transparent!important;border:0!important;border-left:1px solid var(--rule)!important;border-radius:0!important;text-align:left!important}
.stats{gap:0!important}
.stat b{font-family:var(--f-sans);font-weight:700;letter-spacing:-.045em;font-variation-settings:"wdth" 112;font-stretch:112%}
.stat b i{color:var(--accent)}
.stat span{opacity:1!important;color:var(--ink-2)}
.stats.light .stat{border:0!important;border-left:1px solid var(--rule)!important}
.stats.light .stat b{color:var(--ink)}
.tl::before{background:var(--accent);border:0;box-shadow:none;border-radius:0;width:12px;height:12px}
.tl b{color:var(--ink);font-family:var(--f-sans);font-variation-settings:"wdth" 112;font-stretch:112%}
.timeline::before{background:var(--rule-2)!important}
.step::before{background:transparent!important;border:1px solid var(--rule-2);color:var(--ink-2);border-radius:2px!important;font-weight:600}
.num li::before{background:var(--accent)!important;color:var(--on-accent)!important;border-radius:2px!important}
.cta,.cta--noir{background:var(--deep)!important;color:var(--on-deep);border:0!important;border-radius:2px!important;--ink:var(--on-deep);--ink-2:var(--on-deep-2);--accent:var(--deep-accent)}
.cta::after,.cta::before{display:none!important}
.cta p{color:var(--on-deep-2)!important}
.cta .hl,.cta .hl-y{color:var(--deep-accent)}
.cta .btn--y,.cta .btn--ink,.cta .btn--t{background-color:var(--on-deep);color:var(--deep);border-color:var(--on-deep);background-image:linear-gradient(var(--sage),var(--sage))}
.cta .btn--y:hover,.cta .btn--ink:hover,.cta .btn--t:hover{color:var(--deep)}
.office__flag{filter:grayscale(.2)}

/* forms + modal (handled by the site script) */
.field label{color:var(--ink);font-weight:600;font-size:.85rem}
.field input,.field select,.field textarea{background:var(--bg)!important;border:1px solid var(--rule-2)!important;border-radius:2px!important;color:var(--ink)!important;box-shadow:none!important}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)!important;box-shadow:0 0 0 3px var(--hl)!important;outline:none}
.radios span{color:var(--ink)!important}
.radios input:checked + span{background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)!important}
.form-ok{background:var(--hl);color:var(--ink);border-radius:2px}
.sec--teal .form-card,.sec--blue .form-card,.sec--dark .form-card{--ink:var(--ink-light,#173A33)}
.modal{background:rgba(12,30,26,.45)!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.modal__box{background:var(--surface)!important;color:var(--ink);border:1px solid var(--rule-2);border-radius:4px!important;box-shadow:0 40px 100px -30px rgba(9,26,22,.6)!important}
.modal__box .eyebrow{color:var(--ink-2)}
.modal__close{border:1px solid var(--rule);border-radius:2px!important;background:transparent!important;color:var(--ink)!important}
.thanks__box{background:var(--deep)!important;color:var(--on-deep)!important;border-radius:4px!important}
.thanks__box p{color:var(--on-deep-2)}

/* FAQ */
.faq details{border:0!important;border-bottom:1px solid var(--rule)!important;background:transparent!important;border-radius:0!important}
.faq summary{font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.faq details p{color:var(--ink-2)}

/* panther art */
.pz--card{background:var(--deep)!important;border:0!important;border-radius:2px!important}
.pz-note{border-left:2px solid var(--accent);background:var(--hl);border-radius:0;color:var(--ink)}

/* blog */
.post__img,.post img{border-radius:0}
.toc a:hover{color:var(--accent)}
.facts__list dt{color:var(--ink-2);font-stretch:75%;font-variation-settings:"wdth" 75;font-weight:600;letter-spacing:.07em}
.facts__list dd{color:var(--ink)}
.cstage{background:var(--deep)!important;border-radius:2px!important}
.strip{background:var(--surface)}

/* the old fade-in is kept (main.js drives it), just quieter */
.rv{transition-duration:.8s!important}
/* forest bands: re-point the old colour aliases so they resolve to the light-on-dark values */
.phead,.sec--teal,.sec--blue,.sec--dark,.cta,.cta--noir,.feat,.thanks__box{--teal:var(--deep-accent);--yellow:var(--deep-accent);--gold:var(--deep-accent);--emerald-text:var(--deep-accent);--teal-d:var(--on-deep);--grey:var(--on-deep-2);--line:var(--deep-rule)}
.sec--teal .hl,.sec--blue .hl,.sec--dark .hl,.sec--teal .hl-y,.sec--blue .hl-y,.sec--dark .hl-y{color:var(--deep-accent)}
.sec--teal .eyebrow,.sec--blue .eyebrow,.sec--dark .eyebrow,.cta .eyebrow{color:var(--on-deep-2)}
.sec--teal .check li,.sec--blue .check li,.sec--dark .check li{color:var(--on-deep)}
.sec--teal .card,.sec--blue .card,.sec--dark .card,.sec--teal .info,.sec--blue .info,.sec--dark .info,.sec--teal .prose,.sec--blue .prose,.sec--dark .prose{background:rgba(246,241,233,.05)!important;border-color:var(--deep-rule)!important;color:var(--on-deep);--ink:var(--on-deep);--ink-2:var(--on-deep-2);--grey:var(--on-deep-2)}
.sec--teal .card p,.sec--blue .card p,.sec--dark .card p,.sec--teal .prose p,.sec--blue .prose p,.sec--dark .prose p{color:var(--on-deep-2)}
.sec--teal .form-card,.sec--blue .form-card,.sec--dark .form-card{--ink:#173A33;--ink-2:#4A635C;--grey:#4A635C;--bg:#F6F1E9;--accent:#0F5E4A;--on-accent:#F6F1E9;--teal:#0F5E4A;--yellow:#0F5E4A;--rule:rgba(23,58,51,.16);--rule-2:rgba(23,58,51,.34);color:#173A33;background:#FBF8F3!important}

/* phones: keep cards side by side instead of one long column */
@media (max-width:640px){
  .g2,.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .g2 > *,.g3 > *,.g4 > *{min-width:0}
  .card{padding:16px!important;gap:8px!important}
  .card h3{font-size:1rem!important}
  .card p{font-size:.82rem!important;line-height:1.45}
  .card__foot{flex-direction:column;align-items:flex-start!important;gap:8px}
  .card__foot small{display:none}
  .ic{width:36px!important;height:36px!important}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stat{padding:14px 10px!important}
  .reviews{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .reviews .tcard__body{padding:10px!important}
  .reviews .tcard__body p{font-size:.75rem;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
  .reviews .tcard__who b{font-size:.75rem}.reviews .tcard__who small{font-size:.62rem}
  .timeline{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
  .tl b{font-size:1.4rem!important}.tl h4{font-size:.85rem}.tl p{font-size:.75rem}
  .check.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .chips span{font-size:.8rem;padding:8px 12px}
}
/* glass boxes on inner pages */
.card,.case,.post,.job,.office,.price,.info,.hours,.tile,.num li,.step,.form-card,.facts__box,.toc,.deck,.media-card,.stats.light .stat,.chips span,.cities span{
  background:var(--glass)!important;-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid var(--glass-edge)!important;box-shadow:var(--glass-shadow)!important;border-radius:6px!important}
.sec{background-image:radial-gradient(40% 36% at 88% 20%,rgba(15,94,74,.14),transparent 70%),radial-gradient(32% 30% at 8% 84%,rgba(201,164,58,.12),transparent 70%)}
.sec--white{background-image:radial-gradient(40% 36% at 12% 22%,rgba(15,94,74,.16),transparent 70%),radial-gradient(32% 30% at 92% 80%,rgba(201,164,58,.14),transparent 70%)}
.sec--teal .card,.sec--blue .card,.sec--dark .card,.sec--dark .info{background:rgba(246,241,233,.06)!important;border-color:rgba(246,241,233,.14)!important}
.phead h1,.sec h2.h2{display:inline-block}
