.review-banner{
  position:relative;
  z-index:60;
  background:#0a0a0c;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.review-banner-inner{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-block:10px;
}
.review-banner p{
  margin:0;
  font-size:12px;
  line-height:1.45;
  letter-spacing:.01em;
}
.review-state{
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  color:#d7d7dc;
  font-size:9px;
  font-weight:750;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.draft-hero{
  padding:clamp(82px,9vw,142px) 0 clamp(70px,8vw,118px);
}
.draft-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);
  gap:clamp(44px,7vw,110px);
  align-items:end;
}
.draft-title{
  max-width:1060px;
  margin:0;
  font-size:clamp(3.5rem,8.5vw,9rem);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:680;
}
.draft-title.compact{font-size:clamp(3.2rem,7.2vw,7.8rem)}
.draft-lede{
  max-width:720px;
  margin:34px 0 0;
  color:#4f4f54;
  font-size:clamp(1.08rem,1.75vw,1.38rem);
  line-height:1.58;
  letter-spacing:-.012em;
}
.draft-aside{
  border-top:1px solid var(--hair);
  padding-top:22px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}
.draft-aside strong{
  display:block;
  margin-bottom:9px;
  color:var(--ink);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.fact-band{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-block:1px solid var(--hair);
}
.fact{
  min-height:162px;
  padding:30px 28px;
  border-right:1px solid var(--hair);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.fact:last-child{border-right:0}
.fact strong{
  display:block;
  font-size:clamp(2.1rem,4.5vw,4.8rem);
  line-height:.96;
  letter-spacing:-.05em;
}
.fact span{
  display:block;
  margin-top:18px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.draft-section{
  padding:clamp(76px,8.5vw,132px) 0;
  border-top:1px solid var(--hair);
}
.draft-section.soft{background:var(--soft)}
.draft-section.dark{background:#09090b;color:#fff;border-color:rgba(255,255,255,.14)}
.draft-section-head{
  display:grid;
  grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);
  gap:clamp(40px,7vw,110px);
  margin-bottom:clamp(42px,6vw,82px);
}
.draft-kicker{
  margin:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.draft-heading{
  max-width:970px;
  margin:0;
  font-size:clamp(2.6rem,5.7vw,6rem);
  line-height:.98;
  letter-spacing:-.05em;
  font-weight:680;
}
.draft-section-copy{
  max-width:840px;
  margin:28px 0 0;
  color:#55555a;
  font-size:clamp(1.02rem,1.55vw,1.24rem);
  line-height:1.65;
}
.dark .draft-section-copy{color:#aaaab0}
.copy-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--hair);
  border:1px solid var(--hair);
  border-radius:20px;
  overflow:hidden;
}
.copy-card{
  min-height:250px;
  padding:clamp(28px,4vw,48px);
  background:#fff;
}
.copy-card h3{
  margin:0 0 18px;
  font-size:clamp(1.55rem,2.8vw,2.8rem);
  line-height:1.05;
  letter-spacing:-.04em;
}
.copy-card p,.copy-card li{
  color:#55555a;
  font-size:1rem;
  line-height:1.62;
}
.copy-card p{margin:0}
.copy-card ul{margin:20px 0 0;padding-left:19px}
.copy-card li+li{margin-top:9px}
.step-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.step{
  min-height:310px;
  padding:32px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:19px;
}
.step span{
  color:#8e8e95;
  font-size:10px;
  font-weight:750;
  letter-spacing:.17em;
}
.step h3{
  margin:58px 0 17px;
  font-size:clamp(1.6rem,2.8vw,2.8rem);
  line-height:1.02;
  letter-spacing:-.04em;
}
.step p{margin:0;color:#aaaab0;line-height:1.6}
.proof-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);
  gap:clamp(34px,6vw,86px);
  align-items:center;
}
.proof-visual{
  overflow:hidden;
  border-radius:22px;
  background:#e9e9eb;
}
.proof-visual img{width:100%;height:auto}
.proof-video{background:#09090b}
.proof-video iframe{
  width:100%;
  aspect-ratio:16/9;
  border:0;
  display:block;
}
.proof-copy h2{
  max-width:800px;
  margin:0;
  font-size:clamp(2.6rem,5.5vw,5.8rem);
  line-height:.96;
  letter-spacing:-.05em;
}
.proof-copy p{
  margin:28px 0 0;
  color:#55555a;
  font-size:clamp(1rem,1.55vw,1.2rem);
  line-height:1.65;
}
.proof-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.audience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.audience-card{
  padding:30px;
  border:1px solid var(--hair);
  border-radius:18px;
}
.audience-card span{
  font-size:10px;
  font-weight:750;
  letter-spacing:.17em;
  color:var(--muted);
}
.audience-card h3{
  margin:42px 0 14px;
  font-size:clamp(1.45rem,2.4vw,2.35rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
.audience-card p{margin:0;color:#55555a;line-height:1.58}
.faq-list{
  max-width:980px;
  margin-left:auto;
  border-top:1px solid var(--hair);
}
.faq-list details{border-bottom:1px solid var(--hair)}
.faq-list summary{
  padding:27px 48px 27px 0;
  position:relative;
  cursor:pointer;
  list-style:none;
  font-size:clamp(1.2rem,2.1vw,1.85rem);
  line-height:1.25;
  font-weight:650;
  letter-spacing:-.025em;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  font-size:23px;
  font-weight:400;
}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{
  max-width:820px;
  margin:0;
  padding:0 54px 28px 0;
  color:#55555a;
  line-height:1.68;
}
.price-intro{
  padding:clamp(30px,5vw,58px);
  border-radius:22px;
  background:#0a0a0c;
  color:#fff;
}
.price-intro strong{
  display:block;
  max-width:1120px;
  font-size:clamp(2rem,4.2vw,4.6rem);
  line-height:1.08;
  letter-spacing:-.045em;
}
.price-intro p{
  max-width:860px;
  margin:28px 0 0;
  color:#b4b4ba;
  line-height:1.62;
}
.price-table-wrap{
  overflow:auto;
  border:1px solid var(--hair);
  border-radius:18px;
  background:#fff;
}
.price-table{
  width:100%;
  min-width:840px;
  border-collapse:collapse;
}
.price-table th,.price-table td{
  padding:23px 22px;
  border-bottom:1px solid var(--hair);
  text-align:left;
  vertical-align:top;
  line-height:1.5;
}
.price-table tr:last-child td{border-bottom:0}
.price-table th{
  color:var(--muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.price-table td:first-child{font-weight:700}
.price-table td:nth-child(2){
  white-space:nowrap;
  font-size:1.1rem;
  font-weight:750;
}
.price-table small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
  font-weight:400;
}
.source-note{
  margin:18px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.pending-box{
  margin-top:28px;
  padding:24px 26px;
  border:1px solid var(--hair);
  border-radius:16px;
  background:#fafafa;
}
.pending-box strong{
  display:block;
  margin-bottom:9px;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.pending-box p{margin:0;color:#55555a;line-height:1.6}
.service-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.service-card{
  overflow:hidden;
  border:1px solid var(--hair);
  border-radius:20px;
  background:#fff;
}
.service-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}
.service-card div{padding:26px}
.service-card span{
  color:var(--muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.16em;
}
.service-card h3{
  margin:28px 0 12px;
  font-size:clamp(1.45rem,2.3vw,2.25rem);
  line-height:1.04;
  letter-spacing:-.04em;
}
.service-card p{margin:0;color:#55555a;line-height:1.55}
.case-hero{
  padding:clamp(82px,9vw,140px) 0;
  background:#0a0a0c;
  color:#fff;
}
.case-hero .eyebrow{color:#9f9fa6}
.case-hero h1{
  max-width:1140px;
  margin:0;
  font-size:clamp(3.6rem,9vw,9.5rem);
  line-height:.88;
  letter-spacing:-.055em;
}
.case-hero p{
  max-width:760px;
  margin:42px 0 0;
  color:#b5b5bc;
  font-size:clamp(1.05rem,1.8vw,1.4rem);
  line-height:1.6;
}
.result-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--hair);
  border-radius:20px;
  overflow:hidden;
}
.result{
  padding:34px 28px;
  border-right:1px solid var(--hair);
}
.result:last-child{border-right:0}
.result-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}
.result-grid.six .result:nth-child(3n){border-right:0}
.result-grid.six .result:nth-child(-n+3){border-bottom:1px solid var(--hair)}
.result strong{
  display:block;
  font-size:clamp(2.4rem,4.8vw,5rem);
  line-height:1;
  letter-spacing:-.055em;
}
.result span{
  display:block;
  margin-top:15px;
  color:var(--muted);
  font-size:12px;
}
.brief-grid{
  display:grid;
  grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);
  gap:clamp(42px,7vw,110px);
}
.brief-copy{max-width:900px}
.brief-copy h2{
  margin:0 0 30px;
  font-size:clamp(2.5rem,5.2vw,5.5rem);
  line-height:.98;
  letter-spacing:-.05em;
}
.brief-copy p{
  margin:0 0 24px;
  color:#444449;
  font-size:clamp(1.04rem,1.6vw,1.28rem);
  line-height:1.68;
}
.review-hub{
  padding:clamp(76px,8vw,120px) 0;
}
.review-hub h1{
  max-width:1000px;
  margin:0;
  font-size:clamp(3.5rem,8vw,8rem);
  line-height:.9;
  letter-spacing:-.055em;
}
.review-hub-lede{
  max-width:820px;
  margin:40px 0 0;
  color:#55555a;
  font-size:clamp(1.05rem,1.7vw,1.32rem);
  line-height:1.65;
}
.review-hub h1.approval-title{
  max-width:1120px;
  font-size:clamp(3.4rem,7vw,7.2rem);
}
.approval-board{
  margin-top:clamp(58px,7vw,96px);
  border-top:1px solid var(--hair);
}
.approval-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  padding:34px 0;
}
.approval-toolbar .eyebrow{margin-bottom:12px}
.approval-toolbar h2{
  margin:0;
  font-size:clamp(1.65rem,3vw,3rem);
  line-height:1;
  letter-spacing:-.04em;
}
.approval-toolbar-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
.approval-copy,.approval-jump{
  min-height:46px;
  padding:0 18px;
  border:1px solid #0a0a0c;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#0a0a0c;
  color:#fff;
  font:inherit;
  font-size:11px;
  font-weight:750;
  line-height:1;
  letter-spacing:.04em;
  text-decoration:none;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.approval-jump{
  background:#fff;
  color:#0a0a0c;
}
.approval-copy:hover,.approval-jump:hover{transform:translateY(-2px)}
.approval-columns,.approval-row{
  display:grid;
  grid-template-columns:minmax(210px,.9fr) minmax(260px,1.2fr) minmax(205px,.78fr) minmax(220px,.95fr);
}
.approval-columns{
  position:sticky;
  top:0;
  z-index:4;
  border-block:1px solid var(--hair);
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.approval-columns span{
  padding:15px 18px;
  color:var(--muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.approval-columns span+span{border-left:1px solid var(--hair)}
.approval-group{
  border-bottom:1px solid var(--hair);
}
.approval-group-title{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:clamp(46px,6vw,78px) 0 26px;
}
.approval-group-title>span{
  width:44px;
  height:44px;
  border:1px solid var(--hair);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:10px;
  font-weight:750;
  letter-spacing:.1em;
}
.approval-group-title p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:10px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.approval-group-title h2{
  max-width:900px;
  margin:0;
  font-size:clamp(2rem,4vw,4.2rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.approval-row{
  border-top:1px solid var(--hair);
  background:#fff;
}
.approval-row>div,.approval-row>fieldset,.approval-row>label{
  min-width:0;
  margin:0;
  padding:24px 18px 28px;
  border:0;
}
.approval-row>fieldset,.approval-row>label,.approval-row>.approval-current{
  border-left:1px solid var(--hair);
}
.approval-question>span{
  display:inline-flex;
  min-width:31px;
  height:25px;
  padding:0 8px;
  border:1px solid var(--hair);
  border-radius:999px;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.1em;
}
.approval-question h3{
  margin:22px 0 12px;
  font-size:clamp(1.25rem,1.7vw,1.7rem);
  line-height:1.12;
  letter-spacing:-.03em;
}
.approval-question small{
  display:block;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}
.approval-current strong,.approval-note>span{
  display:block;
  margin-bottom:13px;
  color:var(--muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.approval-current p{
  margin:0;
  color:#4f4f54;
  font-size:13px;
  line-height:1.62;
}
.approval-options legend{
  margin:0 0 12px;
  padding:0;
  color:var(--muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.approval-options label{
  min-height:40px;
  padding:8px 10px;
  border:1px solid var(--hair);
  border-radius:10px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#3f3f44;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
  cursor:pointer;
}
.approval-options label+label{margin-top:7px}
.approval-options label:has(input:checked){
  border-color:#0a0a0c;
  background:#0a0a0c;
  color:#fff;
}
.approval-options input{
  width:15px;
  height:15px;
  margin:0;
  accent-color:#0a0a0c;
}
.approval-note textarea,.approval-summary{
  width:100%;
  min-height:105px;
  padding:12px 13px;
  border:1px solid var(--hair);
  border-radius:11px;
  resize:vertical;
  background:#fafafa;
  color:#161619;
  font:inherit;
  font-size:12px;
  line-height:1.55;
}
.approval-note textarea:focus,.approval-summary:focus{
  outline:2px solid #0a0a0c;
  outline-offset:2px;
}
.approval-note textarea::placeholder{color:#97979c}
.approval-finish{
  margin-top:clamp(56px,7vw,92px);
  padding:clamp(30px,5vw,54px);
  border-radius:22px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:36px;
  background:#0a0a0c;
  color:#fff;
}
.approval-finish h2{
  margin:0;
  font-size:clamp(2rem,4.6vw,4.8rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.approval-finish p:not(.eyebrow){
  max-width:680px;
  margin:20px 0 0;
  color:#bcbcc2;
  line-height:1.6;
}
.approval-copy-large{
  flex:0 0 auto;
  border-color:#fff;
  background:#fff;
  color:#0a0a0c;
}
.approval-summary-wrap{
  margin-top:18px;
  padding:24px;
  border:1px solid var(--hair);
  border-radius:18px;
  display:block;
}
.approval-summary-wrap[hidden]{display:none}
.approval-summary-wrap>span{
  display:block;
  margin-bottom:12px;
  color:var(--muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.approval-summary{min-height:360px}
.review-drafts{
  margin-top:clamp(86px,10vw,150px);
  padding-top:clamp(56px,7vw,90px);
  border-top:1px solid var(--hair);
  scroll-margin-top:24px;
}
.review-drafts-head{
  display:grid;
  grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);
  gap:40px;
  align-items:start;
}
.review-drafts-head h2{
  max-width:900px;
  margin:0;
  font-size:clamp(2.6rem,5.7vw,6rem);
  line-height:.98;
  letter-spacing:-.05em;
}
.review-page-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:60px;
}
.review-page-card{
  min-height:250px;
  padding:30px;
  border:1px solid var(--hair);
  border-radius:20px;
  display:flex;
  flex-direction:column;
  text-decoration:none;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.review-page-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 45px rgba(0,0,0,.07);
}
.review-page-card span{
  color:var(--muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.review-page-card h2{
  margin:40px 0 12px;
  font-size:clamp(1.6rem,3vw,3rem);
  line-height:1;
  letter-spacing:-.04em;
}
.review-page-card p{margin:0;color:#55555a;line-height:1.55}
.review-page-card b{margin-top:auto;padding-top:28px;font-size:12px}
.review-checklist{
  margin-top:60px;
  padding:32px;
  border-radius:20px;
  background:#0a0a0c;
  color:#fff;
}
.review-checklist h2{margin:0 0 24px;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.04em}
.review-checklist ol{margin:0;padding-left:20px;color:#c2c2c8;line-height:1.7}
.review-checklist li+li{margin-top:8px}
.language-link{
  display:inline-flex;
  margin-top:26px;
  color:inherit;
  font-size:12px;
  font-weight:700;
  text-underline-offset:5px;
}
@media(max-width:980px){
  .draft-hero-grid,.draft-section-head,.proof-grid,.brief-grid{grid-template-columns:1fr}
  .fact-band,.result-grid,.result-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact:nth-child(2),.result:nth-child(2){border-right:0}
  .fact:nth-child(-n+2),.result:nth-child(-n+2){border-bottom:1px solid var(--hair)}
  .result-grid.six .result{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair)}
  .result-grid.six .result:nth-child(2n){border-right:0}
  .result-grid.six .result:nth-last-child(-n+2){border-bottom:0}
  .step-grid,.audience-grid,.service-cards{grid-template-columns:1fr}
  .step{min-height:0}
  .approval-columns{display:none}
  .approval-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approval-row>fieldset{border-left:0;border-top:1px solid var(--hair)}
  .approval-row>.approval-note{border-top:1px solid var(--hair)}
}
@media(max-width:640px){
  .review-banner-inner{align-items:flex-start;flex-direction:column;gap:8px;padding-block:12px}
  .review-state{padding:5px 9px}
  .draft-hero{padding:68px 0 62px}
  .draft-title,.draft-title.compact{font-size:clamp(3.1rem,15.5vw,5.4rem)}
  .fact-band,.result-grid,.result-grid.six,.copy-columns,.review-page-grid{grid-template-columns:1fr}
  .fact,.result{min-height:138px;border-right:0;border-bottom:1px solid var(--hair)}
  .fact:nth-child(2),.result:nth-child(2){border-right:0}
  .fact:last-child,.result:last-child{border-bottom:0}
  .result-grid.six .result,.result-grid.six .result:nth-child(2n),.result-grid.six .result:nth-child(3n){border-right:0;border-bottom:1px solid var(--hair)}
  .result-grid.six .result:last-child{border-bottom:0}
  .copy-card{min-height:0}
  .draft-section-head{gap:24px}
  .step,.audience-card{padding:25px}
  .step h3,.audience-card h3{margin-top:34px}
  .faq-list summary{padding:23px 40px 23px 0}
  .faq-list details p{padding-right:0}
  .price-intro{border-radius:17px}
  .service-card,.review-page-card{border-radius:16px}
  .review-hub h1.approval-title{font-size:clamp(3rem,15vw,5rem)}
  .approval-toolbar,.approval-finish{align-items:stretch;flex-direction:column}
  .approval-toolbar-actions{justify-content:flex-start}
  .approval-copy,.approval-jump{width:100%}
  .approval-row{grid-template-columns:1fr}
  .approval-row>div,.approval-row>fieldset,.approval-row>label{padding:22px 0}
  .approval-row>fieldset,.approval-row>label,.approval-row>.approval-current{
    border-left:0;
    border-top:1px solid var(--hair);
  }
  .approval-group-title{grid-template-columns:44px minmax(0,1fr);gap:14px}
  .approval-group-title>span{width:38px;height:38px}
  .approval-finish{border-radius:17px}
  .review-drafts-head{grid-template-columns:1fr;gap:22px}
}
