:root{
  --bg:#FBFAF7;
  --card:#FFFFFF;
  --deep:#3A2C50;
  --deep2:#4C3A66;
  --main:#7B5EA7;
  --maind:#66498F;
  --gold:#D9A93B;
  --ink:#2A2138;
  --body:#4A4356;
  --dim:#7A7288;
  --line:#E4DEEE;
  --wrap:840px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--body);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei','WenQuanYi Micro Hei',Arial,sans-serif;
  font-size:16px;
  line-height:1.8;
}
img{display:block;border:0}
figure,figcaption,blockquote,dl,dd,table{margin:0}
a{color:var(--main);text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.35;color:var(--ink)}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}

.top{background:var(--card);border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);flex:0 0 auto}
.brand__mark{width:30px;height:30px;display:block}
.brand span{font-weight:700;letter-spacing:.01em}
.grid-nav{display:grid;grid-template-columns:repeat(2,auto);margin-left:auto;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid-nav a{display:flex;align-items:center;justify-content:center;padding:9px 16px;font-size:13px;color:var(--body);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid-nav a:hover{background:#F3EFF8;color:var(--ink)}
.grid-nav a[aria-current="page"]{background:var(--main);color:#fff;font-weight:700}

.btn{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:12px 24px;border-radius:0;font-size:15px;font-weight:700;white-space:nowrap;line-height:1.2}
.btn.btn-primary{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:12px 24px;background:var(--main);color:#fff;white-space:nowrap;border:1px solid var(--main)}
.btn.btn-primary:hover{background:var(--maind);border-color:var(--maind);color:#fff;display:inline-flex;padding:12px 24px;white-space:nowrap}
.btn.btn-ghost{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:11px 22px;background:transparent;color:var(--ink);border:1px solid var(--ink);white-space:nowrap}
.btn.btn-ghost:hover{background:var(--ink);color:#fff;display:inline-flex;padding:11px 22px;white-space:nowrap}
.top__in .btn.btn-ios{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:10px 14px;font-size:14px;white-space:nowrap;border-color:var(--main);color:var(--maind)}
.top__in .btn.btn-ios:hover{background:#F0EAF8;color:var(--maind);display:inline-flex;padding:10px 14px;white-space:nowrap}

.hero{position:relative;overflow:hidden;background:var(--card);border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;right:0;bottom:0;width:300px;height:300px;background:linear-gradient(200deg,#EDE6F6 0%,#DDD1F0 100%);clip-path:polygon(100% 0,100% 100%,0 100%);z-index:0}
.hero__in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 300px;gap:44px;align-items:center;padding-top:56px;padding-bottom:60px}
.hero__copy{min-width:0}
.kicker{display:inline-block;margin-bottom:16px;padding:3px 12px;background:#F0EAF8;color:var(--maind);font-size:12px;letter-spacing:.16em}
.hero h1{font-size:38px;letter-spacing:-.02em;margin-bottom:20px}
.lead{color:var(--body);font-size:16px;line-height:1.95;max-width:34em}
.hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero__shot{margin:0}
.hero__shot img{width:100%;height:auto;max-width:272px;margin:0 auto;border:0;box-shadow:0 18px 40px rgba(58,44,80,.18)}
.hero__shot figcaption{margin-top:18px;color:var(--dim);font-size:13px;text-align:center;line-height:1.6}

.page-hero{background:var(--deep)}
.page-hero .wrap{padding-top:48px;padding-bottom:46px}
.page-hero .kicker{background:rgba(255,255,255,.14);color:#F0E9FA}
.page-hero h1{color:#fff;font-size:32px;margin-bottom:16px}
.page-hero .lead{color:#DCD3E9;max-width:38em}

.sec{padding:58px 0}
.sec + .sec{border-top:1px solid var(--line)}
.sechead{display:grid;grid-template-columns:210px 1fr;gap:26px;align-items:start;margin-bottom:32px}
.sechead .eyebrow{color:var(--maind);font-size:13px;letter-spacing:.18em;padding-top:8px;border-top:2px solid var(--main)}
.sechead h2{font-size:26px;letter-spacing:-.01em}
.sechead .sub{margin-top:10px;color:var(--dim);font-size:15px;line-height:1.85}

.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.card{background:var(--card);border:1px solid var(--line);padding:24px 24px 22px;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.card h3{font-size:17px;margin-bottom:8px}
.card p{color:var(--body);font-size:15px;line-height:1.85}
.card em{display:block;font-style:normal;color:var(--gold);font-size:12px;letter-spacing:.14em;margin-bottom:8px}

.prose p{margin:0 0 15px;color:var(--body);font-size:16px;line-height:2}
.prose p strong{color:var(--ink);font-weight:700}

.shots{display:flex;gap:20px;align-items:flex-start}
.shots__big{flex:1.32;min-width:0}
.shots__col{flex:1;min-width:0;display:flex;flex-direction:column;gap:20px}
.shots figure{min-width:0}
.shots img{width:100%;height:auto;border:0;margin:0 auto;background:var(--card);box-shadow:0 10px 24px rgba(58,44,80,.12)}
.shots__big img{max-width:100%}
.shots__col img{max-width:190px}
.shots figcaption{margin-top:12px;color:var(--dim);font-size:13px;line-height:1.65;text-align:center}

.tbl{width:100%;border-collapse:collapse;font-size:15px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.tbl th{text-align:left;padding:12px 0;color:var(--maind);font-size:13px;letter-spacing:.1em;border-bottom:1px solid var(--line)}
.tbl td{padding:13px 0;color:var(--body);vertical-align:top;line-height:1.7}
.tbl td + td,.tbl th + th{padding-left:20px}
.tbl td:first-child{color:var(--ink);font-weight:700;width:32%}

.qa2{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px}
.qa2 h3{font-size:16px;margin-bottom:8px;position:relative;padding-left:22px}
.qa2 h3::before{content:"?";position:absolute;left:0;top:0;color:var(--gold);font-weight:700}
.qa2 p{color:var(--body);font-size:15px;line-height:1.9}

.voices{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.voices blockquote{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);padding:20px 22px;color:var(--body);font-size:15px;line-height:1.85}
.voices cite{display:block;margin-top:10px;font-style:normal;color:var(--maind);font-size:13px}

.cta{padding-bottom:64px}
.cta__in{background:var(--deep);padding:44px 40px;color:#fff;clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%)}
.cta__in h2{color:#fff;font-size:25px;margin-bottom:12px}
.cta__in p{color:#D5CBE4;font-size:15px;max-width:32em}
.cta__btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.cta__in .btn.btn-primary{background:var(--gold);border-color:var(--gold);color:#2A2138}
.cta__in .btn.btn-primary:hover{background:#E8BC58;border-color:#E8BC58;color:#2A2138;display:inline-flex;padding:12px 24px;white-space:nowrap}
.cta__in .btn.btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.cta__in .btn.btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff;display:inline-flex;padding:11px 22px;white-space:nowrap}

.foot{background:var(--card);border-top:1px solid var(--line);padding:52px 0 0}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:38px}
.foot__brand a.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}
.foot__brand p{margin-top:14px;color:var(--dim);font-size:14px;line-height:1.8;max-width:30em}
.foot__col h4{font-size:13px;color:var(--maind);letter-spacing:.14em;margin-bottom:12px}
.foot__col a{display:block;padding:5px 0;color:var(--body);font-size:14px}
.foot__col a:hover{color:var(--main)}
.foot__legal{border-top:1px solid var(--line);padding-top:20px;padding-bottom:24px;color:#8B8496;font-size:13px;line-height:1.8}
.foot__legal p + p{margin-top:8px}

html[data-js] .hero__copy{animation:slidein .7s ease both}
html[data-js] .hero__shot{animation:slidein .7s ease .1s both}
html[data-js] .sechead h2{animation:slidein .6s ease both}
html[data-js] .card{animation:slidein .55s ease both}

@keyframes slidein{
  from{opacity:0;transform:translateX(16px)}
  to{opacity:1;transform:translateX(0)}
}

@media (max-width:980px){
  .hero__in{grid-template-columns:1fr;gap:32px;padding-top:44px;padding-bottom:48px}
  .hero h1{font-size:31px}
  .page-hero h1{font-size:27px}
  .sechead{grid-template-columns:1fr;gap:12px}
  .sechead .eyebrow{padding-top:0;border-top:0;border-left:2px solid var(--main);padding-left:10px}
  .cards{grid-template-columns:1fr}
  .qa2{grid-template-columns:1fr;gap:20px}
  .voices{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr 1fr;gap:26px}
  .hero::after{width:220px;height:220px}
}

@media (max-width:620px){
  .wrap{padding-left:16px;padding-right:16px}
  .top__in{gap:12px;padding-top:12px;padding-bottom:12px}
  .brand span{font-size:15px}
  .grid-nav{margin-left:0;order:3;flex:1 1 100%;grid-template-columns:repeat(4,1fr)}
  .grid-nav a{padding:8px 4px;font-size:12.5px}
  .top__in .btn{order:2;margin-left:auto;padding:9px 16px;font-size:13.5px}
  .grid-nav{order:4}
  .top__in .btn.btn-ios{padding:8px 10px;font-size:12.5px;margin-left:auto}
  .hero__in{grid-template-columns:1fr;gap:26px;padding-top:30px;padding-bottom:36px}
  .hero h1{font-size:26px}
  .hero::after{width:150px;height:150px}
  .hero__shot img{max-width:224px}
  .hero__btns .btn{padding:11px 18px}
  .page-hero .wrap{padding-top:30px;padding-bottom:32px}
  .page-hero h1{font-size:23px}
  .sec{padding:40px 0}
  .sechead h2{font-size:21px}
  .card{padding:20px 18px}
  .shots{flex-direction:column;gap:18px}
  .shots__col{width:100%;gap:18px}
  .shots__big img{max-width:238px}
  .shots__col img{max-width:238px}
  .tbl{font-size:14px}
  .tbl td + td,.tbl th + th{padding-left:12px}
  .cta__in{padding:30px 22px}
  .cta__in h2{font-size:21px}
  .foot__grid{grid-template-columns:1fr;gap:22px}
  .foot__legal{padding-bottom:20px}
}
