/* ============================================================
   Inner pages
   Reuses the design tokens and base components from styles.css.
   ============================================================ */

/* ---------- shell ---------- */
.site-head--solid{
  position:sticky;
  top:0;
  background:var(--night);
  color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}

.wrap{
  width:min(100% - 2.5rem, 1200px);
  margin-inline:auto;
}

main{display:block;background:var(--paper)}

/* ---------- nav dropdown ---------- */
.nav-drop{position:relative}
.nav-drop-toggle{
  display:flex;
  align-items:center;
  gap:.4em;
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
.nav-drop-toggle svg{width:.7em;height:.7em;transition:transform .2s}
.nav-drop.open .nav-drop-toggle svg{transform:rotate(180deg)}
.nav .nav-drop-menu{
  position:absolute;
  top:calc(100% + .9rem);
  right:0;
  left:auto;
  z-index:30;
  display:none;
  min-width:250px;
  max-width:calc(100vw - 2rem);
  padding:.55rem;
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 20px 45px -22px rgba(0,0,0,.6);
  gap:.15rem;
  align-items:stretch;
}
.nav .nav-drop.open .nav-drop-menu{display:grid}
.nav .nav-drop-menu a{
  display:block;
  padding:.65em .8em;
  border-radius:8px;
  font-size:max(15px, calc(18 * var(--u)));
  font-weight:550;
  text-decoration:none;
}
.nav .nav-drop-menu a:hover{background:#F4F4FA}
[hidden]{display:none!important}

/* ---------- hero ---------- */
.page-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(3.5rem, 7vw, 6.5rem) 0;
  background:var(--night);
  color:#fff;
}
.page-hero::after{
  content:"";
  position:absolute;
  right:-8vw;
  bottom:-28vw;
  width:52vw;
  height:52vw;
  max-width:760px;
  max-height:760px;
  border:2px solid rgba(250,244,11,.22);
  border-radius:50%;
  pointer-events:none;
}
.page-hero .wrap{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(0, .88fr);
  gap:clamp(2rem, 6vw, 5rem);
  align-items:center;
}
.page-hero--plain .wrap{
  display:block;
  max-width:880px;
  text-align:center;
}
.page-hero--compact{padding:clamp(2.8rem, 5vw, 4.5rem) 0}
.page-hero__copy{max-width:760px}
.page-hero .eyebrow{margin-bottom:1rem}
.page-hero h1{
  font-family:var(--head);
  font-weight:800;
  font-size:clamp(2.45rem, 5.4vw, 5.2rem);
  line-height:1.02;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.page-hero .lead{
  max-width:38em;
  margin-top:1.1em;
  color:#D8DAFF;
  font-size:clamp(1.05rem, 1.55vw, 1.35rem);
  line-height:1.55;
  font-weight:420;
  text-wrap:pretty;
}
.page-hero--plain .lead{margin-inline:auto}
.page-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:2rem;
}
.page-hero--plain .page-hero__actions{justify-content:center}
.page-hero__media{
  position:relative;
  justify-self:end;
  width:100%;
  max-width:500px;
}
.page-hero__media img,
.page-hero__media video{
  display:block;
  width:100%;
  height:auto;
  border-radius:20px;
  background:#0d0f32;
  box-shadow:12px 14px 0 var(--hi);
}
.page-hero__media--wide{max-width:620px}
.page-hero__caption{
  margin-top:1.2rem;
  color:#B9BCEB;
  font-size:.9rem;
  line-height:1.45;
}

.btn--ghost{
  background:transparent;
  color:#fff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.55);
}
.btn--ghost:hover{background:rgba(255,255,255,.09)}
.btn--night{background:var(--night);color:#fff}
.btn--light{background:#fff;color:var(--night)}
.btn--outline-dark{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--night)}
.btn--play{
  background:none;
  color:var(--ink);
  padding:0;
  box-shadow:none;
  line-height:0;
}
.btn--play img{display:block;width:180px;max-width:100%;height:auto;border-radius:8px}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55em;
  font-size:clamp(.78rem, .95vw, .9rem);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#D8DAFF;
}
.eyebrow::before{
  content:"";
  width:.7em;
  height:.7em;
  border-radius:.15em;
  background:var(--hi);
  transform:rotate(-8deg);
}
.page-section .eyebrow{color:#5254EB}
.page-section--night .eyebrow,
.page-section--orange .eyebrow{color:#fff}
.page-section--night .eyebrow::before,
.page-section--orange .eyebrow::before{background:var(--hi)}

/* ---------- sections ---------- */
.page-section{padding:clamp(3.2rem, 7vw, 6rem) 0}
.page-section--tight{padding:clamp(2.4rem, 5vw, 4rem) 0}
.page-section--tint{background:#F5F5FA}
.page-section--night{background:var(--night);color:#fff}
.page-section--yellow{background:var(--sun)}
.page-section--orange{background:var(--orange);color:#fff}
.page-section--green{background:#1B5C4A;color:#fff}
.page-section--paper{background:#fff}

.section-head{
  max-width:760px;
  margin:0 auto clamp(2rem, 4vw, 3rem);
  text-align:center;
}
.section-head--left{margin-inline:0;text-align:left}
.section-head h2{
  margin-top:.5em;
  font-family:var(--head);
  font-weight:800;
  font-size:clamp(1.95rem, 4vw, 3.5rem);
  line-height:1.06;
  letter-spacing:-.02em;
  text-wrap:balance;
}
.section-head p{
  margin-top:.8em;
  color:#555;
  font-size:clamp(1rem, 1.25vw, 1.18rem);
  line-height:1.6;
  text-wrap:pretty;
}
.page-section--night .section-head p,
.page-section--green .section-head p,
.page-section--orange .section-head p{color:rgba(255,255,255,.82)}

/* ---------- generic grid + cards ---------- */
.grid{display:grid;gap:1.25rem}
.grid--2{grid-template-columns:repeat(2, minmax(0, 1fr))}
.grid--3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.grid--4{grid-template-columns:repeat(4, minmax(0, 1fr))}
.grid--stretch{align-items:stretch}

.card{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  padding:clamp(1.35rem, 2.5vw, 2rem);
  border:1.5px solid #E7E7EF;
  border-radius:22px;
  background:#fff;
  box-shadow:6px 7px 0 var(--hi);
}
.card--plain{box-shadow:6px 7px 0 #E4E4EC}
.card--night{background:var(--night);color:#fff;border-color:var(--night);box-shadow:6px 7px 0 var(--hi)}
.card h3{
  font-family:var(--head);
  font-size:clamp(1.2rem, 1.6vw, 1.55rem);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.015em;
}
.card p{color:#4a4a4a;font-size:1rem;line-height:1.6}
.card--night p{color:rgba(255,255,255,.82)}
.card__icon{
  display:grid;
  place-items:center;
  width:2.9rem;
  height:2.9rem;
  border-radius:12px;
  background:var(--hi);
  color:var(--ink);
  font-weight:800;
}
.card__icon svg{width:1.35rem;height:1.35rem}

/* ---------- split media ---------- */
.split{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(2rem, 5vw, 4rem);
  align-items:center;
}
.split + .split{margin-top:clamp(2.5rem, 5vw, 4.5rem)}
.split--reverse .split__media{order:2}
.split--reverse .split__body{order:1}
.split__body h2{
  font-family:var(--head);
  font-weight:800;
  font-size:clamp(1.8rem, 3.4vw, 3rem);
  line-height:1.07;
  letter-spacing:-.02em;
}
.split__body .lead{margin-top:1em}
.split__body p + p{margin-top:1em}
.media-frame{
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  box-shadow:10px 12px 0 var(--hi);
}
.media-frame img,
.media-frame video{
  display:block;
  width:100%;
  height:auto;
}
.media-frame--cover img{aspect-ratio:4 / 3;object-fit:cover}
.media-frame--tall img{aspect-ratio:3 / 3.6;object-fit:cover}
.page-section--night .media-frame,
.page-section--green .media-frame{box-shadow:10px 12px 0 rgba(250,244,11,.85)}

/* ---------- stats ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1rem}
.stat-grid--4{grid-template-columns:repeat(4, minmax(0, 1fr))}
.stat-card{
  padding:1.4rem 1.2rem;
  border:1.5px solid #E7E7EF;
  border-radius:20px;
  background:#fff;
  text-align:center;
}
.stat-card b{
  display:block;
  font-family:var(--head);
  font-size:clamp(2rem, 4vw, 3.5rem);
  font-weight:800;
  line-height:1;
  letter-spacing:-.03em;
  color:#1F3A8F;
}
.stat-card span{
  display:block;
  margin-top:.55rem;
  color:#555;
  font-size:.92rem;
  line-height:1.35;
  font-weight:600;
}

/* ---------- process ---------- */
.process{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.25rem;
  counter-reset:process;
}
.process--4{grid-template-columns:repeat(4, minmax(0, 1fr))}
.process__item{
  position:relative;
  padding:2.4rem 1.5rem 1.5rem;
  border:1.5px solid #E7E7EF;
  border-radius:20px;
  background:#fff;
}
.process__item::before{
  counter-increment:process;
  content:counter(process);
  position:absolute;
  top:-.9rem;
  left:1.5rem;
  display:grid;
  place-items:center;
  width:2.2rem;
  height:2.2rem;
  border-radius:50%;
  background:var(--night);
  color:#fff;
  font-family:var(--head);
  font-weight:800;
  font-size:1rem;
}
.process__item h3{
  font-family:var(--head);
  font-size:1.18rem;
  font-weight:800;
  letter-spacing:-.01em;
  line-height:1.2;
}
.process__item p{margin-top:.5rem;color:#4a4a4a;font-size:.98rem;line-height:1.6}

/* ---------- lists ---------- */
.tick-list{display:grid;gap:.7rem}
.tick-list li{
  display:grid;
  grid-template-columns:1.25em minmax(0, 1fr);
  gap:.55em;
  align-items:start;
  color:#3d3d3d;
  font-size:1rem;
  line-height:1.55;
}
.tick-list li::before{
  content:"✓";
  color:var(--orange);
  font-weight:800;
  line-height:1.5;
}
.page-section--night .tick-list li,
.page-section--green .tick-list li{color:rgba(255,255,255,.86)}
.page-section--night .tick-list li::before,
.page-section--green .tick-list li::before{color:var(--hi)}

/* ---------- quote ---------- */
.quote{
  margin:0;
  padding:1.5rem 1.6rem;
  border-left:6px solid var(--orange);
  border-radius:0 16px 16px 0;
  background:#fff;
  box-shadow:6px 7px 0 #E4E4EC;
  color:#333;
}
.quote p{font-size:1.02rem;line-height:1.65;font-style:italic}
.quote footer{margin-top:1rem;font-size:.92rem;font-weight:650;color:#333;font-style:normal}

/* ---------- galleries ---------- */
.gallery{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(260px, 1fr);
  gap:1rem;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline mandatory;
  padding:.25rem .25rem 1rem;
  scrollbar-width:thin;
}
.gallery > *{
  scroll-snap-align:start;
  margin:0;
}
.gallery img{
  display:block;
  width:100%;
  height:clamp(220px, 26vw, 320px);
  object-fit:cover;
  border-radius:16px;
  background:#e8e8f0;
}
.gallery--paper img{object-fit:contain;background:#fff;border:1.5px solid #E7E7EF}
.gallery-note{margin-top:.3rem;color:#666;font-size:.9rem}

/* ---------- pricing ---------- */
.pricing-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.6rem;
}
.page-hero--plain .pricing-badges{justify-content:center}
.badge{
  display:inline-flex;
  align-items:center;
  gap:.45em;
  padding:.48em .9em;
  border-radius:999px;
  font-size:.9rem;
  font-weight:650;
  line-height:1.2;
}
.badge--warn{background:#FFE68A;color:#3a3000}
.badge--info{background:#E9EAFF;color:#3B3DC4}
.badge--success{background:#DDF6E6;color:#12643A}

.region-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.8rem 1.2rem;
  margin-bottom:2rem;
}
.region-bar label{font-weight:700;font-size:.95rem}
.select-wrap{position:relative}
.select-wrap select{
  appearance:none;
  min-height:48px;
  padding:.7rem 2.8rem .7rem 1rem;
  border:1.5px solid #CFCFDD;
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.select-wrap::after{
  content:"▾";
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  color:#555;
}
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.25rem;
  align-items:stretch;
}
.pricing-card{
  display:flex;
  flex-direction:column;
  padding:clamp(1.5rem, 2.5vw, 2.2rem);
  border:1.5px solid #E7E7EF;
  border-radius:24px;
  background:#fff;
  box-shadow:6px 7px 0 #E4E4EC;
}
.pricing-card--featured{
  border-color:var(--night);
  background:var(--night);
  color:#fff;
  box-shadow:8px 9px 0 var(--hi);
  transform:translateY(-.45rem);
}
.pricing-card h2{
  font-family:var(--head);
  font-size:1.45rem;
  font-weight:800;
  letter-spacing:-.015em;
}
.price-row{margin:1rem 0 .3rem}
.price{
  font-family:var(--head);
  font-size:clamp(2.2rem, 4vw, 3.2rem);
  font-weight:800;
  line-height:1;
  letter-spacing:-.03em;
  color:#1F3A8F;
}
.pricing-card--featured .price{color:var(--hi)}
.price--text{font-size:clamp(1.55rem, 2.4vw, 2.2rem);line-height:1.1}
.price s{color:#8a8a98;font-size:.55em;font-weight:600}
.pricing-card--featured .price s{color:rgba(255,255,255,.55)}
.period{display:block;margin-top:.35rem;color:#666;font-size:.9rem}
.pricing-card--featured .period{color:rgba(255,255,255,.72)}
.pricing-card .badge{align-self:flex-start;margin-top:.8rem}
.pricing-features{
  flex:1;
  margin-top:1.4rem;
  padding-top:1.2rem;
  border-top:1.5px solid #E7E7EF;
}
.pricing-card--featured .pricing-features{border-color:rgba(255,255,255,.2)}
.pricing-features ul{display:grid;gap:.65rem}
.pricing-features li{
  display:grid;
  grid-template-columns:1.15em minmax(0, 1fr);
  gap:.5em;
  color:#444;
  font-size:.95rem;
  line-height:1.45;
}
.pricing-features li::before{content:"✓";color:var(--orange);font-weight:800}
.pricing-card--featured .pricing-features li{color:rgba(255,255,255,.88)}
.pricing-card--featured .pricing-features li::before{color:var(--hi)}
.pricing-card .btn{margin-top:1.5rem;text-align:center}

/* ---------- contact ---------- */
.contact-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:clamp(1.5rem, 4vw, 3rem);
  align-items:start;
}
.map-frame{
  position:relative;
  overflow:hidden;
  border:1.5px solid #E7E7EF;
  border-radius:20px;
  background:#F0F4FF;
  box-shadow:6px 7px 0 #E4E4EC;
}
.map-frame img{display:block;width:100%;height:auto}
.pin{
  position:absolute;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.2rem;
  color:#C72A3A;
  font-size:.78rem;
  font-weight:700;
}
.pin::before{
  content:"";
  width:.8rem;
  height:.8rem;
  border:3px solid #fff;
  border-radius:50% 50% 50% 0;
  background:#C72A3A;
  transform:rotate(-45deg);
  box-shadow:0 1px 3px rgba(0,0,0,.3);
}
.pin span{
  padding:.15em .45em;
  border-radius:4px;
  background:rgba(255,255,255,.92);
  box-shadow:0 1px 3px rgba(0,0,0,.16);
}
.pin--ams{top:28%;left:37%}
.pin--ahm{top:38%;right:24%}
.contact-block + .contact-block{margin-top:1.6rem}
.contact-block h2,
.contact-block h3{
  font-family:var(--head);
  font-weight:800;
  font-size:1.15rem;
  letter-spacing:-.01em;
  margin-bottom:.45rem;
}
.contact-block p,
.contact-block address{
  color:#444;
  font-size:.98rem;
  line-height:1.6;
  font-style:normal;
}
.contact-block a{font-weight:600}
.contact-inline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.contact-inline img{width:1rem;height:1rem}
.contact-form{
  padding:clamp(1.3rem, 2.5vw, 2rem);
  border:1.5px solid #E7E7EF;
  border-radius:22px;
  background:#fff;
  box-shadow:6px 7px 0 var(--hi);
}
.field{display:grid;gap:.4rem;margin-bottom:1rem}
.field label{font-size:.93rem;font-weight:650}
.field input,
.field textarea{
  width:100%;
  padding:.85rem 1rem;
  border:1.5px solid #D8D8E2;
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:1rem;
  line-height:1.45;
}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,
.field textarea:focus{outline:3px solid rgba(82,84,235,.28);outline-offset:1px;border-color:#5254EB}
.form-row{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1rem}
.form-status{margin-top:1rem;padding:.9rem 1rem;border-radius:10px;font-size:.95rem;line-height:1.5}
.form-status:empty{display:none}
.form-status--ok{background:#DDF6E6;color:#12643A}
.form-status--error{background:#FDE4E7;color:#8D1F2C}
.contact-form .btn{width:100%;border:0;cursor:pointer;font:inherit;font-weight:650}

/* ---------- blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5rem}
.blog-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1.5px solid #E7E7EF;
  border-radius:22px;
  background:#fff;
  box-shadow:6px 7px 0 #E4E4EC;
}
.blog-card__img{
  display:block;
  aspect-ratio:16 / 10;
  background-color:#E9ECF5;
  background-position:center;
  background-size:cover;
}
.blog-card__body{display:flex;flex:1;flex-direction:column;gap:.75rem;padding:1.3rem}
.blog-card__body h2{
  font-family:var(--head);
  font-size:1.2rem;
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.01em;
}
.blog-card__body p{flex:1;color:#555;font-size:.96rem;line-height:1.55}
.blog-card__body .btn{align-self:flex-start;margin-top:.4rem}

.article-hero{
  padding:clamp(3rem, 6vw, 5rem) 0;
  background:var(--night);
  color:#fff;
}
.article-hero .wrap{max-width:940px}
.article-hero h1{
  font-family:var(--head);
  font-weight:800;
  font-size:clamp(2rem, 4.4vw, 3.8rem);
  line-height:1.06;
  letter-spacing:-.02em;
  text-wrap:balance;
}
.article-meta{margin-top:1.2rem;color:#C6C8ED;font-size:.95rem;line-height:1.6}
.article-meta time{font-weight:600;color:#fff}
.back-link{
  display:inline-flex;
  align-items:center;
  gap:.45em;
  margin-bottom:1.4rem;
  color:#D8DAFF;
  font-size:.9rem;
  font-weight:650;
  text-decoration:none;
}
.back-link:hover{text-decoration:underline;text-underline-offset:.25em}
.article-body{
  width:min(100% - 2.5rem, 820px);
  margin-inline:auto;
  padding:clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3.5rem, 6vw, 5rem);
}
.article-body > * + *{margin-top:1.35rem}
.article-body div > * + *{margin-top:1.35rem}
.article-body h2{
  margin-top:2.6rem;
  font-family:var(--head);
  font-size:clamp(1.5rem, 2.4vw, 2rem);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.015em;
}
.article-body h3{
  margin-top:2rem;
  font-family:var(--head);
  font-size:clamp(1.2rem, 1.8vw, 1.5rem);
  font-weight:800;
  line-height:1.25;
}
.article-body p,
.article-body li{color:#3D3D3D;font-size:1.06rem;line-height:1.75}
.article-body ul,
.article-body ol{padding-left:1.4rem}
.article-body ul{list-style:disc}
.article-body ol{list-style:decimal}
.article-body li + li{margin-top:.45rem}
.article-body a{color:#3B3DC4;text-decoration:underline;text-underline-offset:.18em}
.article-body strong{color:var(--ink);font-weight:700}
.article-body blockquote{
  margin:2rem 0;
  padding:1.3rem 1.5rem;
  border-left:6px solid var(--orange);
  border-radius:0 16px 16px 0;
  background:#F6F6FC;
}
.article-body blockquote p{margin:0;font-size:1.08rem;line-height:1.65;font-style:italic}
.article-body figure{margin:2.2rem 0;text-align:center}
.article-body figure img{
  display:block;
  width:100%;
  height:auto;
  border-radius:16px;
  box-shadow:0 18px 40px -30px rgba(0,0,0,.5);
}
.article-body figcaption{margin-top:.7rem;color:#666;font-size:.88rem;font-style:italic}
.article-body img{max-width:100%;height:auto}

/* ---------- policy / prose ---------- */
.policy{
  width:min(100% - 2.5rem, 900px);
  margin-inline:auto;
  padding:clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3.5rem, 6vw, 5rem);
}
.policy > * + *{margin-top:1.15rem}
.policy h2{
  margin-top:2.4rem;
  font-family:var(--head);
  font-size:clamp(1.45rem, 2.4vw, 1.95rem);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.015em;
}
.policy h3{
  margin-top:2rem;
  font-family:var(--head);
  font-size:clamp(1.15rem, 1.8vw, 1.38rem);
  font-weight:800;
  line-height:1.25;
}
.policy p,
.policy li{color:#3D3D3D;font-size:1rem;line-height:1.75}
.policy ul{list-style:disc;padding-left:1.4rem}
.policy li + li{margin-top:.4rem}
.policy h2 + *,
.policy h3 + *,
.policy p + p,
.policy p + ul,
.policy ul + p,
.policy ul + h3{margin-top:.9rem}
.policy a{color:#3B3DC4;text-decoration:underline;text-underline-offset:.18em}
.policy strong{color:var(--ink)}
.policy .updated{color:#666;font-size:.93rem}
.policy .policy-section + .policy-section{margin-top:1.8rem}

/* ---------- footer depth ---------- */
.foot .fgroup + .fgroup{margin-top:1.9rem}
.foot .fgroup h4:first-child{margin-top:0}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .page-hero::after{display:none}
  .page-hero .wrap{grid-template-columns:minmax(0, 1fr);gap:2rem}
  .page-hero__media{justify-self:start;max-width:520px}
  .page-hero__media img,
  .page-hero__media video{box-shadow:9px 10px 0 var(--hi)}
  .page-hero h1{font-size:clamp(2.2rem, 10vw, 3.4rem)}
  .page-hero .lead{font-size:1.05rem}
  .page-hero__actions{gap:.65rem}
  .page-hero__actions .btn{min-height:48px}

  .grid--2,
  .grid--3,
  .grid--4,
  .split,
  .stat-grid,
  .stat-grid--4,
  .process,
  .process--4,
  .pricing-grid,
  .blog-grid,
  .contact-layout{grid-template-columns:minmax(0, 1fr)}
  .split--reverse .split__media{order:0}
  .split--reverse .split__body{order:0}
  .pricing-card--featured{transform:none}
  .pricing-card .btn{min-height:48px}
  .form-row{grid-template-columns:minmax(0, 1fr);gap:0}
  .contact-form .btn{min-height:48px}
  .gallery{grid-auto-columns:minmax(78%, 1fr)}
  .gallery img{height:240px}
  .article-body p,
  .article-body li{font-size:1rem}
  .article-body ul,
  .article-body ol{padding-left:1.2rem}
  .policy ul{padding-left:1.2rem}

  .nav-drop-toggle{
    width:100%;
    min-height:52px;
    justify-content:space-between;
    padding:.4rem .2rem;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .nav .nav-drop-menu{
    position:static;
    min-width:0;
    max-width:none;
    padding:0 0 .35rem 1rem;
    border-radius:0;
    background:transparent;
    color:#D8DAFF;
    box-shadow:none;
  }
  .nav .nav-drop-menu a{
    display:flex;
    align-items:center;
    min-height:46px;
    border-bottom:1px solid rgba(255,255,255,.08);
    border-radius:0;
    font-size:1rem;
  }
  .nav .nav-drop-menu a:hover{background:transparent;text-decoration:underline;text-underline-offset:.25em}
}

@media (max-width:600px){
  .wrap{width:calc(100% - 2rem)}
  .page-section{padding:2.8rem 0}
  .page-hero{padding:2.6rem 0 3.2rem}
  .page-hero__actions{flex-direction:column;align-items:stretch}
  .page-hero__actions .btn{text-align:center}
  .page-hero__actions .btn--play{align-self:flex-start}
  .price{font-size:2.4rem}
  .quote{padding:1.2rem 1.25rem}
  .stat-card{padding:1.2rem 1rem}
  .pin{font-size:.68rem}
}

@media (prefers-reduced-motion:reduce){
  .nav-drop-toggle svg{transition:none}
}
