

.sections > * + *{margin-top:40px}
.section-head{max-width:72ch}
.section-head h1{margin-bottom:16px;font-size:clamp(28px,5vw,48px);hyphens:auto}
.section-head .lead{margin-top:0}



.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}

.case-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:12px}
.case-card.card{padding:24px}
.case-card h3{font-size:19px;line-height:1.3}
.case-card h3 a{color:var(--ink)}
.case-card h3 a:hover{text-decoration:underline}
.case-card__meta{color:var(--ink-3);font-size:14px;margin-bottom:8px}
.case-card__meta a{color:var(--ink-2)}
.case-card .case-card__meta{margin-bottom:0}
.case-card__nums{margin-top:0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-card__excerpt{color:var(--ink-2);font-size:15px}
.case-card .btn{justify-self:start;align-self:end}


.case-filter{display:flex;flex-wrap:wrap;gap:8px}
.case-filter a{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:14px}
.case-filter a:hover{border-color:var(--ink-3);text-decoration:none}
.case-filter a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--card)}


.case-nums{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin-bottom:0;margin-inline:0;border-top:2px solid var(--ink)}
.case-nums div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:8px;padding:24px 24px 4px;border-left:1px solid var(--line)}
.case-nums div:first-child{padding-left:0;border-left:0}
.case-nums dd{margin:0;font-size:32px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.case-nums dt{color:var(--ink-2);font-size:14px}

.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.case-body .prose>:first-child{margin-top:0}

.case-body .prose th,.case-body .prose td{overflow-wrap:normal;word-break:normal}
.case-faq{margin-top:40px}
.case-faq h2{margin-bottom:8px}
.case-aside{position:sticky;top:80px;display:grid;gap:16px}
.case-passport{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.case-passport div{padding:14px 20px}
.case-passport div + div{border-top:1px solid var(--line)}
.case-passport dt{color:var(--ink-3);font-size:13px;margin-bottom:4px}
.case-passport dd{margin:0;font-weight:600;font-size:15px;line-height:1.35}
.case-cta.card{padding:24px}
.case-cta h2{font-size:20px}
.case-cta .btn{width:100%;margin-top:16px}
.draft-banner{padding:12px 16px;border:1px solid var(--red);border-radius:var(--radius-s);background:var(--red-bg)}


.cta-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.cta-band h2{font-size:22px;max-width:36ch}
.related h2{margin-bottom:20px}


.about-hero{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}
.about-hero img{width:200px;height:200px;border-radius:var(--radius);object-fit:cover}
.about-hero h1{font-size:clamp(28px,4vw,44px);margin-bottom:20px}
.about-hero__lead{font-size:18px;line-height:1.6;max-width:var(--measure)}


.about-way__title{font-size:20px;margin:32px 0 8px}
.about-way__intro{color:var(--ink-2);font-size:16px;line-height:1.55;max-width:var(--measure);margin-bottom:20px}
.about-way{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.about-way li{padding-top:14px;border-top:2px solid var(--ink)}
.about-way h3{font-size:24px;font-weight:800;line-height:1.2;margin-bottom:8px}
.about-way p{color:var(--ink-2);font-size:15px;line-height:1.5}
.block-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:20px}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.cert-grid .cert{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:12px 12px 16px;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.cert-grid .cert:hover{border-color:var(--ink-3)}
.cert-grid .cert:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.cert-grid .cert img{width:100%;height:auto;aspect-ratio:480 / 336;object-fit:contain;border-radius:var(--radius-s);border:1px solid var(--line);margin-bottom:8px}
.cert__issuer{font-size:13px;color:var(--ink-3)}
.cert__title{font-weight:600;line-height:1.35}
.cert__note{font-size:13px;color:var(--ink-2)}


.video-grid,.review-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.video-grid{align-items:start}
.video-review.card{margin:0;padding:12px 12px 16px;display:flex;flex-direction:column;gap:12px}
.video-review video{display:block;width:100%;height:auto;border-radius:var(--radius-s);background:var(--ink)}
.video-review figcaption{display:flex;flex-direction:column;gap:2px;font-weight:600;line-height:1.35}
.video-review__niche{font-size:13px;font-weight:400;color:var(--ink-3)}

.quote-stack{align-self:stretch;display:flex;flex-direction:column;gap:16px}
.quote-review.card{flex:1;margin:0;padding:24px;display:flex;flex-direction:column;gap:14px}
.quote-review__top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;color:var(--ink-3)}
.quote-review__top .pl-stars{font-size:16px;letter-spacing:2px}
.quote-review blockquote{margin:0;font-size:17px;line-height:1.55;color:var(--ink)}

.quote-stack blockquote{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.quote-review figcaption{margin-top:auto;display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2)}
.quote-review figcaption img{flex:none;width:18px;height:18px;border-radius:5px}
.reviews-subhead{margin-top:40px;font-size:20px}
.pl-extra{margin-top:14px;font-size:14px;color:var(--ink-2)}


.hub-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px 48px;align-items:center}
.hub-hero__text{min-width:0}
.hub-hero h1{font-size:clamp(32px,4.4vw,52px);margin-bottom:20px;max-width:18ch}
.hub-hero .lead{max-width:60ch}
.hub-hero__photo{width:360px;height:360px;border-radius:var(--radius);object-fit:cover}

.hf{grid-column:1/-1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hf li{min-width:0;padding:16px 18px;background:var(--card);border-radius:var(--radius-s)}
.hf__wide{grid-column:span 2}


.about-hero + .hf{margin-top:32px}
.hf li:has(.hf__doc,.hf__link){padding:0}
.hf__doc{position:relative;display:block;width:100%;height:100%;padding:16px 44px 16px 18px;text-align:left;font:inherit;color:inherit;background:none;border:0;border-radius:inherit;cursor:zoom-in}
.hf__link{display:block;height:100%;padding:16px 18px;color:inherit;border-radius:inherit}
.hf__zoom{position:absolute;top:16px;right:16px;color:var(--blue)}
.hf__doc:hover .hf__value,.hf__link:hover .hf__value{text-decoration:underline}
.hf__value{display:block;font-size:18px;font-weight:700;line-height:1.25;color:var(--ink)}
.hf__note{display:block;margin-top:4px;font-size:14px;line-height:1.4;color:var(--ink-2)}
.hub-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-card.card{padding:24px;display:flex;flex-direction:column;gap:10px;color:var(--ink)}
.service-card:hover{border-color:var(--ink-3);text-decoration:none}
.service-card h3{font-size:18px;line-height:1.3}
.service-card p{color:var(--ink-2);font-size:15px;line-height:1.5}

.service-card__more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:600;color:var(--blue)}
.service-card__more svg{flex:none;transition:transform .15s}
.service-card:hover .service-card__more{text-decoration:underline}
.service-card:hover .service-card__more svg{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.service-card__more svg{transition:none}}
.steps{list-style:none;margin:0;padding:0;counter-reset:step;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.steps li{counter-increment:step;padding-top:16px;border-top:2px solid var(--ink)}
.steps li::before{content:counter(step);display:block;font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;margin-bottom:8px}
.steps h3{font-size:17px;margin-bottom:6px}
.steps p{color:var(--ink-2);font-size:15px;line-height:1.5}
.price.card{margin-top:24px;padding:20px 24px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px}
.price b{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.price p{color:var(--ink-2)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{padding:16px 32px 16px 0;font-weight:600;font-size:17px;cursor:pointer;list-style:none;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:20px;color:var(--ink-3)}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{padding:0 0 16px;color:var(--ink-2);max-width:var(--measure)}
.form-section.card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:48px;align-items:start}
.form-section__intro{display:flex;flex-direction:column;gap:12px}
.form-section__intro p{color:var(--ink-2)}
.messengers{display:flex;gap:8px;flex-wrap:wrap}
.messengers svg{flex:none}

.form-section .lead-form{margin-top:0}

.form-section__text{display:flex;flex-direction:column;gap:12px}
.form-section__me{display:flex;align-items:center;gap:12px;margin-top:12px}
.form-section__me img{width:56px;height:56px;border-radius:50%}
.form-section__me b{color:var(--ink)}
.form-section__next{margin-top:8px;padding-top:20px;border-top:1px solid var(--line)}
.form-section__next h3{font-size:17px;margin-bottom:12px}
.form-section__next ol{margin:0;padding-left:20px;display:grid;gap:10px;color:var(--ink-2)}

@media (max-width:1100px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


@media (max-width:900px){
  .case-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"passport" "body" "cta";gap:28px}
  .case-aside{display:contents}
  .case-body{grid-area:body}
  .case-passport{grid-area:passport}
  .case-cta{grid-area:cta}
  .case-passport{display:grid;grid-template-columns:1fr 1fr}
  .case-passport div{padding:12px 16px;border-top:1px solid var(--line)}
  .case-passport div:first-child{grid-column:1 / -1;border-top:0}
  .case-passport div:nth-child(2n+3){border-left:1px solid var(--line)}
  .case-passport div:last-child:nth-child(even){grid-column:1 / -1}
  .case-cta.card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
  .case-cta .btn{width:auto;margin-top:0}
  
  .steps{grid-template-columns:1fr;gap:0}
  .steps li{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:8px;padding:16px 0;border-top:1px solid var(--line)}
  .steps li::before{grid-row:span 2;margin:0}
  .hub-hero{grid-template-columns:1fr;gap:24px}
  .hub-hero__photo{order:-1;width:120px;height:120px}
  .hf{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-section.card{grid-template-columns:1fr;gap:24px}
  .form-section__me,.form-section__next{display:none}
  .about-way{grid-template-columns:1fr;gap:0}
  .about-way li{padding:14px 0;border-top:1px solid var(--line)}
  .about-way h3{font-size:20px;margin-bottom:4px}
}

@media (max-width:760px){
  .case-grid{grid-template-columns:1fr}
  .about-hero{grid-template-columns:1fr;gap:20px}
  .about-hero img{width:120px;height:120px}
  .about-hero__lead{font-size:17px}
}

@media (max-width:560px){
  .service-grid{grid-template-columns:1fr}
  .hf{gap:8px}
  .hf li{padding:14px}
  .hf__doc{padding:14px 40px 14px 14px}
  .hf__link{padding:14px}
  .hf__zoom{top:14px;right:14px}
  .hf__value{font-size:16px}
  .hf__note{font-size:13px}
  .case-nums{grid-auto-flow:row;grid-template-columns:1fr 1fr}
  .case-nums div{padding:18px 0 14px 16px}
  .case-nums div:nth-child(odd){padding-left:0;border-left:0}
  .case-nums div:nth-child(n+3){border-top:1px solid var(--line)}
  .case-nums dd{font-size:24px;white-space:normal}
}
