:root{
  
  --brand:#2E2721;        
  --brand-dk:#1A1613;     
  --brand-lt:#F5F1EA;     
  --accent:#FFFFFF;       

  --ink:#2A241D;          
  --ink-soft:#736A5E;
  --bg:#FFFFFF;
  --bg-soft:#F8F5F0;
  --line:#E7E0D5;

  
  --r:18px;
  --r-sm:12px;
  --r-pill:999px;

  
  --sh:0 1px 2px rgba(46,39,33,.06), 0 6px 16px rgba(46,39,33,.08);
  --sh-hi:0 2px 6px rgba(46,39,33,.10), 0 16px 34px rgba(46,39,33,.14);

  --wrap:1120px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  
  font-family:'Noto Sans KR','Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,
              system-ui,'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif;
  font-size:17px;
  line-height:1.72;
  word-break:keep-all;      
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 20px; }

.top{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
.top .wrap{ display:flex; align-items:center; justify-content:space-between; height:60px; }

.logo{ display:flex; align-items:baseline; gap:7px; font-weight:800; font-size:23px; letter-spacing:-.02em; }
.logo b{ color:var(--brand); }
.logo span{ font-size:12px; font-weight:600; color:var(--ink-soft); letter-spacing:0; }

.nav{ display:none; }        
.top-call{
  background:var(--brand); color:#fff; font-weight:700; font-size:15px;
  padding:9px 16px; border-radius:var(--r-pill);
}

.hero{
  background:var(--brand);
  color:#fff;
  padding:52px 0 60px;
  position:relative;
  overflow:hidden;
}

.hero::after{
  content:''; position:absolute; top:-140px; right:-110px;
  width:340px; height:340px; border-radius:50%;
  background:rgba(255,255,255,.08);
}
.hero .wrap{ position:relative; z-index:1; }

.hero-tag{
  display:inline-block; margin:0 0 20px;
  background:rgba(255,255,255,.16); color:#fff;
  font-size:13.5px; font-weight:700;
  padding:7px 14px; border-radius:var(--r-pill);
}

.hero-big{
  margin:0 0 18px;
  font-size:44px; line-height:1.22; font-weight:800; letter-spacing:-.035em;
}

.hero-big{ color:rgba(255,255,255,.52); }
.hero-big em{ font-style:normal; color:#fff; }

.hero h1{
  margin:0 0 14px;
  font-size:17.5px; font-weight:700; line-height:1.6;
  color:rgba(255,255,255,.95); letter-spacing:-.01em;
}
.hero-sub{ margin:0 0 28px; font-size:16px; color:rgba(255,255,255,.86); }

.hero-btns{ display:flex; flex-direction:column; gap:10px; }
.btn{
  display:flex; align-items:center; justify-content:center; gap:8px;
  height:56px; border-radius:var(--r); font-size:17.5px; font-weight:700;
}
.btn-accent{ background:var(--accent); color:var(--brand-dk); }
.btn-line{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5); }

.sec{ padding:56px 0; }
.sec-soft{ background:var(--bg-soft); }

.sec-head{ margin:0 0 28px; }
.sec-eyebrow{
  display:block; margin:0 0 8px;
  font-size:13px; font-weight:800; letter-spacing:.06em; color:var(--brand);
}
.sec h2{ margin:0 0 10px; font-size:27px; line-height:1.34; font-weight:800; letter-spacing:-.03em; }
.sec-lead{ margin:0; font-size:16.5px; color:var(--ink-soft); }

.items{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.item{
  background:var(--bg); border:1px solid var(--line); border-radius:var(--r);
  padding:18px 16px 20px;
}
.item .num{
  display:inline-block; margin:0 0 10px;
  font-size:12px; font-weight:800; color:var(--brand);
  background:var(--brand-lt); padding:4px 9px; border-radius:var(--r-pill);
}
.item h3{ margin:0 0 6px; font-size:17.5px; font-weight:700; letter-spacing:-.02em; }
.item p{ margin:0; font-size:14.5px; line-height:1.62; color:var(--ink-soft); }

.points{ display:grid; gap:14px; }
.point{
  background:var(--bg); border:1px solid var(--line);
  border-radius:var(--r); padding:22px 20px;
}
.point .big{
  margin:0 0 8px;
  font-size:34px; font-weight:800; color:var(--brand);
  letter-spacing:-.03em; line-height:1.1;
}
.point h3{ margin:0 0 6px; font-size:18px; font-weight:700; letter-spacing:-.02em; }
.point p{ margin:0; font-size:15.5px; color:var(--ink-soft); }

.area{
  background:var(--brand-lt); border-radius:var(--r);
  padding:22px 20px; text-align:center;
}
.area strong{ display:block; margin:0 0 6px; font-size:19px; font-weight:800; color:var(--brand-dk); }
.area p{ margin:0; font-size:15px; color:var(--ink-soft); }

.cta{ background:var(--ink); color:#fff; padding:52px 0; text-align:center; }
.cta h2{ margin:0 0 10px; font-size:26px; font-weight:800; letter-spacing:-.03em; }
.cta p{ margin:0 0 24px; font-size:16px; color:rgba(255,255,255,.72); }
.cta .btn-accent{ max-width:340px; margin:0 auto; }

.foot{ padding:30px 0 40px; font-size:13.5px; color:var(--ink-soft); }
.foot .logo{ margin:0 0 10px; font-size:19px; }
.foot p{ margin:0 0 4px; }

@media (min-width:721px){
  body{ font-size:18px; }
  .wrap{ padding:0 32px; }

  .top .wrap{ height:72px; }
  .logo{ font-size:26px; }
  .nav{ display:flex; gap:30px; font-size:17px; font-weight:600; }
  .nav a:hover{ color:var(--brand); }
  .top-call{ font-size:16px; padding:11px 20px; }

  .hero{ padding:96px 0 104px; }
  .hero::after{ width:520px; height:520px; top:-180px; right:-140px; }
  .hero-big{ font-size:76px; letter-spacing:-.045em; }
  .hero h1{ font-size:21px; }
  .hero-sub{ font-size:18px; }
  .hero-btns{ flex-direction:row; }
  .btn{ height:60px; padding:0 34px; }

  .sec{ padding:88px 0; }
  .sec h2{ font-size:38px; }
  .sec-lead{ font-size:18px; }

  .items{ grid-template-columns:repeat(4,1fr); gap:16px; }
  .item{ padding:24px 20px 26px; }

  .points{ grid-template-columns:repeat(3,1fr); }
  .point{ padding:30px 26px; }
  .point .big{ font-size:44px; }

  .cta h2{ font-size:36px; }
}

.phead{ background:var(--brand); color:#fff; padding:34px 0 40px; }
.phead .crumb{ margin:0 0 12px; font-size:13.5px; color:rgba(255,255,255,.75); }
.phead .crumb a:hover{ color:#fff; }
.phead h1{ margin:0 0 12px; font-size:30px; line-height:1.28; font-weight:800; letter-spacing:-.035em; }
.phead p{ margin:0; font-size:16px; color:rgba(255,255,255,.88); }

.symp{ display:grid; gap:10px; }
.symp li{
  list-style:none; margin:0;
  background:var(--bg-soft); border-radius:var(--r-sm);
  padding:14px 16px; font-size:16px; font-weight:600;
}
.symp li b{ display:block; margin:0 0 3px; color:var(--brand-dk); font-size:15px; }
.symp li span{ display:block; font-weight:400; font-size:14.5px; color:var(--ink-soft); }
ul.symp{ padding:0; margin:0; }

.steps{ margin:0; padding:0; list-style:none; }
.steps li{ position:relative; padding:0 0 26px 46px; }
.steps li::before{
  content:attr(data-n);
  position:absolute; left:0; top:0;
  width:30px; height:30px; border-radius:50%;
  background:var(--brand); color:#fff;
  font-size:14px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
}

.steps li:not(:last-child)::after{
  content:''; position:absolute; left:14.5px; top:34px; bottom:6px;
  width:1.5px; background:var(--line);
}
.steps li:last-child{ padding-bottom:0; }
.steps h3{ margin:2px 0 5px; font-size:17.5px; font-weight:700; letter-spacing:-.02em; }
.steps p{ margin:0; font-size:15.5px; color:var(--ink-soft); }

.nope{
  background:var(--ink); color:#fff;
  border-radius:var(--r); padding:24px 20px;
}
.nope h3{ margin:0 0 14px; font-size:19px; font-weight:800; letter-spacing:-.02em; }
.nope ul{ margin:0; padding:0; list-style:none; }
.nope li{
  position:relative; padding:0 0 10px 20px;
  font-size:15.5px; color:rgba(255,255,255,.82); line-height:1.62;
}
.nope li::before{ content:'−'; position:absolute; left:2px; color:var(--accent); font-weight:800; }
.nope li:last-child{ padding-bottom:0; }

.cost{ display:grid; gap:12px; }
.cost .row{
  display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  background:var(--bg); border:1px solid var(--line);
  border-radius:var(--r-sm); padding:16px 18px;
}
.cost .row b{ font-size:16.5px; font-weight:700; }
.cost .row span{ font-size:16px; font-weight:800; color:var(--brand); white-space:nowrap; }
.cost-note{
  margin:16px 0 0; padding:16px 18px;
  background:var(--brand-lt); border-radius:var(--r-sm);
  font-size:14.5px; line-height:1.66; color:var(--ink-soft);
}

.cases{ display:grid; gap:14px; }
.case{
  background:var(--bg); border:1px solid var(--line);
  border-radius:var(--r); overflow:hidden;
}
.case img{ width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--bg-soft); }
.case .body{ padding:16px 18px 20px; }
.case .tag{
  display:inline-block; margin:0 0 8px;
  font-size:12px; font-weight:800; color:var(--brand);
  background:var(--brand-lt); padding:4px 9px; border-radius:var(--r-pill);
}
.case h3{ margin:0 0 6px; font-size:17.5px; font-weight:700; letter-spacing:-.02em; line-height:1.42; }
.case p{ margin:0; font-size:14.5px; color:var(--ink-soft); }

.empty{
  background:var(--bg-soft); border:1.5px dashed var(--line);
  border-radius:var(--r); padding:34px 22px; text-align:center;
}
.empty strong{ display:block; margin:0 0 6px; font-size:17px; font-weight:700; }
.empty p{ margin:0; font-size:15px; color:var(--ink-soft); }

.jump{ display:flex; flex-wrap:wrap; gap:8px; }
.jump a{
  background:var(--bg); border:1px solid var(--line);
  border-radius:var(--r-pill); padding:9px 16px;
  font-size:15px; font-weight:600;
}
.jump a:hover{ border-color:var(--brand); color:var(--brand); }

@media (min-width:721px){
  .phead{ padding:56px 0 64px; }
  .phead h1{ font-size:46px; }
  .phead p{ font-size:18px; }

  .symp{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .symp li{ padding:18px 20px; }

  .steps li{ padding-left:56px; }
  .steps h3{ font-size:19px; }

  .nope{ padding:34px 32px; }
  .nope h3{ font-size:22px; }
  .nope ul{ columns:2; column-gap:32px; }
  .nope li{ break-inside:avoid; }

  .cost .row{ padding:20px 24px; }
  .cases{ grid-template-columns:repeat(3,1fr); gap:18px; }
}

a.item{ display:block; transition:border-color .15s, transform .15s, box-shadow .15s; }
a.item:hover{ border-color:var(--brand); transform:translateY(-2px); box-shadow:var(--sh); }
a.item:active{ transform:translateY(0); }

.logo img{ width:28px; height:28px; flex:0 0 auto; }
@media (min-width:721px){ .logo img{ width:32px; height:32px; } }

.hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;   
  display:flex; align-items:center;
  padding:92px 0 76px;
  background:#000; color:#fff;
  overflow:hidden;
}
.hero::after{ content:none; }          

.hero-vid{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover;
}

.hero-veil{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,
    rgba(0,0,0,.70) 0%, rgba(0,0,0,.52) 42%, rgba(0,0,0,.84) 100%);
}
.hero .wrap{ position:relative; z-index:2; }

.top.on-hero{ background:transparent; border-bottom-color:rgba(255,255,255,.16); backdrop-filter:none; }
.top.on-hero .logo{ color:#fff; }
.top.on-hero .logo span{ color:rgba(255,255,255,.7); }
.top.on-hero .nav a{ color:rgba(255,255,255,.9); }
.top.on-hero .top-call{ background:#fff; color:#000; }

.hero-scroll{
  position:absolute; left:0; right:0; bottom:26px; z-index:2;
  text-align:center; font-size:12.5px; letter-spacing:.22em;
  color:rgba(255,255,255,.55);
}

@media (min-width:721px){
  .hero{ padding:120px 0 96px; }
}

.foot-big{ background:var(--brand); color:#fff; padding:60px 0 40px; }

.foot-call{
  text-align:center; padding:0 0 40px; margin:0 0 36px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.foot-eyebrow{ margin:0 0 10px; font-size:14px; color:rgba(255,255,255,.58); }
.foot-num{
  display:inline-block; margin:0 0 12px;
  font-size:34px; font-weight:800; letter-spacing:-.03em; color:#fff;
}
.foot-note{ margin:0; font-size:15px; line-height:1.7; color:rgba(255,255,255,.6); }

.foot-cols{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px 20px; margin:0 0 40px; }
.foot-col h2{
  margin:0 0 12px; font-size:12.5px; font-weight:800;
  letter-spacing:.06em; color:rgba(255,255,255,.48);
}
.foot-col a{ display:block; padding:6px 0; font-size:16px; color:rgba(255,255,255,.86); }
.foot-col a:hover{ color:#fff; }

.foot-end{
  padding-top:26px; border-top:1px solid rgba(255,255,255,.14);
  font-size:14px; color:rgba(255,255,255,.52);
}
.foot-end .logo{ margin:0 0 8px; font-size:20px; color:#fff; }
.foot-end .logo b{ color:#fff; }
.foot-end p{ margin:0 0 4px; }

@media (min-width:721px){
  .foot-big{ padding:88px 0 56px; }
  .foot-num{ font-size:46px; }
  .foot-cols{ grid-template-columns:repeat(4,1fr); gap:32px; }
}

.hero-boxes{
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
  margin:30px 0 0;
}
.hero-box{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:96px; padding:20px 12px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:14px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(6px);
  color:#fff; text-align:center;
  transition:background .16s, border-color .16s, transform .16s;
}
.hero-box b{ font-size:16px; font-weight:700; letter-spacing:-.02em; line-height:1.3; }
.hero-box span{
  margin-top:3px; font-size:11px; font-weight:600;
  letter-spacing:.08em; color:rgba(255,255,255,.62);
}
.hero-box:hover{
  background:rgba(255,255,255,.20);
  border-color:rgba(255,255,255,.55);
  transform:translateY(-2px);
}

.hero-call{ margin:24px 0 0; }
.hero-call .lab{
  display:block; margin:0 0 4px;
  font-size:12.5px; letter-spacing:.16em; color:rgba(255,255,255,.66);
}
.hero-call .num{
  display:inline-block;
  font-size:32px; font-weight:800; letter-spacing:-.02em; color:#fff;
}

@media (min-width:721px){
  .hero-boxes{ grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px; }
  .hero-box{ min-height:124px; padding:24px 16px; }
  .hero-box b{ font-size:17.5px; }
  .hero-call .num{ font-size:40px; }
}

.top.on-hero{
  position:absolute; top:0; left:0; right:0;
  background:transparent;
  border-bottom:0;
  backdrop-filter:none;
}
.top.on-hero .logo,
.top.on-hero .logo b{ color:#fff; }
.top.on-hero .logo span{ color:rgba(255,255,255,.72); }
.top.on-hero .nav a{ color:rgba(255,255,255,.9); }
.top.on-hero .nav a:hover{ color:#fff; }

.hero-call{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; margin:30px 0 0; padding:18px 22px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:16px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(6px);
  color:#fff;
  transition:background .16s, border-color .16s;
}
.hero-call:hover{ background:rgba(255,255,255,.2); border-color:rgba(255,255,255,.6); }
.hero-call .lab{ font-size:13.5px; color:rgba(255,255,255,.78); letter-spacing:0; }
.hero-call .num{ font-size:26px; font-weight:800; letter-spacing:-.02em; color:#fff; white-space:nowrap; }

@media (min-width:721px){
  .hero-call{ padding:22px 28px; }
  .hero-call .lab{ font-size:16px; }
  .hero-call .num{ font-size:34px; }
}

.logo .pre{ font-size:12px; font-weight:600; color:var(--ink-soft); letter-spacing:-.01em; }
.logo i{ font-style:normal; font-size:12px; color:var(--ink-soft); opacity:.55; margin:0 -1px; }
.top.on-hero .logo .pre{ color:rgba(255,255,255,.74); }
.top.on-hero .logo i{ color:rgba(255,255,255,.5); }

@media (min-width:721px){
  .logo .pre, .logo i{ font-size:14px; }
}

.ask{ background:var(--brand-lt); padding:68px 0 74px; text-align:center; }

.ask-badge{
  display:inline-block; margin:0 0 26px; padding:9px 20px;
  border:1px solid var(--line); border-radius:var(--r-pill);
  font-size:12px; font-weight:700; letter-spacing:.22em; color:var(--ink-soft);
}
.ask h2{ margin:0 0 18px; font-size:29px; line-height:1.34; font-weight:800; letter-spacing:-.035em; }
.ask-mats{ margin:0 0 8px; font-size:14.5px; color:var(--ink-soft); }
.ask-note{ margin:0 0 34px; font-size:15.5px; color:var(--ink-soft); }

.ask-cards{ display:grid; gap:14px; }
.ask-card{
  display:block; background:var(--bg); border-radius:var(--r);
  padding:32px 22px 28px; box-shadow:var(--sh);
  transition:transform .16s, box-shadow .16s;
}
.ask-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-hi); }
.ask-ico{
  display:grid; place-items:center;
  width:56px; height:56px; margin:0 auto 18px; border-radius:50%;
}
.ask-ico.a{ background:#B39A63; }        
.ask-ico.b{ background:var(--brand); }   
.ask-card h3{ margin:0 0 12px; font-size:19px; font-weight:800; letter-spacing:-.02em; }
.ask-card p{ margin:0; font-size:15px; line-height:1.75; color:var(--ink-soft); }

@media (min-width:721px){
  .ask{ padding:112px 0 120px; }
  .ask h2{ font-size:44px; }
  .ask-mats, .ask-note{ font-size:17px; }
  .ask-cards{ grid-template-columns:repeat(2,1fr); gap:22px; max-width:860px; margin:0 auto; }
  .ask-card{ padding:44px 30px 38px; }
}

.top.on-hero .wrap{ max-width:none; padding:0 24px; height:auto; }
.top.on-hero{ padding:22px 0 0; }

.logo .mark{ height:30px; width:auto; }
@media (min-width:721px){
  .top.on-hero .wrap{ padding:0 44px; }
  .top.on-hero{ padding:30px 0 0; }
  .logo .mark{ height:38px; }
}

.hero .wrap{ text-align:center; }
.hero-big{ font-size:38px; line-height:1.3; }
.hero h1{ max-width:26em; margin-left:auto; margin-right:auto; }
.hero-sub{ max-width:34em; margin-left:auto; margin-right:auto; }

.hero-motto{
  margin:26px 0 0;
  font-size:19px; line-height:1.62; font-weight:700;
  letter-spacing:-.02em; color:#fff;
}
.hero-motto span{ color:rgba(255,255,255,.62); }

.hero-boxes{ gap:16px; margin-top:36px; }
.hero-box{ min-height:116px; padding:24px 12px; }
.hero-box b{ font-size:18px; }
.hero-box span{ margin-top:5px; font-size:11.5px; }

@media (min-width:721px){
  .hero-big{ font-size:62px; }
  .hero-motto{ font-size:26px; margin-top:34px; }
  .hero-boxes{ gap:24px; margin-top:48px; }
  .hero-box{ min-height:150px; padding:30px 18px; }
  .hero-box b{ font-size:21px; }
  .hero-box span{ font-size:12.5px; }
}

:root{
  --cream:#EFE7DA;        
  --cream-dim:#BFB3A2;    
  --gold:#DFBE86;         
}

.top.on-hero .logo{ flex-direction:column; align-items:flex-start; gap:8px; }
.top.on-hero .logo .pre{
  font-size:12px; font-weight:600; letter-spacing:.02em;
  color:var(--cream-dim);
}
.top.on-hero{ padding:36px 0 0; }        

@media (min-width:721px){
  .top.on-hero{ padding:48px 0 0; }
  .top.on-hero .logo{ gap:10px; }
  .top.on-hero .logo .pre{ font-size:13.5px; }
}

.hero-big{ font-size:42px; color:var(--cream-dim); }
.hero-big em{ color:var(--cream); }

.hero h1{ color:var(--gold); font-weight:700; }     
.hero-sub{ color:var(--cream-dim); }
.hero-motto{ color:var(--cream); }
.hero-motto span{ color:var(--gold); }

.hero-box{ color:var(--cream); }
.hero-box b{ font-size:20px; }
.hero-box span{ color:var(--gold); opacity:.85; }

.hero-call .lab{ color:var(--cream-dim); }
.hero-call .num{ color:var(--cream); }

@media (min-width:721px){
  .hero-big{ font-size:72px; }
  .hero-box b{ font-size:24px; }
}

.foot-items{ text-align:center; margin:0 0 40px; }
.foot-items h2{
  margin:0 0 20px; font-size:12.5px; font-weight:800;
  letter-spacing:.06em; color:rgba(255,255,255,.48);
}
.foot-item-list{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; }
.foot-item-list a{ font-size:18px; color:rgba(255,255,255,.9); }
.foot-item-list a:hover{ color:#fff; }
.foot-end{ text-align:center; }

@media (min-width:721px){
  .foot-items{ margin-bottom:52px; }
  .foot-items h2{ font-size:13.5px; margin-bottom:26px; }
  .foot-item-list{ gap:14px 36px; }
  .foot-item-list a{ font-size:22px; }
}

.hero-box b{ font-size:23px; }
.hero-box span{ margin-top:10px; font-size:13px; letter-spacing:.12em; }
@media (min-width:721px){
  .hero-box b{ font-size:28px; }
  .hero-box span{ margin-top:12px; font-size:15px; }
  .hero-box{ min-height:164px; }
}

.float-cta{
  position:fixed; right:20px; bottom:20px; z-index:9999;
  width:78px; height:78px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  background:var(--brand);
  border:1px solid rgba(223,190,134,.5);
  color:var(--cream);
  box-shadow:0 10px 26px rgba(46,39,33,.34), 0 2px 8px rgba(0,0,0,.18);
  transform:translateZ(0); will-change:transform;
  opacity:0; visibility:hidden;
  transition:opacity .22s ease, transform .22s ease, visibility .22s;
}
.float-cta:not(.on){ transform:translateY(10px); }   
.float-cta.on{ opacity:1; visibility:visible; transform:translateY(0); }
.float-cta svg{ width:25px; height:25px; }
.float-cta span{ font-size:10.5px; font-weight:700; letter-spacing:-.02em; }
.float-cta:hover{ border-color:var(--gold); }

@media (min-width:721px){
  .float-cta{ right:28px; bottom:28px; width:88px; height:88px; }
  .float-cta svg{ width:32px; height:32px; }
  .float-cta span{ font-size:12.5px; }
}

.hero-keys{
  margin:38px auto 0; max-width:40em;
  font-size:13px; font-weight:500; line-height:1.9;
  letter-spacing:.01em; color:rgba(191,179,162,.62);
}

.hero-box span{ color:rgba(239,231,218,.5); }

.hero-motto{ margin-top:36px; }

@media (min-width:721px){
  .hero-keys{ margin-top:52px; font-size:14px; }
  .hero-motto{ margin-top:48px; }
}

.logo .pre{ font-size:14.5px; font-weight:500; letter-spacing:-.01em; }
.logo .pre b{ font-weight:800; color:var(--ink); }
.top.on-hero .logo .pre{ font-size:14.5px; color:var(--cream-dim); }
.top.on-hero .logo .pre b{ color:var(--cream); }
.logo .mark{ height:34px; }

@media (min-width:721px){
  .logo .pre, .top.on-hero .logo .pre{ font-size:18px; }
  .logo .mark{ height:44px; }
}

.foot .logo{ display:block; }
.foot-big, .foot-big .wrap{ text-align:center; }
.foot-items{ margin-top:8px; }

.foot .copy{
  margin-top:18px; padding-top:18px;
  border-top:1px solid rgba(255,255,255,.10);
  font-size:11.5px; letter-spacing:.02em; color:rgba(255,255,255,.34);
}
.foot:not(.foot-big) .copy{ border-top-color:var(--line); color:var(--ink-soft); opacity:.7; }
@media (min-width:721px){ .foot .copy{ margin-top:26px; padding-top:26px; font-size:12.5px; } }

.ask-card h3{ font-size:24px; margin-bottom:14px; }
.ask-card p{ font-size:17px; line-height:1.8; }
.ask-ico{ width:64px; height:64px; margin-bottom:22px; }
.ask-ico svg{ width:28px; height:28px; }

@media (min-width:721px){
  .ask-card h3{ font-size:30px; margin-bottom:18px; }
  .ask-card p{ font-size:19px; }
  .ask-ico{ width:76px; height:76px; margin-bottom:26px; }
  .ask-ico svg{ width:32px; height:32px; }
}

.hero-keys{ margin-top:64px; }

.hero-big{ font-size:48px; }

.hero-box b{ color:#D8BFA0; }

@media (min-width:721px){
  .hero-keys{ margin-top:88px; }
  .hero-big{ font-size:84px; }
}

.hero-keys{ max-width:none; }

.float-cta{ opacity:1; visibility:visible; transform:none; }
.float-cta:not(.on){ transform:none; }

.foot-big{ padding-bottom:110px; }
@media (min-width:721px){ .foot-big{ padding-bottom:130px; } }

.hero-keys{ margin-top:92px; color:#8C857C; }
@media (min-width:721px){ .hero-keys{ margin-top:124px; } }

.hero-box b{ color:#BE9A6E; }

.logo{ flex-direction:row; align-items:center; gap:12px; }
.top.on-hero .logo{ flex-direction:row; align-items:center; gap:12px; }

.logo .mark{ height:40px; }
.logo .pre{
  font-size:19px; font-weight:600; line-height:1.28;
  letter-spacing:-.025em; max-width:9.5em;
}
.logo .pre b{ font-weight:800; }

@media (min-width:721px){
  .logo{ gap:16px; }
  .top.on-hero .logo{ gap:16px; }
  .logo .mark{ height:52px; }
  .logo .pre{ font-size:28px; max-width:none; white-space:nowrap; }
}

.hero-box{
  background:rgba(248,245,240,.90);
  border-color:rgba(255,255,255,.5);
  box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.hero-box b{ color:#3A342C; }                 
.hero-box span{ color:rgba(58,52,44,.5); }    
.hero-box:hover{
  background:#fff;
  border-color:var(--gold);
  box-shadow:0 10px 28px rgba(0,0,0,.24);
}

.hero-keys{ margin-top:120px; }

.foot-call{ border-bottom:0; padding-bottom:34px; }
.foot .copy{ border-top:0; padding-top:0; margin-top:22px; }

@media (min-width:721px){
  .hero-keys{ margin-top:160px; }
}

.logo .mark{ height:46px; }
.logo .pre{ font-size:19px; line-height:1.28; }

@media (min-width:721px){
  .logo .mark{ height:56px; }
  .logo .pre{ font-size:38px; line-height:1.1; letter-spacing:-.035em; }
}

.hero-box{
  background:linear-gradient(180deg, rgba(253,251,248,.94) 0%, rgba(238,233,224,.90) 100%);
  border:1px solid rgba(58,52,44,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 1px 2px rgba(0,0,0,.16),
    0 6px 14px rgba(0,0,0,.20),
    0 18px 40px rgba(0,0,0,.26);
}
.hero-box:hover{
  background:linear-gradient(180deg,#fff 0%, #F7F4EE 100%);
  border-color:rgba(58,52,44,.42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    0 2px 4px rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.24),
    0 26px 56px rgba(0,0,0,.30);
}

.hero-box:active{
  transform:translateY(1px);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.14), 0 2px 6px rgba(0,0,0,.18);
}

.hero-box{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.30);
  box-shadow:none;
  backdrop-filter:blur(6px);
}
.hero-box b{ color:#E4D3BC; }                  
.hero-box span{ color:rgba(239,231,218,.5); }
.hero-box:hover{
  background:rgba(255,255,255,.20);
  border-color:rgba(255,255,255,.55);
  box-shadow:none;
  transform:translateY(-2px);
}
.hero-box:active{ transform:translateY(0); box-shadow:none; }

.hero-boxes{ gap:22px; }

.hero-keys{ margin-top:150px; }

@media (min-width:721px){
  .hero-boxes{ gap:32px; }
  .hero-keys{ margin-top:200px; }
}

.float-cta::before,
.float-cta::after{
  content:''; position:absolute; inset:-3px; border-radius:50%;
  border:2px solid rgba(223,190,134,.9);
  animation:물결 2.4s cubic-bezier(.2,.65,.3,1) infinite;
  pointer-events:none;
  will-change:transform, opacity;   
}
.float-cta::after{ animation-delay:1.2s; }   

@keyframes 물결{
  0%   { transform:scale(1);    opacity:.95; }
  55%  {                        opacity:.40; }
  100% { transform:scale(1.42); opacity:0;   }
}

@media (prefers-reduced-motion:reduce){
  .float-cta::before, .float-cta::after{ animation:none; opacity:0; }
}

.ask h2{ font-size:40px; line-height:1.26; }
@media (min-width:721px){ .ask h2{ font-size:68px; } }

.foot-note{ font-size:17px; line-height:1.7; }
.foot-end .logo{ font-size:24px; margin-bottom:12px; }
.foot-end p{ font-size:16px; }
.foot .copy{ font-size:13px; }

@media (min-width:721px){
  .foot-note{ font-size:20px; }
  .foot-end .logo{ font-size:30px; margin-bottom:14px; }
  .foot-end p{ font-size:19px; }
  .foot .copy{ font-size:15px; }
}

.foot-call{ padding-bottom:0; margin:0 0 40px; }
.foot-end{ padding-top:40px; }

@media (min-width:721px){
  .foot-call{ margin-bottom:52px; }
  .foot-end{ padding-top:52px; }
}

.hero h1.hero-keys{ margin:150px auto 0; }

.foot .copy{ margin-top:40px; }

@media (min-width:721px){
  .hero h1.hero-keys{ margin-top:200px; }
  .foot .copy{ margin-top:52px; }
}

.logo .pre,
.top.on-hero .logo .pre{
  font-size:20px; line-height:1.15; font-weight:600;
  letter-spacing:-.03em; max-width:none;
}
.logo .mark{ height:46px; }

@media (min-width:721px){
  .logo .pre,
  .top.on-hero .logo .pre{ font-size:25px; line-height:1.12; white-space:normal; }
  .logo .mark{ height:56px; }
}

.foot-end{ position:relative; border-top:0; }
.foot-end::before{
  content:''; position:absolute; top:0; left:50%;
  width:100vw; transform:translateX(-50%);
  border-top:1px solid rgba(255,255,255,.14);
}

.foot-big{ padding:44px 0; }
.foot-call{ margin:0 0 44px; padding-bottom:0; }
.foot-end{ padding-top:44px; }
.foot .copy{ margin-top:44px; }

@media (min-width:721px){
  .foot-big{ padding:60px 0; }
  .foot-call{ margin-bottom:60px; }
  .foot-end{ padding-top:60px; }
  .foot .copy{ margin-top:60px; }
}

.logo{ gap:10px; }
.logo .mark{ height:32px; }
.logo .pre,
.top.on-hero .logo .pre{
  font-size:23px; line-height:1; white-space:nowrap;
  font-weight:600; letter-spacing:-.04em;
}

@media (min-width:721px){
  .logo{ gap:16px; }
  .logo .mark{ height:48px; }
  .logo .pre,
  .top.on-hero .logo .pre{ font-size:62px; letter-spacing:-.05em; }
}

.float-cta::before,
.float-cta::after{ animation-duration:4.2s; }
.float-cta::after{ animation-delay:2.1s; }

.hero h1.hero-keys{ margin-top:76px; }
@media (min-width:721px){ .hero h1.hero-keys{ margin-top:104px; } }

.logo{ gap:12px; }
.logo .mark{ height:46px; }
.logo .pre,
.top.on-hero .logo .pre{
  font-size:20px; line-height:1.15; font-weight:600;
  letter-spacing:-.03em; white-space:normal;
}

@media (min-width:721px){
  .logo{ gap:16px; }
  .logo .mark{ height:56px; }
  .logo .pre,
  .top.on-hero .logo .pre{ font-size:25px; line-height:1.12; letter-spacing:-.03em; }
}

.hero h1.hero-keys{ margin-top:44px; }
@media (min-width:721px){ .hero h1.hero-keys{ margin-top:56px; } }

.foot-end::before{ content:none; }
.foot-end{ border-top:0; }
.foot-big{ padding:80px 0; }

@media (min-width:721px){
  .foot-big{ padding:110px 0; }
}

:root{ --sec:96px; }
@media (min-width:721px){ :root{ --sec:130px; } }

.hero{ padding-bottom:var(--sec); }
.ask{ padding:var(--sec) 0; }
.foot-big{ padding:var(--sec) 0; }

.hero-box{ background:rgba(255,255,255,.18); }
.hero-box b{ color:#B08D5A; }
.hero-box span{ color:rgba(239,231,218,.55); }
.hero-box:hover{ background:rgba(255,255,255,.28); }

:root{ --fgap:26px; }
@media (min-width:721px){ :root{ --fgap:34px; } }

.foot-big .wrap{ display:flex; flex-direction:column; gap:var(--fgap); }
.foot-call,
.foot-end{ display:flex; flex-direction:column; gap:var(--fgap); margin:0; padding:0; }
.foot-big .wrap > *,
.foot-call > *,
.foot-end > *{ margin:0; }

.hero{
  min-height:0;
  display:block;
  padding-top:200px;
  padding-bottom:var(--sec);
}
@media (min-width:721px){
  .hero{ padding-top:260px; }
}

.hero{
  min-height:100vh;
  min-height:100svh;
  display:flex; align-items:center;
  padding-top:120px;
  padding-bottom:var(--sec);
}
@media (min-width:721px){
  .hero{ padding-top:150px; }
}

:root{ --sec:120px; }
@media (min-width:721px){ :root{ --sec:180px; } }

.foot{
  background:var(--brand);
  padding:104px 20px;
  text-align:center;
  width:100%;
}
.foot, .foot *{ line-height:2; }

.footer-brand{
  margin-bottom:26px;
  font-size:20px; font-weight:400; color:#fff;
  letter-spacing:.42em;
}
.footer-info{
  margin-bottom:26px;
  font-size:14.5px; color:rgba(255,255,255,.82);
}
.footer-info span{ margin:0 16px; color:rgba(255,255,255,.28); }   
.footer-copy{
  font-size:14.5px; color:rgba(255,255,255,.5);
  letter-spacing:.06em;   
}

@media (max-width:720px){
  .foot{ padding:72px 20px; }
  .footer-brand{ font-size:17px; letter-spacing:.34em; }
  .footer-info, .footer-copy{ font-size:13px; }
  
  .footer-info span{ display:block; height:0; overflow:hidden; margin:0; }
}

.ask{ background:var(--brand-lt); text-align:left; }
.ask-grid{ display:grid; gap:52px; }

.ask-left h2{
  margin:0 0 18px; font-size:38px; line-height:1.28;
  font-weight:800; letter-spacing:-.035em;
}
.ask-lead{ margin:0 0 30px; font-size:17px; line-height:1.85; color:var(--ink-soft); }

.ask-btns{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 16px; }
.ask-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:56px; padding:0 26px; border-radius:var(--r);
  font-size:17px; font-weight:700;
  border:1px solid var(--line); background:var(--bg); color:var(--ink);
  transition:border-color .16s, background .16s;
}
.ask-btn:hover{ border-color:var(--brand); }
.ask-btn-main{ background:var(--brand); border-color:var(--brand); color:#fff; }
.ask-btn-main:hover{ background:var(--brand-dk); border-color:var(--brand-dk); }
.ask-hours{ margin:0; font-size:15px; color:var(--ink-soft); }

.ask-steps{ margin:0; padding:0; list-style:none; }
.ask-steps li{
  position:relative; padding:0 0 26px 62px;
}
.ask-steps li:not(:last-child)::after{
  content:''; position:absolute; left:19px; top:38px; bottom:4px;
  width:1px; background:var(--line);
}
.ask-steps .n{
  position:absolute; left:0; top:0;
  width:39px; height:39px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--bg); border:1px solid var(--line);
  font-size:12.5px; font-weight:800; color:var(--brand);
}
.ask-steps h3{ margin:6px 0 6px; font-size:19px; font-weight:800; letter-spacing:-.02em; }
.ask-steps p{ margin:0; font-size:15.5px; line-height:1.75; color:var(--ink-soft); }
.ask-steps li:last-child{ padding-bottom:0; }

@media (min-width:721px){
  .ask-grid{ grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
  .ask-left h2{ font-size:54px; }
  .ask-lead{ font-size:19px; }
  .ask-steps li{ padding-left:74px; padding-bottom:34px; }
  .ask-steps .n{ width:46px; height:46px; font-size:14px; }
  .ask-steps li:not(:last-child)::after{ left:23px; top:46px; }
  .ask-steps h3{ font-size:22px; }
  .ask-steps p{ font-size:17px; }
}

.ask-btns{
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:0;
}
.ask-btn{ height:76px; padding:0 12px; font-size:17.5px; }

@media (min-width:721px){
  .ask-btns{ gap:14px; }
  .ask-btn{ height:88px; font-size:19px; }
}

.hero h1.hero-big{
  margin:0 0 18px; max-width:none;
  font-size:48px; line-height:1.3; font-weight:800; letter-spacing:-.035em;
  color:var(--cream-dim);
}
.hero h1.hero-big em{ font-style:normal; color:var(--cream); }
.hero h1.hero-big .br{ color:var(--gold); }

@media (min-width:721px){
  .hero h1.hero-big{ font-size:84px; }
}

.hero-box b{ color:#EFE7DA; }
.hero-box span{ color:rgba(239,231,218,.42); }
.hero-box:hover b{ color:#fff; }

.top.on-hero .logo .pre b{ color:var(--gold); }   
.logo .pre b{ color:#9C7A3C; }                    
.hero-motto span{ color:var(--cream-dim); }       

:root{ --sec:150px; }
@media (min-width:721px){ :root{ --sec:230px; } }

.foot{ padding-top:var(--sec); padding-bottom:var(--sec); }
@media (max-width:720px){ .foot{ padding:var(--sec) 20px; } }

.ask-left h2{ font-size:42px; }
.ask-lead{ font-size:18px; line-height:1.9; }
.ask-btn{ font-size:18.5px; }
.ask-steps h3{ font-size:21px; }
.ask-steps p{ font-size:16.5px; }
.ask-steps .n{ font-size:13px; }

@media (min-width:721px){
  .ask-left h2{ font-size:62px; }
  .ask-lead{ font-size:21px; }
  .ask-btn{ font-size:21px; }
  .ask-steps h3{ font-size:25px; }
  .ask-steps p{ font-size:19px; }
  .ask-steps .n{ font-size:15px; }
}

.hero-box b{ font-size:19px; letter-spacing:-.03em; }
@media (min-width:721px){ .hero-box b{ font-size:22px; } }

.foot{ padding-top:110px; padding-bottom:110px; }
@media (max-width:720px){ .foot{ padding:76px 20px; } }

.footer-brand{ font-size:24px; }
.footer-info{ font-size:17px; }
.footer-copy{ font-size:16px; }

@media (max-width:720px){
  .footer-brand{ font-size:20px; letter-spacing:.34em; }
  .footer-info{ font-size:15px; }
  .footer-copy{ font-size:14px; }
}

.phead{ padding-top:170px; padding-bottom:56px; }
@media (min-width:721px){
  .phead{ padding-top:210px; padding-bottom:76px; }
}

.hero-en{
  margin:0 0 26px; margin-right:-.4em;
  font-size:15px; font-weight:700; letter-spacing:.4em;
  color:var(--gold);
}
.boxes-label{
  margin:0 0 18px; margin-right:-.34em;
  font-size:13px; font-weight:700; letter-spacing:.34em;
  color:rgba(191,179,162,.7);
}

@media (min-width:721px){
  .hero-en{ margin-bottom:34px; font-size:18px; letter-spacing:.46em; margin-right:-.46em; }
  .boxes-label{ margin-bottom:24px; font-size:14.5px; }
}

.hero-rule{
  display:block; width:280px; max-width:70%; height:1px;
  margin:26px auto 22px;
  background:rgba(239,231,218,.32);
}

.hero-tags{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:8px 18px; margin:26px 0 0;
  font-size:14px; font-weight:600; color:var(--cream-dim);
}
.hero-tags span{ display:inline-flex; align-items:center; }
.hero-tags span::before{
  content:''; width:5px; height:5px; margin-right:7px; border-radius:50%;
  background:var(--gold);
}

@media (min-width:721px){
  .hero-rule{ width:420px; margin:34px auto 28px; }
  .hero-tags{ gap:10px 26px; margin-top:32px; font-size:16px; }
  .hero-tags span::before{ width:6px; height:6px; margin-right:9px; }
}

.hero h1.hero-big{ font-size:32px; color:var(--cream); margin-bottom:0; }
@media (min-width:721px){ .hero h1.hero-big{ font-size:58px; } }

.hero-box{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.38);
  border-radius:8px;
  backdrop-filter:blur(3px);
}
.hero-box b{ color:#fff; font-weight:700; }
.hero-box span{ color:rgba(255,255,255,.45); }
.hero-box:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.7);
}
.hero-box:hover b{ color:#fff; }

.hero-rule{ display:none; }
.hero h1.hero-big{
  display:inline-block;
  padding-bottom:26px;
  border-bottom:1px solid rgba(239,231,218,.32);
  margin-bottom:22px;
}
@media (min-width:721px){
  .hero h1.hero-big{ padding-bottom:32px; margin-bottom:28px; }
}

.hero-copy{
  margin:26px 0 0;
  font-size:17px; line-height:1.85; font-weight:500;
  color:#EFE7DA;
}
.hero-copy em{ font-style:normal; font-weight:800; color:var(--gold); }

.hero h1.hero-big{ color:rgba(239,231,218,.66); font-weight:700; }

.hero-box b{ color:#E6DDCE; }
.hero-box span{ color:rgba(230,221,206,.34); }
.hero-box:hover b{ color:#F7F1E8; }

.boxes-label{ color:rgba(223,190,134,.55); }

@media (min-width:721px){
  .hero-copy{ margin-top:34px; font-size:20px; }
}

.rainbow i{ font-style:normal; }
.rainbow .c1{ color:#FF6B6B; }   
.rainbow .c2{ color:#FF9F45; }   
.rainbow .c3{ color:#FFD84D; }   
.rainbow .c4{ color:#5FD68A; }   
.rainbow .c5{ color:#4DA3FF; }   
.rainbow .c6{ color:#7C86F0; }   
.rainbow .c7{ color:#C084F5; }   
.rainbow .c8{ color:#FF8FB1; }   

.hero-box{
  background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.30);
  backdrop-filter:blur(2px);
}
.hero-box:hover{
  background:rgba(0,0,0,.58);
  border-color:rgba(223,190,134,.75);
}

.hero-box b{ color:#D8C4A0; }
.hero-box:hover b{ color:#EBD9B8; }
.hero-box span{ color:rgba(216,196,160,.42); }

.rainbow .c1{ color:#FF1F1F; }   
.rainbow .c2{ color:#FF8000; }   
.rainbow .c3{ color:#FFE500; }   
.rainbow .c4{ color:#00C853; }   
.rainbow .c5{ color:#1E90FF; }   
.rainbow .c6{ color:#3D3DE8; }   
.rainbow .c7{ color:#B24BF3; }   
.rainbow .c8{ color:#FF2D78; }   

.hero h1.hero-big{ color:#EFE7DA; }

.hero h1.hero-big{ font-size:36px; }
@media (min-width:721px){ .hero h1.hero-big{ font-size:68px; } }

.boxes-label{ margin-top:72px; }
@media (min-width:721px){ .boxes-label{ margin-top:104px; } }

.hero-en{ font-size:19px; }
@media (min-width:721px){ .hero-en{ font-size:26px; } }

.boxes-label{ font-size:16px; }
@media (min-width:721px){ .boxes-label{ font-size:19px; } }

.hero-box span{ color:rgba(239,231,218,.55); }
.hero-box:hover span{ color:rgba(239,231,218,.75); }

@media (min-width:721px){
  .hero-boxes{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:720px){
  .hero-box:last-child{ grid-column:1 / -1; }
}

.hero-box span{ color:rgba(239,231,218,.82); }
.hero-box:hover span{ color:#F7F1E8; }

.foot{ background:#C5B49B; }
.footer-brand{ color:#2E2721; }
.footer-info{ color:#4A4238; }
.footer-info span{ color:rgba(58,52,44,.32); }
.footer-copy{ color:rgba(58,52,44,.58); }

.top.on-hero .wrap{ position:relative; }
.top-brand{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%); margin-left:-.16em;
  font-size:15px; font-weight:500; letter-spacing:.32em;
  color:rgba(239,231,218,.82);
  pointer-events:none;
}
.top:not(.on-hero) .top-brand{ display:none; }   

.hero{ padding-top:210px; }

@media (min-width:721px){
  .top-brand{ font-size:18px; letter-spacing:.38em; margin-left:-.19em; }
  .hero{ padding-top:300px; }
}

.hero-box span{ color:#fff; }
.hero-box:hover span{ color:#fff; }

.boxes-label{ color:#fff; }

.float-cta{
  background:#EFE7DA;
  border-color:rgba(46,39,33,.28);
  color:#2E2721;
  box-shadow:0 10px 26px rgba(0,0,0,.30), 0 2px 8px rgba(0,0,0,.18);
}
.float-cta:hover{ background:#fff; border-color:#2E2721; }
.float-cta::before,
.float-cta::after{ border-color:rgba(46,39,33,.55); }

.hero-logo{
  display:block; margin:0 auto 26px;
  width:190px; height:auto;
  opacity:.96;
}

.hero-actions{
  display:flex; justify-content:center; gap:10px;
  margin:34px 0 0;
}
.hbtn{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:132px; padding:14px 22px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  font-size:15px; font-weight:700; letter-spacing:-.01em;
  color:#fff;
  transition:background .16s, border-color .16s, color .16s, transform .16s;
}
.hbtn:hover{ background:rgba(255,255,255,.14); border-color:#fff; transform:translateY(-1px); }
.hbtn-main{ background:var(--cream); border-color:var(--cream); color:var(--brand); }
.hbtn-main:hover{ background:#fff; border-color:#fff; color:var(--brand); }

.hero{ padding-top:124px; }

.footer-items{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:6px 20px;
  margin-bottom:26px;
}
.footer-items a{
  font-size:14.5px; font-weight:600; color:#3A342C;
  transition:color .16s;
}
.footer-items a:hover{ color:#000; text-decoration:underline; text-underline-offset:4px; }

.case-chips{ padding-top:34px; padding-bottom:0; }
.case-chips .jump{ justify-content:center; }

@media (min-width:721px){
  .hero-logo{ width:258px; margin-bottom:32px; }
  .hero-actions{ gap:14px; margin-top:44px; }
  .hbtn{ min-width:168px; padding:17px 30px; font-size:16.5px; }
  .hero{ padding-top:150px; }
  .footer-items{ gap:8px 30px; margin-bottom:30px; }
  .footer-items a{ font-size:16px; }
  .case-chips{ padding-top:48px; }
}

.hero-copy{ color:rgba(239,231,218,.72); }
.hero-copy .copy-accent{
  display:inline-block; margin-top:2px;
  color:var(--gold); font-weight:700;
}
.hero-copy .copy-accent em{ color:#F3DDB4; font-weight:800; }

.hero-veil::after{
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 78% 68% at 50% 46%,
             rgba(0,0,0,0) 34%, rgba(0,0,0,.42) 78%, rgba(0,0,0,.66) 100%);
}

.hero-logo{ width:238px; margin-bottom:30px; }

.float-stack{
  position:fixed; right:20px; bottom:20px; z-index:9999;
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.float-stack .float-cta{ position:static; right:auto; bottom:auto; }
.float-sms{
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%;
  background:rgba(46,39,33,.86);
  border:1px solid rgba(239,231,218,.34);
  color:var(--cream);
  box-shadow:0 6px 18px rgba(0,0,0,.28);
  backdrop-filter:blur(4px);
  transition:background .16s, border-color .16s, transform .16s;
}
.float-sms svg{ width:23px; height:23px; }
.float-sms:hover{ background:var(--brand); border-color:var(--cream); transform:translateY(-2px); }

@media (min-width:721px){
  .hero-logo{ width:320px; margin-bottom:36px; }
  .hero-copy .copy-accent{ margin-top:4px; }
  .float-stack{ right:28px; bottom:28px; gap:12px; }
  .float-sms{ width:60px; height:60px; }
  .float-sms svg{ width:26px; height:26px; }
}

:root{
  --red:#E23B32;      
  --red-lt:#F04B40;   
}

.hero-copy .copy-accent{ color:var(--red-lt); }
.hero-copy .copy-accent em{ color:#FF6A5E; }

.hero-actions{ gap:12px; }
.hbtn{
  width:158px; min-width:0; padding:18px 8px;
  font-size:16.5px; letter-spacing:-.02em;
}
.hbtn-main{
  background:var(--red); border-color:var(--red); color:#fff;
  box-shadow:0 8px 22px rgba(226,59,50,.34);
}
.hbtn-main:hover{
  background:#F04B40; border-color:#F04B40; color:#fff;
  box-shadow:0 10px 26px rgba(226,59,50,.46);
}

@media (min-width:721px){
  .hero-actions{ gap:14px; }
  .hbtn{ width:206px; padding:22px 10px; font-size:19px; }
}

html.home{
  scroll-snap-type:y proximity;
  scroll-behavior:smooth;
}
html.home .hero,
html.home .ask,
html.home .foot{ scroll-snap-align:start; }

@media (prefers-reduced-motion:reduce){
  html.home{ scroll-snap-type:none; scroll-behavior:auto; }
}

.hero-scroll{ animation:scroll-breathe 2.4s ease-in-out infinite; }
@keyframes scroll-breathe{
  0%,100%{ transform:translateY(0);    opacity:.45; }
  50%    { transform:translateY(6px);  opacity:.95; }
}
@media (prefers-reduced-motion:reduce){
  .hero-scroll{ animation:none; }
}

.hero h1.hero-big .rainbow i{ color:#F2EBE0; }
.hero h1.hero-big .rainbow .c5,
.hero h1.hero-big .rainbow .c6,
.hero h1.hero-big .rainbow .c7,
.hero h1.hero-big .rainbow .c8{ color:var(--red-lt); }   
.hero h1.hero-big{ color:rgba(242,235,224,.72); }

.foot{ background:#16120F; }
.footer-brand{ color:#fff; }
.footer-info{ color:rgba(255,255,255,.80); }
.footer-info span{ color:rgba(255,255,255,.26); }
.footer-copy{ color:rgba(255,255,255,.46); }
.footer-items a{ color:rgba(255,255,255,.86); }
.footer-items a:hover{ color:var(--red-lt); text-decoration:underline; text-underline-offset:4px; }

:root{
  --red:#ED1C24;      
  --red-lt:#FF2D22;   
}
.hero-copy .copy-accent em{ color:#FF5A3C; }
.hbtn-main{ box-shadow:0 8px 22px rgba(237,28,36,.38); }
.hbtn-main:hover{
  background:#FF2D22; border-color:#FF2D22;
  box-shadow:0 10px 28px rgba(237,28,36,.52);
}

.hero-copy{ font-size:20px; line-height:1.7; }
.hero-copy .copy-accent{ font-size:23px; font-weight:800; letter-spacing:-.02em; }

@media (min-width:721px){
  .hero-copy{ font-size:26px; }
  .hero-copy .copy-accent{ font-size:31px; }
}

.hero-scroll{
  display:flex; flex-direction:column; align-items:center; gap:12px;
  bottom:22px;
  animation:none;                    
  color:rgba(255,255,255,.62);
}
.hero-scroll b{
  font-size:14px; font-weight:600; letter-spacing:.26em;
  margin-left:.26em;                 
}
.hero-scroll-line{
  position:relative; display:block;
  width:1px; height:46px;
  background:rgba(255,255,255,.20);  
  overflow:hidden;
}
.hero-scroll-line::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.15), #fff);
  animation:scroll-trickle 2.1s cubic-bezier(.65,.05,.36,1) infinite;
}

@keyframes scroll-trickle{
  0%   { transform:scaleY(0); transform-origin:top; }
  42%  { transform:scaleY(1); transform-origin:top; }
  58%  { transform:scaleY(1); transform-origin:bottom; }
  100% { transform:scaleY(0); transform-origin:bottom; }
}
@media (prefers-reduced-motion:reduce){
  .hero-scroll-line::after{ animation:none; opacity:.5; }
}

@media (min-width:721px){
  .hero-scroll{ bottom:28px; gap:14px; }
  .hero-scroll b{ font-size:16px; }
  .hero-scroll-line{ height:58px; }
}

.hbtn{ border-radius:3px; }

.hero-brand{ margin:0; }
.hero-logo{ width:236px; margin:0 auto 30px; }

.hero-copy{ color:#fff; }

.hero-scroll{ animation:scroll-sway 3.2s ease-in-out infinite; }
@keyframes scroll-sway{
  0%,100%{ transform:translateY(0);   opacity:.72; }
  50%    { transform:translateY(7px); opacity:1; }
}
.hero-scroll-line{ background:rgba(237,28,36,.26); }
.hero-scroll-line::after{
  background:linear-gradient(180deg, rgba(255,45,34,.15), #FF2D22);
}
@media (prefers-reduced-motion:reduce){ .hero-scroll{ animation:none; } }

@media (min-width:721px){
  .hero-logo{ width:330px; margin-bottom:38px; }
}

.top-brand{ color:var(--red-lt); }

.ask{ background:#1E1814; }

.ask-left h2{ color:var(--red-lt); }
.ask-lead{ color:rgba(255,255,255,.70); }
.ask-hours{ color:rgba(255,255,255,.55); }

.ask-btn{ border-color:rgba(255,255,255,.32); color:#fff; }
.ask-btn:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.ask-btn-main{ background:var(--red); border-color:var(--red); color:#fff; }
.ask-btn-main:hover{ background:#FF2D22; border-color:#FF2D22; color:#fff; }

.ask-steps .n{
  background:transparent;
  border-color:rgba(255,255,255,.30);
  color:var(--red-lt);
}
.ask-steps li:not(:last-child)::after{ background:rgba(255,255,255,.16); }
.ask-steps h3{ color:#fff; }
.ask-steps p{ color:rgba(255,255,255,.64); }

.ask-eyebrow{
  margin:0 0 16px;
  font-size:12.5px; font-weight:700; letter-spacing:.34em;
  color:var(--red-lt);
}
.ask-left h2{
  margin:0;
  color:#fff; font-weight:900; letter-spacing:-.035em;
}
.ask-left h2 span{ color:var(--red-lt); }
.ask-underline{
  display:block; width:52px; height:3px;
  margin:24px 0 26px;
  background:var(--red);
}

@media (min-width:721px){
  .ask-eyebrow{ font-size:14px; margin-bottom:20px; }
  .ask-underline{ width:64px; margin:28px 0 30px; }
}

:root{
  --red:#D2060F;      
  --red-lt:#E60A16;   
}
.hero-copy .copy-accent em{ color:#F0331F; }
.hbtn-main{ box-shadow:0 8px 22px rgba(210,6,15,.40); }
.hbtn-main:hover{
  background:#E60A16; border-color:#E60A16;
  box-shadow:0 10px 28px rgba(210,6,15,.55);
}
.ask-btn-main:hover{ background:#E60A16; border-color:#E60A16; }
.hero-scroll-line{ background:rgba(210,6,15,.30); }
.hero-scroll-line::after{ background:linear-gradient(180deg, rgba(230,10,22,.15), #E60A16); }

.hero-logo{ width:282px; margin-bottom:32px; }

.logo .mark{ width:64px; height:auto; }

@media (min-width:721px){
  .hero-logo{ width:420px; margin-bottom:40px; }
  .logo .mark{ width:76px; }
}

.hero-copy{ font-size:23px; }
.hero-copy .copy-accent{ font-size:27px; }

@media (min-width:721px){
  .hero-copy{ font-size:30px; }
  .hero-copy .copy-accent{ font-size:37px; }
}

.hero-copy{ font-weight:500; letter-spacing:0; }
.hero-copy .copy-accent{ font-weight:700; letter-spacing:0; }

.hbtn{
  width:166px; padding:15px 8px;
  font-weight:700; letter-spacing:0;
}
.hbtn:not(.hbtn-main){ border-color:rgba(255,255,255,.72); }
.hbtn:not(.hbtn-main):hover{ background:rgba(255,255,255,.12); border-color:#fff; }

@media (min-width:721px){
  .hbtn{ width:212px; padding:18px 10px; font-size:18px; }
}

.float-cta{
  background:var(--red);
  border-color:rgba(255,255,255,.42);
  color:#fff;
  box-shadow:0 10px 26px rgba(210,6,15,.45), 0 2px 8px rgba(0,0,0,.22);
}
.float-cta:hover{
  background:#E60A16;
  border-color:#fff;
  box-shadow:0 12px 32px rgba(210,6,15,.60), 0 2px 8px rgba(0,0,0,.22);
}
.float-cta::before,
.float-cta::after{ border-color:rgba(255,255,255,.62); }

.top .wrap{ height:76px; }
.logo .mark{ width:88px; }
.hero-logo{ width:330px; margin-bottom:34px; }
.hero-copy{ font-size:26px; }
.hero-copy .copy-accent{ font-size:31px; }
.hbtn{ border-radius:8px; }

@media (min-width:721px){
  .top .wrap{ height:88px; }
  .logo .mark{ width:108px; }
  .hero-logo{ width:500px; margin-bottom:44px; }
  .hero-copy{ font-size:34px; }
  .hero-copy .copy-accent{ font-size:43px; }
}

.top-brand{ color:#fff; }

.ask{ background:#121212; }

.foot{ background:#121212; }

.phead{ background:#121212; }

.hero-logo{ width:370px; margin-bottom:30px; }
.hero{ padding-top:104px; }

@media (min-width:721px){
  .hero-logo{ width:570px; margin-bottom:38px; }
  .hero{ padding-top:118px; }
}

.ask-btn{ background:transparent; }
.ask-btn:hover{ background:rgba(255,255,255,.10); border-color:#fff; }
.ask-btn-main{ background:var(--red); border-color:var(--red); }

.hero-logo{ width:420px; margin-bottom:26px; }
.hero{ padding-top:92px; }
.hero-actions{ margin-top:36px; }

@media (min-width:721px){
  .hero-logo{ width:680px; margin-bottom:30px; }
  .hero{ padding-top:92px; }
  .hero-actions{ margin-top:38px; }
}

.strip{
  position:relative; width:100%; height:300px;
  overflow:hidden; background:#121212;
}
.strip-img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  opacity:0;
  animation:strip-fade 30s linear infinite;
}
.strip-img:nth-child(1){ animation-delay:0s; }
.strip-img:nth-child(2){ animation-delay:5s; }
.strip-img:nth-child(3){ animation-delay:10s; }
.strip-img:nth-child(4){ animation-delay:15s; }
.strip-img:nth-child(5){ animation-delay:20s; }
.strip-img:nth-child(6){ animation-delay:25s; }
@keyframes strip-fade{
  0%     { opacity:0; }
  2%     { opacity:1; }
  14.7%  { opacity:1; }
  16.7%  { opacity:0; }
  100%   { opacity:0; }
}

.strip-veil{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,
    rgba(18,18,18,.30) 0%, rgba(18,18,18,0) 26%,
    rgba(18,18,18,0) 62%, rgba(18,18,18,.96) 100%);
}
@media (prefers-reduced-motion:reduce){
  .strip-img{ animation:none; }
  .strip-img:nth-child(1){ opacity:1; }
}
@media (min-width:721px){
  .strip{ height:520px; }
}

.strip{ height:380px; }
.strip-veil{
  background:linear-gradient(180deg,
    rgba(18,18,18,.52) 0%, rgba(18,18,18,.62) 40%,
    rgba(18,18,18,.78) 76%, rgba(18,18,18,.98) 100%);
}
.strip-copy{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:0 22px; text-align:center;
}
.strip-rule{
  display:block; width:44px; height:3px;
  margin:0 0 22px; background:var(--red);
}
.strip-copy p{
  margin:0;
  font-size:18px; line-height:1.9; font-weight:500; letter-spacing:0;
  color:rgba(255,255,255,.94);
  text-shadow:0 2px 14px rgba(0,0,0,.55);
}
.strip-copy em{ font-style:normal; font-weight:800; color:var(--red-lt); }

@media (min-width:721px){
  .strip{ height:560px; }
  .strip-rule{ width:56px; margin-bottom:30px; }
  .strip-copy p{ font-size:26px; line-height:2; }
}

.strip{ height:78svh; }
html.home .strip{ scroll-snap-align:start; }

@media (min-width:721px){
  .strip{ height:96svh; }
}

.hero-copy{ font-size:18px; line-height:1.85; }
.hero-copy .copy-accent{ font-size:20px; font-weight:700; }

.strip-copy p{ font-size:22px; }
.strip-copy em{ display:inline-block; margin-top:2px; }

@media (min-width:721px){
  .hero-copy{ font-size:26px; }
  .hero-copy .copy-accent{ font-size:30px; }
  .strip-copy p{ font-size:34px; line-height:1.7; }
}

.hbtn{ height:62px; padding:0 8px; }

@media (min-width:721px){
  .hbtn{ height:74px; padding:0 10px; }
}

.hbtn{ height:70px; }

@media (min-width:721px){
  .hbtn{ height:84px; }
}

.strip{ height:88svh; }

@media (min-width:721px){
  .strip{ height:100svh; }
}

:root{ --yellow:#E9A800; }
.hero-copy .copy-accent{ color:var(--yellow); }
.hero-copy .copy-accent em{ color:#FFC42B; }

.strip-copy em{ color:var(--yellow); }
.strip-rule{ background:var(--yellow); }

.top-brand{ color:var(--yellow); }

.footer-brand{ color:var(--yellow); }

.float-cta{
  background:var(--yellow);
  border-color:rgba(0,0,0,.20);
  color:#1A1206;
  box-shadow:0 10px 26px rgba(233,168,0,.42), 0 2px 8px rgba(0,0,0,.24);
}
.float-cta:hover{
  background:#FFBE1A;
  border-color:#1A1206;
  box-shadow:0 12px 32px rgba(233,168,0,.58), 0 2px 8px rgba(0,0,0,.24);
}
.float-cta::before,
.float-cta::after{ border-color:rgba(26,18,6,.55); }

.top-brand,
.footer-brand{ font-weight:700; letter-spacing:.34em; }
.top-brand{ margin-left:-.17em; }

.ask-btn-main{
  background:var(--yellow); border-color:var(--yellow); color:#1A1206;
}
.ask-btn-main:hover{
  background:#FFBE1A; border-color:#FFBE1A; color:#1A1206;
}

.hero-veil{ background:rgba(0,0,0,.58); }
.hero-veil::after{ content:none; }            
.strip-veil{ background:rgba(18,18,18,.60); }
.hero-scroll-line::after{ background:var(--yellow); }

.hbtn-main{
  background:var(--yellow); border-color:var(--yellow); color:#1A1206;
  box-shadow:none;
}
.hbtn-main:hover{
  background:#FFBE1A; border-color:#FFBE1A; color:#1A1206;
  box-shadow:none;
}
.float-cta{ box-shadow:0 8px 22px rgba(0,0,0,.34); }
.float-cta:hover{ box-shadow:0 10px 28px rgba(0,0,0,.42); }

.hero-veil{ background:rgba(0,0,0,.34); }
.strip-veil{ background:rgba(18,18,18,.40); }

.hero-logo{ filter:drop-shadow(0 3px 18px rgba(0,0,0,.6)); }
.hero-copy{ text-shadow:0 2px 16px rgba(0,0,0,.72), 0 1px 3px rgba(0,0,0,.5); }
.top-brand{ text-shadow:0 2px 12px rgba(0,0,0,.6); }
.hero-scroll{ text-shadow:0 2px 10px rgba(0,0,0,.6); }
.strip-copy p{ text-shadow:0 2px 18px rgba(0,0,0,.78), 0 1px 3px rgba(0,0,0,.55); }

.hero-logo{ width:400px; margin-bottom:34px; }
.hero-actions{ margin-top:42px; }

@media (min-width:721px){
  .hero-logo{ width:620px; margin-bottom:42px; }
  .hero-actions{ margin-top:48px; }
}

.hero-copy .copy-accent{ color:var(--red-lt); }
.hero-copy .copy-accent em{ color:#FF3B2E; }

.hero-copy .copy-accent{ color:var(--yellow); }
.hero-copy .copy-accent em{ color:#FFC42B; }

.ask-eyebrow{ color:var(--yellow); }
.ask-left h2 span{ color:var(--yellow); }
.ask-underline{ background:var(--yellow); }
.ask-steps .n{ color:var(--yellow); }

.footer-items a:hover{ color:var(--yellow); }
.hero-scroll-line{ background:rgba(233,168,0,.28); }

.hero-actions{ gap:20px; }
.hbtn{ width:154px; }

@media (min-width:400px){
  .hero-actions{ gap:24px; }
  .hbtn{ width:172px; }
}
@media (min-width:721px){
  .hero-actions{ gap:34px; }
  .hbtn{ width:262px; }
}

.foot{ background:#fff; border-top:1px solid #E7E7E7; }
.footer-brand{ color:var(--yellow); }
.footer-items a{ color:#1A1A1A; }
.footer-items a:hover{ color:#000; text-decoration:underline; text-underline-offset:4px; }
.footer-info{ color:#3A3A3A; }
.footer-info span{ color:rgba(0,0,0,.20); }
.footer-copy{ color:rgba(0,0,0,.45); }

.hero-logo{ max-width:100%; height:auto; }
.logo .mark{ max-width:100%; }

.footer-items{ gap:8px 18px; }
@media (min-width:721px){ .footer-items{ gap:10px 24px; } }

.footer-brand{ color:#333; }
.footer-items a{ color:#333; }
.footer-items a:hover{ color:#000; text-decoration:underline; text-underline-offset:4px; }
.footer-info{ color:#333; }
.footer-info span{ color:rgba(0,0,0,.20); }
.footer-copy{ color:#5A5A5A; }

.strip-caps{
  position:absolute; left:0; bottom:0; z-index:3;
  margin:0; padding:0 24px 26px; list-style:none;
  width:100%;
}
.strip-caps li{
  position:absolute; left:24px; bottom:26px;
  opacity:0; animation:strip-fade 30s linear infinite;
}
.strip-caps li:nth-child(1){ animation-delay:0s; }
.strip-caps li:nth-child(2){ animation-delay:5s; }
.strip-caps li:nth-child(3){ animation-delay:10s; }
.strip-caps li:nth-child(4){ animation-delay:15s; }
.strip-caps li:nth-child(5){ animation-delay:20s; }
.strip-caps li:nth-child(6){ animation-delay:25s; }
.strip-caps b{
  display:block; margin-bottom:5px;
  font-size:11.5px; font-weight:700; letter-spacing:.24em;
  color:var(--yellow);
}
.strip-caps span{
  display:block;
  font-size:17px; font-weight:700; letter-spacing:-.01em;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}
@media (prefers-reduced-motion:reduce){
  .strip-caps li{ animation:none; }
  .strip-caps li:nth-child(1){ opacity:1; }
}
@media (min-width:721px){
  .strip-caps li{ left:44px; bottom:44px; }
  .strip-caps b{ font-size:13px; margin-bottom:7px; }
  .strip-caps span{ font-size:22px; }
}

.top-brand{ color:var(--red-lt); }

.top-brand{ color:var(--yellow); }

.hbtn-main{ background:var(--red); border-color:var(--red); color:#fff; }
.hbtn-main:hover{ background:#E60A16; border-color:#E60A16; color:#fff; }

.ask-btn-main{ background:var(--red); border-color:var(--red); color:#fff; }
.ask-btn-main:hover{ background:#E60A16; border-color:#E60A16; color:#fff; }

.float-cta{
  background:var(--red);
  border-color:rgba(255,255,255,.42);
  color:#fff;
}
.float-cta:hover{ background:#E60A16; border-color:#fff; }
.float-cta::before,
.float-cta::after{ border-color:rgba(255,255,255,.62); }

.hero-copy,
.hero-copy .copy-accent{ font-size:24px; font-weight:600; line-height:1.8; }
.hero-copy .copy-accent{ color:var(--yellow); }
.hero-copy .copy-accent em{ color:#FFC42B; }

@media (min-width:721px){
  .hero-copy,
  .hero-copy .copy-accent{ font-size:44px; line-height:1.6; }
}

.hero-copy,
.hero-copy .copy-accent{ font-size:21px; }

@media (min-width:721px){
  .hero-copy,
  .hero-copy .copy-accent{ font-size:34px; }
}

.ask-btns{
  display:flex; flex-wrap:wrap; justify-content:flex-start;
  gap:20px; margin-bottom:0;
}
.ask-btn{
  width:154px; height:70px; padding:0 8px;
  border-radius:8px;
  font-size:16.5px; font-weight:700; letter-spacing:0;
}

@media (min-width:400px){
  .ask-btns{ gap:24px; }
  .ask-btn{ width:172px; }
}
@media (min-width:721px){
  .ask-btns{ gap:34px; }
  .ask-btn{ width:262px; height:84px; font-size:18px; }
}

.hbtn, .ask-btn, .jump a{
  transition:transform .22s ease, box-shadow .22s ease,
             background .18s ease, border-color .18s ease, color .18s ease;
}

@media (hover:hover){
  .hbtn:hover, .ask-btn:hover{
    transform:translateY(-5px);
    box-shadow:0 12px 26px rgba(0,0,0,.34);
  }
  .hbtn-main:hover, .ask-btn-main:hover{
    box-shadow:0 12px 26px rgba(210,6,15,.42);
  }
  .jump a:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 18px rgba(0,0,0,.12);
  }
}
@media (prefers-reduced-motion:reduce){
  .hbtn, .ask-btn, .jump a{ transition:background .18s ease, color .18s ease; }
  .hbtn:hover, .ask-btn:hover, .jump a:hover{ transform:none; }
}

.hbtn-main{
  background:var(--yellow); border-color:var(--yellow); color:#1A1206;
}
.hbtn-main:hover{
  background:#FFBE1A; border-color:#FFBE1A; color:#1A1206;
}
.ask-btn-main{
  background:var(--yellow); border-color:var(--yellow); color:#1A1206;
}
.ask-btn-main:hover{
  background:#FFBE1A; border-color:#FFBE1A; color:#1A1206;
}
.float-cta{
  background:var(--yellow);
  border-color:rgba(0,0,0,.18);
  color:#1A1206;
}
.float-cta:hover{ background:#FFBE1A; border-color:#1A1206; }
.float-cta::before,
.float-cta::after{ border-color:rgba(26,18,6,.55); }

@media (hover:hover){
  .hbtn-main:hover, .ask-btn-main:hover{
    box-shadow:0 12px 26px rgba(233,168,0,.38);
  }
}

.float-cta{
  background:var(--red);
  border-color:rgba(255,255,255,.42);
  color:#fff;
}
.float-cta:hover{ background:#E60A16; border-color:#fff; }
.float-cta::before,
.float-cta::after{ border-color:rgba(255,255,255,.62); }

.hero-scroll-line{ background:rgba(210,6,15,.28); }
.hero-scroll-line::after{ background:var(--red-lt); }

.hero-logo{ width:440px; margin-bottom:30px; }

@media (min-width:721px){
  .hero-logo{ width:700px; margin-bottom:34px; }
}

.hero-logo{ width:min(480px, 100%); margin-bottom:26px; }
.hero{ padding-top:76px; }
.hero-actions{ margin-top:38px; }

@media (min-width:721px){
  .hero-logo{ width:min(780px, 90vw, 79svh); margin-bottom:30px; }
  .hero{ padding-top:76px; }
  .hero-actions{ margin-top:40px; }
}

.phead{ background:#1C1C1C; }
.ask{ background:#1C1C1C; }

.phead{ background:#2B2B2B; }
.ask{ background:#2B2B2B; }

.hero{ padding:60px 0 56px; }
.hero-logo{ width:min(560px, 100%); margin-bottom:24px; }
.hero-actions{ margin-top:34px; }
.hbtn{ font-size:18px; }

@media (min-width:721px){
  .hero{ padding:60px 0 56px; }
  .hero-logo{ width:min(900px, 92vw, 88svh); margin-bottom:26px; }
  .hero-actions{ margin-top:34px; }
  .hbtn{ font-size:21px; }
}

.hero-logo{ width:100%; max-width:1000px; margin-bottom:24px; }

.hbtn:not(.hbtn-main){
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(6px);
  border-color:rgba(255,255,255,.34);
  color:#fff;
}
.hbtn:not(.hbtn-main):hover{
  background:rgba(0,0,0,.60);
  border-color:#fff;
}

.hero{ padding:48px 0 170px; }

@media (min-width:721px){
  .hero{ padding:48px 0 190px; }
}

.hero .wrap{ max-width:1400px; }
.hero-logo{ width:92vw; max-width:1240px; margin-bottom:22px; }

.hero .wrap{ max-width:1120px; }
.hero-logo{ width:100%; max-width:760px; margin-bottom:24px; }

.hero-logo{ max-width:860px; }

.hero-logo{ max-width:1040px; }

.hbtn, .ask-btn{
  line-height:1;
  padding-bottom:3px;
}

@media (min-width:721px){
  .hbtn, .ask-btn{ padding-bottom:4px; }
}

.hbtn, .ask-btn{ font-size:20px; font-weight:700; }

@media (min-width:721px){
  .hbtn, .ask-btn{ font-size:24px; }
}

.hbtn, .ask-btn{ font-size:18px; }

.hero .wrap{ max-width:1280px; }
.hero-logo{ max-width:1200px; }

@media (min-width:721px){
  .hbtn, .ask-btn{ font-size:21px; }
}

.hero h1.hero-brand{
  max-width:none;
  margin:0 auto;
  font-size:0;          
  line-height:0;
}
.hero-logo{ width:100%; max-width:820px; }

.hero-logo{ max-width:600px; }

.hero-logo{ max-width:700px; }

.hero-scroll{ animation:scroll-sway2 2.4s ease-in-out infinite; }
@keyframes scroll-sway2{
  0%,100%{ transform:translateY(-4px); opacity:.62; }
  50%    { transform:translateY(8px);  opacity:1; }
}
@media (prefers-reduced-motion:reduce){
  .hero-scroll{ animation:none; }
}

.hero-scroll b{ color:#fff; }

.hero-scroll b{ font-size:15.5px; font-weight:500; }

@media (min-width:721px){
  .hero-scroll b{ font-size:18px; }
}

.hero::before{
  content:'';
  position:absolute; z-index:2;
  left:24px; top:130px;
  width:2px; height:96px;
  background:var(--red);
}

@media (min-width:721px){
  .hero::before{ left:44px; top:150px; height:130px; }
}

.hero::before{ content:none; }

.hero-mark{
  position:absolute; z-index:2;
  left:24px; top:126px;
  display:flex; align-items:flex-start; gap:14px;
}
.hero-mark-line{
  display:block; flex:0 0 auto;
  width:2px; height:52px;
  background:var(--red);
}
.hero-mark p{
  margin:0;
  font-size:13px; font-weight:500; line-height:1.85;
  letter-spacing:.01em;
  color:rgba(255,255,255,.82);
  text-shadow:0 2px 10px rgba(0,0,0,.6);
}
.hero-mark b{ font-weight:700; color:#fff; }

@media (min-width:721px){
  .hero-mark{ left:44px; top:150px; gap:18px; }
  .hero-mark-line{ height:64px; }
  .hero-mark p{ font-size:15px; }
}

.hero-mark{ display:none; }

.top .wrap{ justify-content:flex-start; gap:14px; }
.top-mark{
  display:inline-flex; align-items:center; gap:14px;
  font-size:12.5px; font-weight:500; letter-spacing:.01em;
  color:rgba(255,255,255,.86);
  text-shadow:0 2px 10px rgba(0,0,0,.55);
  white-space:nowrap;
}
.top-mark i{
  display:block; width:2px; height:26px;
  background:var(--red);
}

.top:not(.on-hero) .top-mark{ color:var(--ink); text-shadow:none; }

@media (min-width:721px){
  .top .wrap{ gap:20px; }
  .top-mark{ font-size:15px; gap:18px; }
  .top-mark i{ height:32px; }
}

.top-mark{ font-size:14px; }

.hbtn:not(.hbtn-main){
  background:rgba(0,0,0,.58);
  border-color:rgba(255,255,255,.56);
}
.hbtn:not(.hbtn-main):hover{
  background:rgba(0,0,0,.72);
  border-color:#fff;
}

@media (min-width:721px){
  .top-mark{ font-size:18px; }
}

.top-mark{ font-size:15.5px; }
.top-mark i{ height:30px; }

@media (min-width:721px){
  .top-mark{ font-size:21px; }
  .top-mark i{ height:38px; }
}

.hero-copy,
.hero-copy .copy-accent{ font-size:19px; }

@media (min-width:721px){
  .hero-copy,
  .hero-copy .copy-accent{ font-size:30px; }
}

.hbtn, .ask-btn{
  height:84px;
  font-weight:500;
}

@media (min-width:721px){
  .hbtn, .ask-btn{ height:100px; }
}

.strip-brand{
  margin:0 0 18px; margin-right:-.34em;
  font-size:14px; font-weight:700; letter-spacing:.34em;
  color:var(--yellow);
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}

@media (min-width:721px){
  .strip-brand{ font-size:18px; margin-bottom:22px; margin-right:-.34em; }
}

.top .wrap{ gap:16px; }
.top-mark{ gap:16px; }

@media (min-width:721px){
  .top .wrap{ gap:22px; }
  .top-mark{ gap:22px; }
}

.strip-brand{
  position:absolute; z-index:3;
  left:0; right:0; top:42px;
  margin:0; margin-right:0;
  text-align:center;
  text-indent:.34em;      
}

@media (min-width:721px){
  .strip-brand{ top:56px; }
}

.top .wrap{ gap:8px; }
.top-mark{ gap:22px; }

@media (min-width:721px){
  .top .wrap{ gap:10px; }
  .top-mark{ gap:22px; }
}

.hbtn{ width:230px; height:88px; }

@media (min-width:721px){
  .hbtn{ width:230px; height:88px; }
}

.top-mark{ color:var(--cream); }

.top-mark{ color:#D8C4A0; }

.case-facts{ padding-top:40px; padding-bottom:0; }
.case-facts dl{
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  margin:0; background:var(--line);
  border:1px solid var(--line); border-radius:10px; overflow:hidden;
}
.case-facts dl > div{ background:#fff; padding:18px 20px; }
.case-facts dt{
  margin:0 0 7px; font-size:12.5px; font-weight:700;
  letter-spacing:.06em; color:var(--ink-soft);
}
.case-facts dd{ margin:0; font-size:17px; font-weight:700; color:var(--ink); }
.case-facts dd a{ color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.case-facts dd a:hover{ color:#000; }

.case-ba{ padding-top:40px; padding-bottom:0; }
.case-ba .wrap{ display:grid; gap:14px; }
.case-ba figure{ margin:0; }
.case-ba img{
  display:block; width:100%; height:auto;
  border-radius:10px; background:var(--bg-soft);
}
.case-ba figcaption{
  margin-top:10px; font-size:14.5px; color:var(--ink-soft);
}
.case-ba figcaption b{
  display:inline-block; margin-right:9px;
  font-size:12px; font-weight:800; letter-spacing:.14em;
  color:var(--red);
}

.case-body{ padding-top:44px; }
.case-body h2{
  margin:40px 0 14px; font-size:22px; font-weight:800;
  letter-spacing:-.03em; color:var(--ink);
}
.case-body h2:first-child{ margin-top:0; }
.case-body p{ margin:0 0 14px; font-size:16.5px; line-height:1.85; color:var(--ink); }
.case-body p b{ font-weight:700; }
.case-body a{ color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.case-body a:hover{ color:#000; }

.case-steps{ margin:0 0 14px; padding:0 0 0 2px; list-style:none; counter-reset:s; }
.case-steps li{
  position:relative; counter-increment:s;
  padding:0 0 16px 40px;
  font-size:16.5px; line-height:1.85; color:var(--ink);
}
.case-steps li::before{
  content:counter(s); position:absolute; left:0; top:4px;
  width:26px; height:26px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--ink); color:#fff;
  font-size:12.5px; font-weight:800;
}

.case-no{
  margin:0 0 14px; padding:22px 22px 8px;
  border:1px solid var(--line); border-left:3px solid var(--red);
  border-radius:8px; background:var(--bg-soft);
}
.case-no p{ margin:0 0 16px; font-size:16px; line-height:1.85; }
.case-no b{ font-weight:800; }

.case-shots{ display:grid; gap:14px; margin-top:6px; }
.case-shots figure{ margin:0; }
.case-shots img{
  display:block; width:100%; height:auto;
  border-radius:10px; background:var(--bg-soft);
}
.case-shots figcaption{ margin-top:9px; font-size:14.5px; color:var(--ink-soft); }

@media (min-width:721px){
  .case-facts{ padding-top:56px; }
  .case-facts dl{ grid-template-columns:repeat(4,1fr); }
  .case-facts dl > div{ padding:22px 24px; }
  .case-facts dd{ font-size:18.5px; }

  .case-ba{ padding-top:52px; }
  .case-ba .wrap{ grid-template-columns:1fr 1fr; gap:22px; }

  .case-body{ padding-top:60px; }
  .case-body h2{ margin:54px 0 18px; font-size:27px; }
  .case-body p, .case-steps li{ font-size:17.5px; }

  .case-no{ padding:28px 30px 12px; }
  .case-no p{ font-size:17px; }

  .case-shots{ grid-template-columns:1fr 1fr; gap:22px; }
}

.case-lead{ padding-top:34px; padding-bottom:0; }
.case-lead p{
  margin:0; padding:22px 24px;
  border-left:3px solid var(--ink);
  background:var(--bg-soft);
  font-size:16.5px; line-height:1.9; color:var(--ink);
}
.case-lead b{ font-weight:800; }

.case-table{ margin:0 0 14px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.case-table table{
  width:100%; min-width:460px;
  border-collapse:collapse;
  font-size:15.5px;
}
.case-table th, .case-table td{
  padding:13px 14px; text-align:left; vertical-align:top;
  border-bottom:1px solid var(--line);
  line-height:1.7;
}
.case-table thead th{
  font-size:13px; font-weight:800; letter-spacing:.02em;
  color:var(--ink-soft);
  border-bottom:2px solid var(--ink);
}
.case-table tbody th{
  width:34%; font-weight:600; color:var(--ink-soft);
  background:var(--bg-soft);
}
.case-table td{ color:var(--ink); }
.case-table td b{ font-weight:800; }
.case-table tbody tr:last-child th,
.case-table tbody tr:last-child td{ border-bottom:0; }

@media (min-width:721px){
  .case-lead{ padding-top:44px; }
  .case-lead p{ padding:28px 30px; font-size:18px; }
  .case-table table{ font-size:16.5px; }
  .case-table th, .case-table td{ padding:16px 18px; }
}

.ccards{ display:grid; gap:20px; }
.ccard{
  display:block; overflow:hidden;
  border:1px solid var(--line); border-radius:12px;
  background:#fff;
  transition:transform .22s ease, box-shadow .22s ease, border-color .18s ease;
}
.ccard img{
  display:block; width:100%; height:auto;
  background:var(--bg-soft);
  transition:transform .5s ease;
}
.ccard-b{ padding:18px 20px 20px; }
.ccard-tag{
  display:inline-block; margin-bottom:9px;
  font-size:12px; font-weight:800; letter-spacing:.04em;
  color:var(--red);
}
.ccard strong{
  display:block; margin-bottom:7px;
  font-size:18px; font-weight:800; letter-spacing:-.03em; line-height:1.4;
  color:var(--ink);
}
.ccard p{
  margin:0; font-size:15px; line-height:1.7; color:var(--ink-soft);
}

.ccards-more{
  margin:40px 0 16px;
  font-size:13px; font-weight:800; letter-spacing:.1em;
  color:var(--ink-soft);
}

@media (hover:hover){
  .ccard:hover{
    transform:translateY(-5px);
    box-shadow:0 14px 30px rgba(0,0,0,.13);
    border-color:var(--ink-soft);
  }
  .ccard:hover img{ transform:scale(1.04); }
}
@media (prefers-reduced-motion:reduce){
  .ccard, .ccard img{ transition:none; }
  .ccard:hover{ transform:none; }
  .ccard:hover img{ transform:none; }
}

@media (min-width:721px){
  .ccards{ grid-template-columns:repeat(3,1fr); gap:26px; }
  .ccard-b{ padding:20px 22px 24px; }
  .ccard strong{ font-size:19px; }
  .ccards-more{ margin:56px 0 20px; font-size:14px; }
}

.case-body{ counter-reset:h2n; }
.case-body h2{
  counter-increment:h2n;
  margin:0 0 22px;
  padding-top:44px;
  border-top:1px solid var(--line);
  text-align:center;
}
.case-body h2::before{
  content:counter(h2n, decimal-leading-zero);
  display:block; margin-bottom:12px;
  font-size:13px; font-weight:800; letter-spacing:.22em;
  color:var(--red);
}
.case-body h2:first-child{ padding-top:0; border-top:0; }

.case-phead .wrap{ text-align:center; }

@media (min-width:721px){
  .case-body h2{ padding-top:64px; margin-bottom:28px; }
  .case-body h2::before{ font-size:14px; margin-bottom:14px; }
}

.hero-img{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover;
  opacity:0;
  animation:hero-fade 24s linear infinite;
}
.hero-img:nth-of-type(1){ animation-delay:0s; }
.hero-img:nth-of-type(2){ animation-delay:6s; }
.hero-img:nth-of-type(3){ animation-delay:12s; }
.hero-img:nth-of-type(4){ animation-delay:18s; }
@keyframes hero-fade{
  0%    { opacity:0; }
  3%    { opacity:1; }
  22%   { opacity:1; }
  25%   { opacity:0; }
  100%  { opacity:0; }
}
@media (prefers-reduced-motion:reduce){
  .hero-img{ animation:none; }
  .hero-img:nth-of-type(1){ opacity:1; }
}

.faq{ background:#2B2B2B; text-align:center; }
.faq-eyebrow{
  margin:0 0 16px;
  font-size:12.5px; font-weight:700; letter-spacing:.34em;
  color:var(--yellow);
}
.faq h2{
  margin:0; font-size:30px; font-weight:900; letter-spacing:-.035em;
  color:#fff;
}
.faq-underline{
  display:block; width:52px; height:3px;
  margin:24px auto 34px;
  background:var(--yellow);
}
.faq-list{ text-align:left; max-width:760px; margin:0 auto; }
.faq details{
  border-bottom:1px solid rgba(255,255,255,.16);
}
.faq summary{
  position:relative;
  padding:22px 44px 22px 0;
  font-size:17px; font-weight:700; letter-spacing:-.02em;
  color:#fff; cursor:pointer; list-style:none;
}
.faq summary::-webkit-details-marker{ display:none; }

.faq summary::after{
  content:''; position:absolute; right:6px; top:50%;
  width:15px; height:2px; background:var(--yellow);
  transform:translateY(-50%);
}
.faq summary::before{
  content:''; position:absolute; right:12.5px; top:50%;
  width:2px; height:15px; background:var(--yellow);
  transform:translateY(-50%);
  transition:transform .22s ease;
}
.faq details[open] summary::before{ transform:translateY(-50%) rotate(90deg); }
.faq summary:hover{ color:var(--yellow); }
.faq-a{ padding:0 44px 24px 0; }
.faq-a p{
  margin:0; font-size:16px; line-height:1.9;
  color:rgba(255,255,255,.76);
}
.faq-a b{ color:#fff; font-weight:700; }

@media (min-width:721px){
  .faq-eyebrow{ font-size:14px; margin-bottom:20px; }
  .faq h2{ font-size:42px; }
  .faq-underline{ width:64px; margin:28px auto 44px; }
  .faq summary{ padding:26px 52px 26px 0; font-size:20px; }
  .faq-a{ padding-bottom:30px; }
  .faq-a p{ font-size:17.5px; }
}

.strip-img, .strip-caps li{ animation-duration:24s; }
.strip-img:nth-child(3){ animation-delay:6s; }
.strip-img:nth-child(4){ animation-delay:12s; }
.strip-img:nth-child(5){ animation-delay:18s; }
.strip-caps li:nth-child(1){ animation-delay:0s; }
.strip-caps li:nth-child(2){ animation-delay:6s; }
.strip-caps li:nth-child(3){ animation-delay:12s; }
.strip-caps li:nth-child(4){ animation-delay:18s; }
@keyframes strip-fade{
  0%    { opacity:0; }
  3%    { opacity:1; }
  22%   { opacity:1; }
  25%   { opacity:0; }
  100%  { opacity:0; }
}

.hero-img{ animation-duration:30s; }
.hero-img:nth-of-type(1){ animation-delay:0s; }
.hero-img:nth-of-type(2){ animation-delay:5s; }
.hero-img:nth-of-type(3){ animation-delay:10s; }
.hero-img:nth-of-type(4){ animation-delay:15s; }
.hero-img:nth-of-type(5){ animation-delay:20s; }
.hero-img:nth-of-type(6){ animation-delay:25s; }
@keyframes hero-fade{
  0%{ opacity:0; } 2%{ opacity:1; } 14.7%{ opacity:1; } 16.7%{ opacity:0; } 100%{ opacity:0; }
}

.strip-img, .strip-caps li{ animation-duration:36s; }
.strip-img:nth-child(1){ animation-delay:0s; }
.strip-img:nth-child(2){ animation-delay:6s; }
.strip-img:nth-child(3){ animation-delay:12s; }
.strip-img:nth-child(4){ animation-delay:18s; }
.strip-img:nth-child(5){ animation-delay:24s; }
.strip-img:nth-child(6){ animation-delay:30s; }
.strip-caps li:nth-child(1){ animation-delay:0s; }
.strip-caps li:nth-child(2){ animation-delay:6s; }
.strip-caps li:nth-child(3){ animation-delay:12s; }
.strip-caps li:nth-child(4){ animation-delay:18s; }
.strip-caps li:nth-child(5){ animation-delay:24s; }
.strip-caps li:nth-child(6){ animation-delay:30s; }
@keyframes strip-fade{
  0%{ opacity:0; } 2%{ opacity:1; } 14.7%{ opacity:1; } 16.7%{ opacity:0; } 100%{ opacity:0; }
}

.faq{ background:#fff; }
.faq-eyebrow{ color:var(--red); }
.faq h2{ color:var(--ink); }
.faq-underline{ background:var(--red); }
.faq details{ border-bottom-color:var(--line); }
.faq summary{ color:var(--ink); }
.faq summary:hover{ color:#000; }
.faq summary::after,
.faq summary::before{ background:var(--red); }
.faq-a p{ color:var(--ink-soft); }
.faq-a b{ color:var(--ink); }

.faq{ background:var(--bg-soft); }

@media (min-width:721px){
  
  .faq-eyebrow{ font-size:16px; letter-spacing:.36em; }
  .faq h2{ font-size:50px; }
  .faq-underline{ width:72px; }
  .faq summary{ font-size:23px; padding:30px 58px 30px 0; }
  .faq-a p{ font-size:19.5px; line-height:1.95; }
  .faq-list{ max-width:840px; }

  
  .strip-brand{ font-size:21px; }
  .strip-copy p{ font-size:40px; }

  
  .strip-caps b{ font-size:16px; letter-spacing:.26em; margin-bottom:9px; }
  .strip-caps span{ font-size:27px; }
}

@media (min-width:721px){
  
  .phead .crumb{ font-size:15px; margin-bottom:16px; }
  .phead h1{ font-size:52px; }
  .phead p{ font-size:20px; }

  
  .jump a{ font-size:17px; padding:12px 22px; }
  .jump{ gap:11px; }

  
  .ccards{ grid-template-columns:repeat(2,1fr); gap:32px; }
  .ccard-b{ padding:26px 28px 30px; }
  .ccard-tag{ font-size:14px; margin-bottom:11px; }
  .ccard strong{ font-size:24px; margin-bottom:10px; }
  .ccard p{ font-size:17px; line-height:1.75; }
  .ccards-more{ font-size:15px; }

  
  .ask-eyebrow{ font-size:16px; letter-spacing:.36em; }
  .ask-left h2{ font-size:50px; }
  .ask-lead{ font-size:20px; line-height:1.95; }
  .ask-steps .n{ width:44px; height:44px; font-size:14.5px; }
  .ask-steps li{ padding-left:70px; padding-bottom:32px; }
  .ask-steps li:not(:last-child)::after{ left:21.5px; top:44px; }
  .ask-steps h3{ font-size:24px; margin:8px 0 8px; }
  .ask-steps p{ font-size:18.5px; line-height:1.8; }
}

.strip-img, .strip-caps li{ animation-duration:42s; }
.strip-img:nth-child(1){ animation-delay:0s; }
.strip-img:nth-child(2){ animation-delay:6s; }
.strip-img:nth-child(3){ animation-delay:12s; }
.strip-img:nth-child(4){ animation-delay:18s; }
.strip-img:nth-child(5){ animation-delay:24s; }
.strip-img:nth-child(6){ animation-delay:30s; }
.strip-img:nth-child(7){ animation-delay:36s; }
.strip-caps li:nth-child(1){ animation-delay:0s; }
.strip-caps li:nth-child(2){ animation-delay:6s; }
.strip-caps li:nth-child(3){ animation-delay:12s; }
.strip-caps li:nth-child(4){ animation-delay:18s; }
.strip-caps li:nth-child(5){ animation-delay:24s; }
.strip-caps li:nth-child(6){ animation-delay:30s; }
.strip-caps li:nth-child(7){ animation-delay:36s; }
@keyframes strip-fade{
  0%{ opacity:0; } 1.7%{ opacity:1; } 12.6%{ opacity:1; } 14.3%{ opacity:0; } 100%{ opacity:0; }
}

.strip-caps li.cap-brand{ padding-top:26px; }

@media (min-width:721px){
  .strip-caps li.cap-brand{ padding-top:36px; }
}

.strip-caps li.cap-brand span{ color:var(--yellow); }

.strip-caps li.cap-brand em{ font-style:normal; color:#fff; font-weight:800; }

.top-mark{ font-size:16.5px; }
.top-mark i{ height:51px; margin-top:4px; }

@media (min-width:721px){
  .top-mark{ font-size:23px; }
  .top-mark i{ height:62px; margin-top:5px; }
}

.top-mark i{ height:37px; margin-top:0; }

@media (min-width:721px){
  .top-mark i{ height:45px; margin-top:0; }
}

.strip-copy em b{ color:var(--red-lt); font-weight:800; }

.strip-copy em b{ color:#fff; }

.case-tocwrap{ padding-top:34px; padding-bottom:0; }
.case-toc{ max-width:680px; margin:0 auto; text-align:center; }
.case-toc-t{
  margin:0 0 16px;
  font-size:12.5px; font-weight:800; letter-spacing:.22em;
  color:var(--red);
}
.case-toc ol{
  margin:0; padding:22px 20px; list-style:none;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.case-toc li{ margin:0 0 11px; }
.case-toc li:last-child{ margin-bottom:0; }
.case-toc a{
  font-size:16px; font-weight:600; color:var(--ink-soft);
  transition:color .16s;
}
.case-toc a b{
  display:inline-block; width:2.4em;
  font-size:12.5px; font-weight:800; letter-spacing:.06em;
  color:var(--red);
}
.case-toc a:hover{ color:var(--ink); }

@media (min-width:721px){
  
  .case-body > .wrap{ max-width:880px; text-align:center; }
  .case-body p{ font-size:20.5px; line-height:2.05; }
  .case-body h2{ font-size:40px; padding-top:86px; margin-bottom:34px; }
  .case-body h2::before{ font-size:15px; margin-bottom:16px; }

  
  .case-steps{ max-width:740px; margin:0 auto 18px; text-align:left; }
  .case-steps li{ font-size:19.5px; line-height:1.95; padding-left:46px; }
  .case-steps li::before{ width:30px; height:30px; font-size:14px; }
  .case-no{ max-width:780px; margin:0 auto 18px; text-align:left; }
  .case-no p{ font-size:18.5px; }
  .case-table{ max-width:820px; margin:0 auto 18px; text-align:left; }
  .case-table table{ font-size:18px; }
  .case-table th, .case-table td{ padding:18px 20px; }

  
  .case-lead .wrap{ max-width:880px; }
  .case-lead p{
    border-left:0; background:none;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:30px 0; text-align:center;
    font-size:21px; line-height:2.05;
  }

  
  .case-ba .wrap{ max-width:1340px; gap:26px; }
  .case-shots{ max-width:1340px; gap:26px; }
  .case-ba figcaption,
  .case-shots figcaption{ font-size:16.5px; margin-top:13px; }
  .case-ba figcaption b{ font-size:13px; }

  
  .case-facts .wrap{ max-width:1120px; }

  
  .case-tocwrap{ padding-top:48px; }
  .case-toc-t{ font-size:14px; margin-bottom:20px; }
  .case-toc ol{ padding:28px 24px; }
  .case-toc a{ font-size:18.5px; }
  .case-toc a b{ font-size:14px; }
  .case-toc li{ margin-bottom:14px; }
}

.case-toc{
  max-width:880px; margin:0 auto;
  text-align:left;
  background:var(--bg-soft);
  border-radius:14px;
  padding:26px 26px 28px;
}
.case-toc-t{
  margin:0 0 20px;
  font-size:17px; font-weight:800; letter-spacing:-.02em;
  color:var(--ink);
}
.case-toc ol{
  margin:0; padding:0; border:0; list-style:none;
}
.case-toc li{ margin:0 0 13px; }
.case-toc li:last-child{ margin-bottom:0; }
.case-toc a{
  display:inline-block;
  font-size:16.5px; font-weight:500; line-height:1.6;
  color:var(--ink);
}
.case-toc a b{
  width:auto; margin-right:9px;
  font-size:16.5px; font-weight:700; letter-spacing:0;
  color:var(--red);
}
.case-toc a b::after{ content:'.'; }
.case-toc a:hover{ color:#000; text-decoration:underline; text-underline-offset:4px; }

@media (min-width:721px){
  .case-toc{ padding:34px 36px 36px; }
  .case-toc-t{ font-size:20px; margin-bottom:26px; }
  .case-toc a,
  .case-toc a b{ font-size:19px; }
  .case-toc li{ margin-bottom:16px; }
}

.case-lead{ padding-top:30px; padding-bottom:0; }
.case-lead p{
  max-width:640px; margin:0 auto;
  border-left:0; background:none; padding:0;
  text-align:center;
  font-size:17px; line-height:2;
  color:var(--ink);
}

@media (min-width:721px){
  .case-lead{ padding-top:44px; }
  .case-lead .wrap{ max-width:1120px; }
  .case-lead p{
    max-width:720px;
    border-top:0; border-bottom:0; padding:0;
    font-size:19.5px; line-height:2.1;
  }
}

@media (max-width:720px){
  
  html.home{ scroll-snap-type:none; }
  html.home .hero,
  html.home .ask,
  html.home .strip,
  html.home .foot{ scroll-snap-align:none; }

  
  .hbtn, .hbtn:not(.hbtn-main),
  .hero-box, .float-cta, .float-sms,
  .top, .top.on-hero{ backdrop-filter:none !important; }

  
  .hero-logo{ filter:none; }
}

@keyframes hero-fade{
  0%     { opacity:0; visibility:hidden; }
  1.9%   { opacity:0; visibility:visible; }
  2%     { opacity:1; visibility:visible; }
  14.7%  { opacity:1; visibility:visible; }
  16.7%  { opacity:0; visibility:visible; }
  16.8%  { opacity:0; visibility:hidden; }
  100%   { opacity:0; visibility:hidden; }
}
@keyframes strip-fade{
  0%     { opacity:0; visibility:hidden; }
  1.6%   { opacity:0; visibility:visible; }
  1.7%   { opacity:1; visibility:visible; }
  12.6%  { opacity:1; visibility:visible; }
  14.3%  { opacity:0; visibility:visible; }
  14.4%  { opacity:0; visibility:hidden; }
  100%   { opacity:0; visibility:hidden; }
}

.strip, .ask, .faq, .foot{
  content-visibility:auto;
  contain-intrinsic-size:auto 600px;
}

@media (max-width:720px){
  
  .hero{ min-height:664px; height:auto; padding:40px 0 120px; }
  .strip{ height:560px; }

  
  .hero-img,
  .strip-img,
  .strip-caps li{ animation:none !important; }
  .hero-img{ opacity:0; visibility:hidden; }
  .hero-img:nth-of-type(1){ opacity:1; visibility:visible; }
  .strip-img{ opacity:0; visibility:hidden; }
  .strip-img:nth-child(1){ opacity:1; visibility:visible; }
  .strip-caps li{ opacity:0; visibility:hidden; }
  .strip-caps li:nth-child(1){ opacity:1; visibility:visible; }

  
  .float-cta::before,
  .float-cta::after{ animation:none; opacity:0; }

  
  .hero-scroll,
  .hero-scroll-line::after{ animation:none; }
  .hero-scroll-line::after{ opacity:.85; }
}

.hero-img,
.strip-img,
.strip-caps li{
  animation:none !important;
  opacity:0; visibility:hidden;
  transition:opacity 1.1s ease, visibility 0s linear 1.1s;
}
.hero-img.on,
.strip-img.on,
.strip-caps li.on{
  opacity:1; visibility:visible;
  transition:opacity 1.1s ease, visibility 0s;
}

@media (max-width:720px){
  .hero-img, .strip-img, .strip-caps li{ animation:none !important; }
  .hero-img:nth-of-type(1),
  .strip-img:nth-child(1),
  .strip-caps li:nth-child(1){ opacity:0; visibility:hidden; }
  .hero-img.on, .strip-img.on, .strip-caps li.on{ opacity:1; visibility:visible; }
}

@media (prefers-reduced-motion:reduce){
  .hero-img, .strip-img, .strip-caps li{ transition:none; }
}

@media (max-width:720px){
  .top .wrap{ height:60px; }
}

@media (max-width:720px){
  .logo .mark{ width:76px; }     
  .top .wrap{ height:54px; }
  .top-mark{ font-size:15px; }
  .top-mark i{ height:32px; }
}

@media (max-width:720px){
  .hero-scroll{ animation:scroll-sway2 2.4s ease-in-out infinite; }
  .hero-scroll-line::after{
    animation:scroll-trickle 2.1s cubic-bezier(.65,.05,.36,1) infinite;
    opacity:1;
  }
}
@media (max-width:720px) and (prefers-reduced-motion:reduce){
  .hero-scroll{ animation:none; }
  .hero-scroll-line::after{ animation:none; opacity:.85; }
}

.float-cta{
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s;
}
.float-cta.on{ opacity:1; visibility:visible; transform:translateY(0); }

.ask{ text-align:center; }
.ask-left h2{ text-align:center; }
.ask-underline{ margin-left:auto; margin-right:auto; }
.ask-btns{ justify-content:center; }
.ask-steps{ text-align:left; }

@media (max-width:720px){
  .footer-brand{ font-size:16px; letter-spacing:.3em; margin-bottom:20px; }
  .footer-items{ gap:5px 14px; margin-bottom:20px; }
  .footer-items a{ font-size:13px; }
  .footer-info{ font-size:12.5px; margin-bottom:20px; }
  .footer-info span{ margin:0 9px; }
  .footer-copy{ font-size:11.5px; line-height:1.7; }
  .foot{ padding:56px 20px; }
}

@media (max-width:720px){
  .footer-items{ gap:9px 8px; }
  .footer-items a{ font-size:11px; white-space:nowrap; }
}

.ask, .faq, .foot{
  content-visibility:visible;
  contain-intrinsic-size:auto;
}
.strip{ content-visibility:auto; contain-intrinsic-size:auto 560px; }

.top .wrap{ justify-content:center; }

.top .wrap{ justify-content:flex-start; }

@media (max-width:720px){
  .top .wrap{ justify-content:center; }
}

@media (max-width:720px){
  .hero{ padding:96px 0 84px; }
}

@media (max-width:720px){
  .hero{ min-height:712px; padding:92px 0 132px; }
}

@media (max-width:720px){
  .top .wrap{ height:46px; }
}

@media (max-width:720px){
  .logo .mark{ width:66px; }
  .top .wrap{ height:42px; }
  .top-mark{ font-size:14px; }
  .top-mark i{ height:28px; }
}

@media (max-width:720px){
  .logo .mark{ width:76px; }
  .top-mark{ font-size:15px; }
  .top-mark i{ height:32px; }
  .top .wrap{ height:48px; }
  .top.on-hero{ top:12px; }      
}

@media (max-width:720px){
  .top.on-hero{ top:-12px; }
}

@media (min-width:721px){
  .case-body p{
    max-width:380px; margin-left:auto; margin-right:auto;
    margin-bottom:34px;              
    text-wrap:balance;               
    word-break:keep-all;             
    overflow-wrap:break-word;        
  }
  
  .case-body h2,
  .case-ba figcaption, .case-shots figcaption{ text-wrap:balance; word-break:keep-all; }

  
  .case-steps, .case-table, .case-no{
    max-width:820px; margin-left:auto; margin-right:auto;
  }
  .case-steps li{ margin-bottom:18px; }
}

@media (max-width:720px){
  .case-body p{ margin-bottom:22px; text-wrap:pretty; word-break:keep-all; }
}

.pbody{ padding-top:10px; }
.pbody h2{
  margin:40px 0 14px; font-size:21px; line-height:1.4;
  font-weight:800; letter-spacing:-.02em; color:var(--ink);
}
.pbody h2:first-child{ margin-top:0; }
.pbody p{ margin:0 0 14px; font-size:16.5px; line-height:1.85; color:var(--ink); }
.pbody p b{ font-weight:700; }

@media (min-width:721px){
  .pbody > .wrap{ max-width:880px; text-align:center; }
  .pbody h2{
    font-size:30px; margin:76px 0 24px;
    text-wrap:balance; word-break:keep-all;
  }
  .pbody h2:first-child{ margin-top:0; }
  .pbody p{
    font-size:19px; line-height:2.0;
    max-width:380px; margin-left:auto; margin-right:auto; margin-bottom:30px;
    text-wrap:balance; word-break:keep-all; overflow-wrap:break-word;
  }
  
  .pbody .case-no{ max-width:820px; margin-left:auto; margin-right:auto; text-align:left; }
}
@media (max-width:720px){
  .pbody p{ margin-bottom:18px; text-wrap:pretty; word-break:keep-all; }
}

.case-body h2{
  text-align:left;
  border-top:0;
  border-left:4px solid var(--red);
  padding:2px 0 2px 16px;
  margin:64px 0 20px;
}
.case-body h2::before{
  display:block; margin-bottom:8px;   
}
.case-body h2:first-child{ padding-top:2px; margin-top:0; }

@media (min-width:721px){
  .case-body h2{
    padding:4px 0 4px 22px;
    border-left-width:5px;
    margin:104px 0 30px;              
  }
  .case-body h2:first-child{ padding-top:4px; margin-top:0; }
  .case-body h2::before{ margin-bottom:10px; }
}

.case-table thead th,
.case-table td{ text-align:center; }
.case-table thead th:first-child{ text-align:left; }
.case-table tbody th{ text-align:left; }

.case-body h2::before{
  display:inline;
  margin:0 .45em 0 0;
  font-size:inherit; font-weight:inherit; letter-spacing:-.02em;
  color:var(--red);
}
@media (min-width:721px){
  .case-body h2::before{ margin:0 .45em 0 0; }
}

@media (min-width:721px){
  .case-body h2,
  .case-body p{ max-width:440px; margin-left:auto; margin-right:auto; }
  .case-body h2{
    font-size:31px; line-height:1.45;
    margin-top:96px; margin-bottom:26px;
  }
  .case-body h2:first-child{ margin-top:0; }
}

@media (min-width:721px){
  .case-body > .wrap{ max-width:720px; text-align:left; }

  .case-body h2{
    max-width:none; margin-left:0; margin-right:0;
    text-align:left;
    font-size:28px; line-height:1.45;
    margin-top:88px; margin-bottom:22px;
    text-wrap:nowrap;          
  }
  .case-body h2:first-child{ margin-top:0; }

  .case-body p{
    max-width:none; margin-left:0; margin-right:0;
    text-align:left;
    font-size:19px; line-height:2.0; margin-bottom:26px;
    text-wrap:pretty;
  }

  
  .case-steps, .case-table, .case-no{
    max-width:none; margin-left:0; margin-right:0;
  }
}

.case-body h2::before{ content:counter(h2n, decimal-leading-zero) '.'; }

@media (min-width:721px){
  .case-body p{
    text-align:center;
    max-width:none; margin-left:0; margin-right:0;
    text-wrap:balance; word-break:keep-all;
  }
  .case-body h2{ text-align:left; }
}

@media (min-width:721px){

  
  .logo .mark{ width:126px; }
  .top-mark{ font-size:26px; }
  .top-mark i{ height:42px; }

  
  .hero-logo{ max-width:840px; }

  
  .hbtn{ width:262px; height:98px; font-size:23px; }

  
  .ask-eyebrow{ font-size:18px; }
  .ask-left h2{ font-size:58px; }
  .ask-lead{ font-size:22px; }
  .ask-btn{ height:108px; font-size:23px; }
  .ask-steps h3{ font-size:27px; }
  .ask-steps p{ font-size:20px; }
}

@media (min-width:721px){
  .top .wrap{ padding-left:32px; }
  .top.on-hero{ top:-12px; }
}

@media (min-width:721px){
  .top.on-hero .wrap,
  .top:not(.on-hero) .wrap{ padding-left:32px; }

  
  .hero-logo{ max-width:800px; }
}

@media (min-width:721px){
  .hero-copy, .copy-accent{ font-size:28px; }
}

@media (min-width:721px){
  .top{
    position:fixed; left:0; right:0;
    transition:background-color .25s ease, backdrop-filter .25s ease;
  }
  .top.stuck{
    top:0;
    background:rgba(24,21,20,.90);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    box-shadow:0 1px 0 rgba(255,255,255,.07);
  }
  .top.stuck .wrap{ height:68px; }
  .top.stuck .logo .mark{ width:98px; }
  .top.stuck .top-mark{ font-size:21px; }
  .top.stuck .top-mark i{ height:34px; }
  .top .logo .mark,
  .top .top-mark{ transition:width .25s ease, font-size .25s ease; }
}

@media (min-width:721px){
  .top.on-hero,
  .top:not(.on-hero){ position:fixed; }
}

@media (min-width:721px){
  .case-body > .wrap{ max-width:880px; text-align:left; }

  .case-body h2{
    max-width:none; margin-left:0; margin-right:0;
    text-align:left;
  }

  .case-body p{
    max-width:640px; margin-left:auto; margin-right:auto;
    text-align:center;
    text-wrap:balance; word-break:keep-all;
  }

  .case-steps, .case-table, .case-no{
    max-width:none; margin-left:0; margin-right:0;
  }
}

@media (min-width:721px){
  .top.stuck .wrap{ height:auto; }
  .top.stuck .logo .mark{ width:126px; }
  .top.stuck .top-mark{ font-size:26px; }
  .top.stuck .top-mark i{ height:42px; }
  .top .logo .mark,
  .top .top-mark{ transition:none; }
}

@media (min-width:721px){
  .case-body p{ max-width:520px; }
}

@media (min-width:721px){
  .case-body > .wrap{ max-width:960px; }
  .case-body h2{ font-size:34px; }
  .case-body p{
    font-size:20.5px; line-height:1.95;
    max-width:440px;
  }
}

@media (min-width:721px){
  .top{ transition:background-color .2s linear; }
  .top.stuck{
    top:-12px;
    background:rgba(24,21,20,.94);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
}

@media (min-width:721px){
  .top.stuck{ background:rgba(24,21,20,.62); }
}

a.top-mark{ text-decoration:none; cursor:pointer; }
a.top-mark:hover{ opacity:.85; }

@media (min-width:721px){
  .top{ transition:none; }
  .top.stuck{ box-shadow:none; }
}

.case-sum{ margin-top:52px; }
.case-sum-t{
  margin:0 0 14px; font-size:13px; font-weight:800;
  letter-spacing:.22em; color:var(--red); text-transform:uppercase;
}
.case-sum .case-table tbody th{ width:26%; }
.case-sum .case-table td{ text-align:left; }

@media (min-width:721px){
  .case-sum{ max-width:720px; margin-left:auto; margin-right:auto; margin-top:76px; }
  .case-sum-t{ font-size:14px; margin-bottom:18px; }
  .case-sum .case-table table{ font-size:17px; }
  .case-sum .case-table th, .case-sum .case-table td{ padding:16px 18px; }
}

.case-sum .case-table table{ border:1px solid var(--line); }
.case-sum .case-table th,
.case-sum .case-table td{ border:1px solid var(--line); }
.case-sum .case-table tbody tr:last-child th,
.case-sum .case-table tbody tr:last-child td{ border-bottom:1px solid var(--line); }

.case-sum .case-table tbody th{
  width:92px;
  padding-left:14px; padding-right:14px;
  text-align:justify;
  text-align-last:justify;
  white-space:normal;
}
@media (min-width:721px){
  .case-sum .case-table tbody th{
    width:124px;                      
    padding-left:28px; padding-right:28px;
  }
}

@media (min-width:721px){
  .case-body p{ margin-bottom:40px; }
  .case-body h2{ margin-top:150px; margin-bottom:32px; }
  .case-body h2:first-child{ margin-top:0; }
  .case-steps li{ margin-bottom:26px; }
  .case-table th, .case-table td{ padding:18px 22px; }
  .case-sum .case-table tbody th{ padding-left:28px; padding-right:28px; }
  .case-no{ padding:34px 38px 16px; }
  .case-no p{ margin-bottom:22px; }
}

@media (min-width:721px){
  .case-sum .case-table th,
  .case-sum .case-table td{ padding:18px 22px; }
  .case-sum .case-table tbody th{ padding-left:28px; padding-right:28px; }
}

.case-sum .case-table tbody th{
  text-align:left;
  text-align-last:auto;
  width:auto; white-space:nowrap;
}
@media (min-width:721px){
  .case-sum .case-table tbody th{ width:auto; padding-left:22px; padding-right:22px; }
}

@media (max-width:720px){
  .top.on-hero,
  .top:not(.on-hero){ position:fixed; left:0; right:0; transition:none; }
  .top.stuck{
    background:rgba(24,21,20,.62);
    backdrop-filter:none; -webkit-backdrop-filter:none;
    box-shadow:none;
  }
  
  .top.stuck{ top:-12px; }
  .top.stuck .wrap{ height:48px; }
  .top.stuck .logo .mark{ width:76px; }
  .top.stuck .top-mark{ font-size:15px; }
  .top.stuck .top-mark i{ height:32px; }
}

.footer-info b{ font-weight:inherit; white-space:nowrap; }

@media (max-width:720px){
  .footer-info{ font-size:11.5px; }
  .footer-info span{ margin:0 7px; }
  .footer-info span:nth-of-type(2){
    display:block; height:0; overflow:hidden; margin:0;
  }
}

@media (max-width:720px){
  .footer-info span:nth-of-type(1){
    display:block; height:0; overflow:hidden; margin:0;
  }
  .footer-info span:nth-of-type(2){
    display:inline; height:auto; overflow:visible; margin:0 7px;
  }
}

@media (max-width:720px){
  .ask-eyebrow{ font-size:11.5px; }
  .ask-left h2{ font-size:38px; }
  .ask-lead{ font-size:16.5px; }
  .ask-btn{ font-size:16.5px; }
  .ask-steps .n{ font-size:12px; }
  .ask-steps h3{ font-size:19px; }
  .ask-steps p{ font-size:15.5px; }

  .faq h2{ font-size:27px; }
  .faq summary{ font-size:15.5px; }
  .faq-a p{ font-size:15px; }
}

@media (max-width:720px){
  .jump{
    display:block;
    text-align:center;
    line-height:2.1;
  }
  .jump a{
    display:inline;
    background:none; border:0; border-radius:0;
    padding:0; margin:0;
    font-size:14.5px; font-weight:500;
    color:var(--ink-soft);
  }
  
  .jump a:not(:last-child)::after{
    content:'·';
    margin:0 9px;
    color:var(--line);
    font-weight:400;
  }
}

@media (min-width:721px){
  .float-case{ display:none; }
}

@media (max-width:720px){
  .float-cta{ width:64px; height:64px; gap:3px; }     
  .float-cta span{ font-size:10px; }
  .float-cta svg{ width:19px; height:19px; }

  .float-case{ bottom:94px; }                          

  
  .float-case{
    background:var(--yellow);
    border-color:rgba(0,0,0,.18);
    color:#1A1206;
    box-shadow:0 8px 20px rgba(233,168,0,.38), 0 2px 8px rgba(0,0,0,.20);
  }

  
  .float-cta::before{
    content:''; position:absolute; inset:0;
    border-radius:50%;
    border:2px solid currentColor;
    opacity:0;
    animation:none;
    pointer-events:none;
  }
  .float-cta.on::before{ animation:cta-ring 3.2s ease-out infinite; }
  .float-case.on::before{ animation-delay:1.6s; }      
  .float-cta::after{ content:none; }                   
}

@keyframes cta-ring{
  0%   { transform:scale(1);    opacity:.55; }
  70%  { transform:scale(1.24); opacity:0; }   
  100% { transform:scale(1.24); opacity:0; }
}

@media (max-width:720px){
  .foot-big{ padding-bottom:180px; }
}

@media (max-width:720px){
  .float-cta::before{ border-color:var(--red); }
}

.float-cta::before{
  content:''; position:absolute; inset:0;
  border-radius:50%;
  border:2px solid var(--red);        
  opacity:0; animation:none;
  pointer-events:none;
}
.float-cta::after{ content:none; }
.float-cta.on::before{ animation:cta-ring 3.2s ease-out infinite; }

.float-case::before{ border-color:var(--yellow); }   
.float-case.on::before{ animation-delay:1.6s; }      

a, button, summary, label, [role="button"]{
  -webkit-tap-highlight-color:transparent;
}

@media (max-width:720px){
  .hbtn, .ask-btn, .ccard{
    transition:background .18s ease, color .18s ease, transform .12s ease, opacity .12s ease;
  }
  .hbtn:active, .ask-btn:active, .ccard:active{ transform:scale(.985); opacity:.92; }
  .float-cta:active{ transform:scale(.93); }

  
  .jump a:active,
  .case-toc a:active,
  .case-body a:active,
  .faq summary:active{
    background:rgba(233,168,0,.20);
    border-radius:5px;
    -webkit-box-decoration-break:clone; box-decoration-break:clone;
  }

  
  .footer-items a:active,
  .footer-info a:active,
  .ask a:active,
  .logo:active,
  .top-mark:active{
    background:rgba(255,255,255,.12);
    border-radius:5px;
  }
}

@media (max-width:720px){
  .hbtn{ font-size:16.5px; }
}

@media (hover:hover){
  .float-case:hover{
    background:#D89B00;
    border-color:rgba(0,0,0,.28);
    color:#1A1206;
  }
}

@media (hover:none){
  .float-cta:hover{
    background:var(--red);
    border-color:rgba(255,255,255,.42);
    color:#fff;
  }
  .float-case:hover{
    background:var(--yellow);
    border-color:rgba(0,0,0,.18);
    color:#1A1206;
  }
}

.float-case::before{ content:none; }
.float-case.on::before{ animation:none; }

@media (min-width:721px){
  .case-lead p{
    max-width:520px; margin-left:auto; margin-right:auto;
    font-size:19px; line-height:1.95;
    text-wrap:balance; word-break:keep-all;
  }
}

@media (max-width:720px){
  .top.on-hero,
  .top.stuck{ top:-20px; }
}

@media (max-width:720px){
  .case-body p{
    font-size:18.5px; line-height:1.95;
    margin-bottom:34px;
  }
  .case-body h2{ font-size:24px; margin-bottom:22px; }
  .case-steps li{ font-size:18px; line-height:1.9; margin-bottom:24px; }
  .case-no p{ font-size:17.5px; line-height:1.9; margin-bottom:22px; }
  .case-lead p{ font-size:18px; line-height:1.95; }
  .case-table table{ font-size:16.5px; }
  .case-table th, .case-table td{ padding:15px 14px; }
}

@media (max-width:720px){
  .case-body p{ margin-bottom:37px; }
  .case-body h2{ font-size:23px; margin-bottom:22px; }
}

@media (max-width:720px){
  .footer-copy span{ display:block; }
}

*{ -webkit-tap-highlight-color:transparent; }

@media (max-width:720px){
  
  .jump a:active,
  .case-toc a:active,
  .case-body a:active,
  .faq summary:active,
  .footer-items a:active,
  .footer-info a:active,
  .ask a:active,
  .logo:active,
  .top-mark:active{
    background:none;
    border-radius:0;
    opacity:.55;
  }
}

a:focus, button:focus, summary:focus, label:focus,
.float-cta:focus, .hbtn:focus, .ask-btn:focus, .ccard:focus{ outline:none; }

a:focus-visible, button:focus-visible, summary:focus-visible,
.float-cta:focus-visible, .hbtn:focus-visible, .ask-btn:focus-visible, .ccard:focus-visible{
  outline:2px solid var(--yellow);
  outline-offset:3px;
  border-radius:inherit;
}

::selection{ background:rgba(233,168,0,.30); color:inherit; }
::-moz-selection{ background:rgba(233,168,0,.30); color:inherit; }

.float-case{
  display:flex;
  background:var(--yellow);
  border-color:rgba(0,0,0,.18);
  color:#1A1206;
  box-shadow:0 8px 20px rgba(233,168,0,.38), 0 2px 8px rgba(0,0,0,.20);
}

@media (min-width:721px){
  .float-case{ bottom:128px; }   
}
@media (max-width:720px){
  .float-case{ bottom:94px; }
}

@media (max-width:720px){
  .hbtn{ width:146px; height:76px; }
  .hero-actions{ gap:12px; }
}

@media (max-width:720px){
  .hero-copy, .copy-accent{ font-size:17.5px; line-height:1.8; }
}

@media (max-width:720px){
  .top .wrap{ justify-content:flex-start; gap:12px; }
  .top-mark{ gap:12px; }
}

@media (max-width:720px){
  .top.on-hero .wrap,
  .top:not(.on-hero) .wrap{ padding-left:16px; }
  .top.on-hero,
  .top.stuck{ top:-26px; }
}

@media (max-width:720px){
  .top .wrap{ gap:5px; }
}

.case-inline{ margin:26px 0 34px; }
.case-inline img{
  width:100%; height:auto; display:block;
  border-radius:12px; background:var(--bg-soft);
}
.case-inline figcaption{
  margin-top:11px; font-size:14px; line-height:1.7;
  color:var(--ink-soft); text-align:left;
}
@media (min-width:721px){
  .case-inline{ margin:34px 0 46px; }
  .case-inline figcaption{ font-size:15px; margin-top:13px; }
}

.case-final{ margin-top:14px; }
.case-final img{
  width:100%; height:auto; display:block;
  border-radius:14px; background:var(--bg-soft);
}
.case-final figcaption{
  margin-top:12px; font-size:14px; line-height:1.7;
  color:var(--ink-soft); text-align:left;
}
@media (min-width:721px){
  .case-final{ max-width:1340px; margin:26px auto 0; }
  .case-final figcaption{ font-size:15.5px; margin-top:15px; }
}

.case-sum .case-table tbody th{ text-align:center; }

.case-ba .wrap{ position:relative; }

.ba-ring{
  position:absolute;
  left:var(--x,50%); top:var(--y,50%); width:var(--w,28%);
  aspect-ratio:1; transform:translate(-50%,-50%);
  border:3px solid rgba(255,255,255,.92);
  border-radius:50%;
  box-shadow:0 0 0 2px rgba(0,0,0,.22), 0 2px 12px rgba(0,0,0,.3);
  pointer-events:none; z-index:3;
}

.ba-arrow{
  position:absolute; z-index:5;
  left:50%; top:calc(50% - 16px); transform:translate(-50%,-50%);
  width:52px; height:52px; border-radius:50%;
  background:var(--yellow); color:#1A1206;
  font-style:normal; font-weight:900; font-size:27px; line-height:50px;
  text-align:center; letter-spacing:-.04em;
  border:1px solid rgba(0,0,0,.14);
  box-shadow:0 6px 18px rgba(0,0,0,.34);
  pointer-events:none;
}

@media (max-width:720px){
  .ba-arrow{
    width:42px; height:42px; line-height:40px; font-size:22px;
    top:calc(50% - 6px);
    transform:translate(-50%,-50%) rotate(90deg);
  }
  .ba-ring{ border-width:2.5px; }
}

@media (max-width:720px){
  .case-ba .wrap{ gap:50px; }
  .ba-arrow{ top:50%; }
}

.ba-shot{ position:relative; border-radius:10px; overflow:hidden; line-height:0; }
.ba-shot img{ border-radius:0; }
.case-ba .ba-ring{
  border:0;
  box-shadow:0 0 0 9999px rgba(10,8,7,.46);
  outline:2px solid rgba(255,255,255,.75);
  outline-offset:-1px;
}

@media (min-width:721px){
  .case-body p{ margin-bottom:54px; }        
  .case-body h2{ margin-bottom:38px; }       
  .case-no p{ margin-bottom:34px; }          
}
@media (max-width:720px){
  .case-body p{ margin-bottom:49px; }        
  .case-body h2{ margin-bottom:27px; }       
  .case-no p{ margin-bottom:30px; }
}

.case-body h2:first-child{ margin-top:64px; }                        
.case-body > .wrap:first-of-type > h2:first-child{ margin-top:20px; } 

@media (min-width:721px){
  .case-body h2:first-child{ margin-top:150px; }
  .case-body > .wrap:first-of-type > h2:first-child{ margin-top:90px; } 
}

.case-ba{ padding-top:64px; }
@media (min-width:721px){ .case-ba{ padding-top:88px; } }

.case-ba figcaption b{
  display:inline-block;
  margin-right:11px;
  padding:5px 11px 4px;
  border-radius:5px;
  background:var(--red);
  color:#fff;
  font-size:12px; font-weight:800; letter-spacing:.14em;
}
@media (min-width:721px){
  .case-ba figcaption b{ font-size:12.5px; padding:6px 13px 5px; }
}

.ba-board{
  background:var(--red);
  border-radius:14px;
  padding:22px 16px 20px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.ba-brand{
  margin:0 0 18px;
  text-align:center;
  color:rgba(255,255,255,.88);
  font-size:11.5px; font-weight:800; letter-spacing:.42em; text-indent:.42em;
}
.ba-pair{
  display:grid; grid-template-columns:1fr 1fr; gap:9px;
  position:relative;
}
.ba-pair figure{ margin:0; }
.ba-pair img{
  display:block; width:100%; height:auto;
  border-radius:3px; background:rgba(0,0,0,.2);
}
.ba-pair figcaption{
  margin-top:11px; text-align:center;
  color:#fff; font-size:11.5px; font-weight:800;
  letter-spacing:.26em; text-indent:.26em;
}
.ba-note{
  margin:17px 2px 0;
  text-align:center;
  color:rgba(255,255,255,.93);
  font-size:14px; line-height:1.75; word-break:keep-all;
}
.ba-note b{ color:#FFD24A; font-weight:800; }

.ba-board .ba-arrow{
  position:absolute; z-index:5;
  left:50%; top:calc(50% - 14px);
  transform:translate(-50%,-50%);
  width:30px; height:30px; border-radius:50%;
  background:var(--yellow); color:#1A1206;
  font-style:normal; font-weight:900; font-size:17px; line-height:28px;
  text-align:center; letter-spacing:-.04em;
  border:1px solid rgba(0,0,0,.14);
  box-shadow:0 4px 12px rgba(0,0,0,.3);
  pointer-events:none;
}

@media (min-width:721px){
  .ba-board{ padding:34px 30px 30px; border-radius:18px; }
  .ba-brand{ margin-bottom:26px; font-size:13px; letter-spacing:.46em; text-indent:.46em; }
  .ba-pair{ gap:14px; }
  .ba-pair img{ border-radius:5px; }
  .ba-pair figcaption{ margin-top:16px; font-size:13.5px; letter-spacing:.3em; text-indent:.3em; }
  .ba-note{ margin-top:24px; font-size:17px; }
  .ba-board .ba-arrow{
    width:44px; height:44px; line-height:42px; font-size:24px;
    top:calc(50% - 19px);
  }
}

.case-ba-board .wrap{ display:block; }
@media (min-width:721px){
  .case-ba-board .wrap{ max-width:1040px; }
}

.ba-board{ padding:15px 15px 15px; }
.ba-brand{ margin:0 0 13px; font-size:14px; letter-spacing:.4em; text-indent:.4em; }
.ba-pair{ gap:8px; }
.ba-pair img{ aspect-ratio:1 / 1; object-fit:cover; }
.ba-pair figcaption{ margin-top:11px; font-size:13.5px; letter-spacing:.24em; text-indent:.24em; }
.ba-note{ margin:13px 0 0; font-size:14px; }
.ba-board .ba-arrow{ top:calc(50% - 15px); }

@media (min-width:721px){
  .ba-board{ padding:22px; }
  .ba-brand{ margin-bottom:18px; font-size:17px; letter-spacing:.44em; text-indent:.44em; }
  .ba-pair{ gap:12px; }
  .ba-pair figcaption{ margin-top:15px; font-size:16px; letter-spacing:.28em; text-indent:.28em; }
  .ba-note{ margin-top:18px; font-size:17px; }
  .ba-board .ba-arrow{ top:calc(50% - 19px); }
}

.ba-board{ padding:4px 10px 9px; border-radius:10px; }
.ba-brand{ margin:8px 0 10px; font-size:15.5px; letter-spacing:.26em; text-indent:.26em; }
.ba-pair{ gap:8px; }
.ba-pair img{ border-radius:6px; }
.ba-pair figcaption{ margin-top:7px; font-size:13.5px; letter-spacing:.16em; text-indent:.16em; }
.ba-note{ margin:11px 0 0; font-size:13px; }
.ba-board .ba-arrow{
  width:24px; height:24px; line-height:22px; font-size:14px;
  border-radius:6px;
  top:calc(50% - 10px);
}

@media (min-width:721px){
  .ba-board{ padding:6px 16px 13px; border-radius:12px; }
  .ba-brand{ margin:10px 0 14px; font-size:19px; letter-spacing:.34em; text-indent:.34em; }
  .ba-pair{ gap:12px; }
  .ba-pair figcaption{ margin-top:9px; font-size:15.5px; letter-spacing:.22em; text-indent:.22em; }
  .ba-note{ margin-top:13px; font-size:14.5px; }
  .ba-board .ba-arrow{
    width:30px; height:30px; line-height:28px; font-size:18px;
    border-radius:6px;
    top:calc(50% - 13px);
  }
}

.ba-pair figure{ text-align:center; }
.ba-pair figcaption{
  display:inline-block;
  margin-top:8px;
  padding:4px 15px;
  border-radius:999px;
  background:#fff;
  color:var(--red);
  font-size:13px; font-weight:800;
  letter-spacing:.16em; text-indent:.16em;
  line-height:1.5;
}
@media (min-width:721px){
  .ba-pair figcaption{
    margin-top:10px;
    padding:5px 19px;
    font-size:15px;
    letter-spacing:.2em; text-indent:.2em;
  }
}

.ba-brand{ color:var(--yellow); }

.ba-brand{ color:#FFD24A; }

.ba-board{
  background:#241F1C;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.ba-note{ color:rgba(255,255,255,.88); }
.ba-note b{ color:#FFD24A; }

.ba-board{ background:var(--brand); }

.ba-board .ba-arrow{ top:calc(50% - 17.75px); }
@media (min-width:721px){
  .ba-board .ba-arrow{ top:calc(50% - 21.25px); }
}

@media (max-width:720px){
  .ba-pair figcaption{ font-size:11.5px; padding:4px 13px; letter-spacing:.14em; text-indent:.14em; }
  .ba-board .ba-arrow{ top:calc(50% - 16.6px); }
}

.ba-board .ba-arrow{
  display:grid; place-items:center;
  font-size:0; line-height:0;
}
.ba-board .ba-arrow::before{
  content:'';
  width:0; height:0;
  border-left:7px solid #1A1206;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  margin-left:2px;
}
@media (min-width:721px){
  .ba-board .ba-arrow::before{
    border-left-width:9px;
    border-top-width:6.5px;
    border-bottom-width:6.5px;
    margin-left:3px;
  }
}

.ba-board .ba-arrow{ top:calc(50% - 20.6px); }
@media (min-width:721px){
  .ba-board .ba-arrow{ top:calc(50% - 26.25px); }
}

.ba-board .ba-arrow{ top:calc(50% - 16.6px); }
@media (min-width:721px){
  .ba-board .ba-arrow{ top:calc(50% - 21.25px); }
}

.ba-board .ba-arrow::before{ content:none; }
.ba-board .ba-arrow{
  display:grid; place-items:center;
  line-height:1;
  font-size:14px;
  padding-bottom:3px;
}
@media (min-width:721px){
  .ba-board .ba-arrow{ font-size:18px; padding-bottom:4px; }
}

.ba-board .ba-arrow{ font-size:18px; padding-bottom:4px; }
@media (min-width:721px){
  .ba-board .ba-arrow{ font-size:23px; padding-bottom:5px; }
}

.ba-board .ba-arrow{ font-size:23px; padding-bottom:2px; }
@media (min-width:721px){
  .ba-board .ba-arrow{ font-size:30px; padding-bottom:3px; }
}

.ba-board .ba-arrow{ padding:0; font-size:0; line-height:0; }
.ba-board .ba-arrow svg{ display:block; width:12px; height:12px; }
@media (min-width:721px){
  .ba-board .ba-arrow svg{ width:15px; height:15px; }
}

.ccard img{ aspect-ratio:16 / 9; object-fit:cover; height:auto; }

.case-body h3{
  margin:40px 0 16px;
  font-size:19px; font-weight:800; line-height:1.5;
  color:var(--ink);
  letter-spacing:-.02em;
  text-wrap:balance; word-break:keep-all;
}
.case-body h3::before{
  content:'';
  display:inline-block;
  width:7px; height:7px; margin:0 9px 3px 0;
  border-radius:50%;
  background:var(--red);
  vertical-align:middle;
}
@media (min-width:721px){
  .case-body h3{
    max-width:440px; margin:62px auto 20px;
    font-size:22px; text-align:center;
  }
}

.case-can{ margin:0 0 10px; }
.case-can table{
  width:100%; border-collapse:collapse;
  border:1px solid var(--line);
  background:#fff;
}
.case-can th, .case-can td{
  border:1px solid var(--line);
  padding:14px 14px;
  font-size:15.5px; line-height:1.6;
  text-align:left; vertical-align:top;
  word-break:keep-all;
}
.case-can thead th{
  background:var(--bg-soft);
  font-size:13px; font-weight:800; letter-spacing:.02em;
  color:var(--ink-soft);
}
.case-can tbody th{ font-weight:700; color:var(--ink); }

.case-can .yes,
.case-can .maybe,
.case-can .no{
  white-space:nowrap; font-weight:800; font-size:14.5px;
}
.case-can .yes{ color:#0C7C4A; }
.case-can .maybe{ color:#B07400; }
.case-can .no{ color:var(--red); }

.case-can .why{ color:var(--ink-soft); font-size:14.5px; }

@media (min-width:721px){
  .case-can{ max-width:880px; margin:0 auto 12px; }
  .case-can th, .case-can td{ padding:17px 20px; font-size:17px; }
  .case-can thead th{ font-size:13.5px; }
  .case-can .yes, .case-can .maybe, .case-can .no{ font-size:16px; }
  .case-can .why{ font-size:15.5px; }
}
@media (max-width:720px){
  
  .case-can thead{ display:none; }
  .case-can table, .case-can tbody, .case-can tr, .case-can th, .case-can td{ display:block; }
  .case-can tr{ border:1px solid var(--line); margin-bottom:-1px; }
  .case-can th, .case-can td{ border:0; padding:0 15px; }
  .case-can tbody th{ padding-top:15px; font-size:16.5px; }
  .case-can .yes, .case-can .maybe, .case-can .no{ padding-top:5px; }
  .case-can .why{ padding-bottom:15px; }
}

.case-can thead th{ text-align:center; }

@media (max-width:720px){
  .case-table{ overflow-x:visible; }
  .case-table table,
  .case-table tbody,
  .case-table tr,
  .case-table th,
  .case-table td{ display:block; width:auto; }
  .case-table tr{ border-bottom:1px solid var(--line); }
  .case-table tbody tr:last-child{ border-bottom:0; }
  .case-table tbody th{
    border:0; padding:15px 16px 0;
    font-size:12.5px; font-weight:800; letter-spacing:.08em;
    color:var(--ink-soft);
  }
  .case-table td{
    border:0; padding:5px 16px 15px;
    font-size:16.5px; line-height:1.65;
  }
}

@media (max-width:720px){
  .case-table table{ min-width:0; width:100%; }
  .case-sum .case-table tbody th,
  .case-table tbody th{ text-align:left; background:var(--bg-soft); }
}

.case-faq{ margin:0 0 10px; }
.case-faq details{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  margin-bottom:10px;
  overflow:hidden;
}
.case-faq summary{
  list-style:none; cursor:pointer;
  padding:16px 46px 16px 18px;
  position:relative;
  font-size:16.5px; font-weight:700; line-height:1.55;
  color:var(--ink); word-break:keep-all;
}
.case-faq summary::-webkit-details-marker{ display:none; }
.case-faq summary::after{
  content:''; position:absolute; right:19px; top:50%;
  width:9px; height:9px; margin-top:-6px;
  border-right:2px solid var(--red); border-bottom:2px solid var(--red);
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.case-faq details[open] summary::after{ transform:rotate(-135deg); margin-top:-2px; }
.case-faq details[open] summary{ color:var(--red); }
.case-faq .faq-a{
  padding:0 18px 17px;
  font-size:16px; line-height:1.85; color:var(--ink-soft);
  word-break:keep-all;
}
.case-faq .faq-a b{ color:var(--ink); font-weight:700; }

@media (min-width:721px){
  .case-faq{ max-width:880px; margin:0 auto 12px; }
  .case-faq summary{ padding:20px 54px 20px 24px; font-size:18.5px; }
  .case-faq .faq-a{ padding:0 24px 22px; font-size:17px; }
}

.case-can{ margin-top:30px; margin-bottom:54px; }
.case-table{ margin-top:30px; margin-bottom:54px; }
.case-sum{ margin-top:68px; }
.case-sum .case-table{ margin-top:0; margin-bottom:0; }   
@media (min-width:721px){
  .case-can{ margin-top:40px; margin-bottom:76px; }
  .case-table{ margin-top:40px; margin-bottom:76px; }
  .case-sum{ margin-top:100px; }
  .case-sum .case-table{ margin-top:0; margin-bottom:0; }
}

@media (min-width:721px){
  .case-can th, .case-can td,
  .case-table th, .case-table td,
  .case-sum .case-table th, .case-sum .case-table td{ padding:24px 22px; }
}
@media (max-width:720px){
  .case-table th, .case-table td,
  .case-sum .case-table th, .case-sum .case-table td{ padding:20px 16px; }
  
  .case-can th, .case-can td{ padding:0 16px; }
  .case-can tbody th{ padding-top:20px; }
  .case-can .yes, .case-can .maybe, .case-can .no{ padding-top:7px; }
  .case-can .why{ padding-bottom:20px; }
}

.ba-mark{ position:relative; display:block; }
.ba-dot{
  position:absolute; left:var(--x); top:var(--y);
  width:15%; aspect-ratio:1/1; transform:translate(-50%,-50%);
  border:2px solid var(--yellow); border-radius:50%;
  box-shadow:0 0 0 1px rgba(0,0,0,.35), 0 0 10px rgba(0,0,0,.3);
}
.ba-dot b{
  position:absolute; right:-7px; top:-7px;
  width:19px; height:19px; border-radius:50%;
  background:var(--yellow); color:var(--brand);
  font-size:12px; font-weight:800; line-height:19px; text-align:center;
}
.ba-zoom{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:11px 0 0; }
.ba-zoom figure{ margin:0; text-align:center; }
.ba-zoom img{
  display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover;
  border-radius:50%; border:2px solid var(--yellow);
}
.ba-zoom figcaption{
  margin-top:7px; color:rgba(255,255,255,.93); font-size:12px; font-weight:700;
}
.ba-zoom figcaption b{ color:var(--yellow); }
@media (min-width:721px){
  .ba-dot{ width:13%; border-width:3px; }
  .ba-dot b{ right:-9px; top:-9px; width:24px; height:24px; font-size:14px; line-height:24px; }
  .ba-zoom{ gap:12px; margin-top:14px; }
  .ba-zoom img{ border-width:3px; }
  .ba-zoom figcaption{ margin-top:9px; font-size:13.5px; }
}

.ba-zoom{ max-width:58%; margin-left:auto; margin-right:auto; }
@media (min-width:721px){ .ba-zoom{ max-width:50%; } }

.ba-dot{ width:11%; }
@media (min-width:721px){ .ba-dot{ width:9.5%; } }

.ba-lens{
  position:absolute; left:var(--x); top:var(--y);
  width:24%; aspect-ratio:1/1; transform:translate(-50%,-50%);
  border:3px solid var(--yellow); border-radius:50%; overflow:hidden;
  box-shadow:0 0 0 1px rgba(0,0,0,.35), 0 4px 14px rgba(0,0,0,.4);
}
.ba-lens img{ display:block; width:100%; height:100%; object-fit:cover; }
.ba-lens b{
  position:absolute; right:-4px; top:-4px;
  width:20px; height:20px; border-radius:50%;
  background:var(--yellow); color:var(--brand);
  font-size:12px; font-weight:800; line-height:20px; text-align:center;
}
@media (min-width:721px){
  .ba-lens{ width:26%; border-width:4px; }
  .ba-lens b{ right:-5px; top:-5px; width:26px; height:26px; font-size:14.5px; line-height:26px; }
}

.case-can, .case-table{ margin-top:54px; margin-bottom:54px; }
@media (min-width:721px){
  .case-can, .case-table{ margin-top:76px; margin-bottom:76px; }
}
.case-sum .case-table{ margin-top:0; margin-bottom:0; }

.ba-lens{ width:27%; }
@media (min-width:721px){ .ba-lens{ width:28%; } }

@media (min-width:721px){
  .case-tocwrap .wrap{ max-width:1040px; }
  .case-toc{ max-width:none; }
}

.navbox{ position:relative; margin-left:auto; }
.navbox summary{
  list-style:none; cursor:pointer; display:grid; gap:5px;
  width:40px; height:40px; align-content:center; justify-items:end;
  padding:0 2px;
}
.navbox summary::-webkit-details-marker{ display:none; }
.navbox summary i{ display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:.18s; }
.navbox[open] summary i:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.navbox[open] summary i:nth-child(2){ opacity:0; }
.navbox[open] summary i:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.navbox nav{
  position:absolute; right:0; top:46px; z-index:60;
  min-width:186px; padding:8px; border-radius:12px;
  background:rgba(22,22,24,.97); box-shadow:0 18px 44px rgba(0,0,0,.45);
  display:grid;
}
.navbox nav a{
  padding:11px 14px; border-radius:8px;
  color:rgba(255,255,255,.92); font-size:15px; font-weight:600;
  text-decoration:none; white-space:nowrap;
}
.navbox nav a:hover{ background:rgba(255,255,255,.1); }
.navbox-case{ margin-top:4px; border-top:1px solid rgba(255,255,255,.14); color:var(--yellow)!important; }
@media (min-width:721px){
  .navbox summary{ width:46px; height:46px; }
  .navbox summary i{ width:25px; }
  .navbox nav{ top:52px; min-width:200px; }
  .navbox nav a{ font-size:16px; padding:12px 16px; }
}

.navbox nav a[aria-current="page"]{ background:rgba(255,255,255,.14); color:#fff; }
.navbox nav a[aria-current="page"]::before{ content:'· '; color:var(--yellow); }

.navbox[open] summary::before{
  content:''; position:fixed; inset:0; z-index:-1; cursor:default;
}

.navbox summary i{
  height:3px; border-radius:3px;
  background:linear-gradient(180deg,#E0B584 0%,#B98551 38%,#8A5C33 72%,#6B452A 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.3), 0 2px 4px rgba(0,0,0,.45);
}
.navbox summary:hover i{
  background:linear-gradient(180deg,#F0C795 0%,#C9925C 38%,#9A683A 72%,#79502F 100%);
}
.navbox[open] summary i:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.navbox[open] summary i:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

@media (min-width:1100px){
  .ccards{ grid-template-columns:repeat(3,1fr); gap:26px; }
  .ccard-b{ padding:20px 22px 26px; }
  .ccard-tag{ font-size:13px; margin-bottom:9px; }
  .ccard strong{ font-size:20px; line-height:1.45; margin-bottom:9px; }
  .ccard p{ font-size:15.5px; line-height:1.7; }
}
