@charset "UTF-8";
:root{
  --bg:#101513;
  --surface:#161c19;
  --surface-soft:#19201c;
  --line:rgba(223,226,216,.12);
  --text:#f0f1e9;
  --muted:#a0aaa2;
  --quiet:#728177;
  --gold:#d9bf88;
  --gold-light:#ead6ab;
  --green:#244c3b;
  --font:Inter,"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --radius:16px
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:15px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased
}
body.modal-open{
  overflow:hidden
}
a{
  color:inherit;
  text-decoration:none
}
button{
  font:inherit;
  color:inherit;
  cursor:pointer
}
button,a{
  -webkit-tap-highlight-color:transparent
}
button{
  border:0
}
img{
  display:block;
  max-width:100%
}
h1,h2,h3,p,figure,blockquote{
  margin:0
}
button:focus-visible,a:focus-visible,summary:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:6px
}
[hidden]{
  display:none!important
}
.container{
  width:min(1240px,calc(100% - 96px));
  margin-inline:auto
}
.icon-library{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}
.icon{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}
.skip-link{
  position:fixed;
  top:10px;
  left:15px;
  transform:translateY(-180%);
  padding:10px 15px;
  background:var(--gold);
  color:var(--bg);
  z-index:200
}
.skip-link:focus{
  transform:none
}
.section-pad{
  padding:100px 0
}
.eyebrow{
  font-size:11px;
  font-weight:600;
  letter-spacing:2.3px;
  color:var(--gold);
  line-height:1.5
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:0 25px;
  border-radius:7px;
  font-size:14px;
  font-weight:600;
  line-height:1.3;
  transition:background .2s,transform .2s,border-color .2s
}
.button:hover{
  transform:translateY(-2px)
}
.button .arrow{
  margin-left:10px;
  width:18px
}
.button-gold{
  background:var(--gold);
  color:#192018;
  border:1px solid var(--gold)
}
.button-gold:hover{
  background:var(--gold-light);
  border-color:var(--gold-light)
}
.button-outline{
  border:1px solid #4c5146;
  background:rgba(255,255,255,.025)
}
.button-outline:hover{
  border-color:var(--gold);
  background:rgba(217,191,136,.07)
}
.button-small{
  min-height:41px;
  padding:0 17px;
  font-size:12px;
  border-radius:5px
}
.button-small .icon{
  width:17px;
  height:17px
}
.status-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  display:inline-block;
  background:var(--gold);
  flex-shrink:0
}
.site-header{
  height:88px;
  border-bottom:1px solid var(--line);
  position:relative;
  z-index:30;
  background:#101513
}
.header-inner{
  display:flex;
  height:100%;
  align-items:center;
  justify-content:space-between;
  gap:20px
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  white-space:nowrap
}
.brand>span{
  font-size:17px;
  font-weight:750;
  letter-spacing:2px;
  line-height:1.2
}
.brand small{
  font-size:9px;
  font-weight:400;
  display:block;
  color:var(--muted);
  letter-spacing:4px;
  margin-top:7px
}
.desktop-nav{
  display:flex;
  gap:34px;
  font-size:13px;
  color:#c2c8c0
}
.desktop-nav a{
  padding:14px 0;
  transition:color .2s
}
.desktop-nav a:hover{
  color:var(--gold)
}
.header-actions{
  display:flex;
  gap:18px;
  align-items:center
}
.menu-toggle{
  display:none;
  width:30px;
  height:36px;
  background:transparent;
  padding:6px 0
}
.menu-toggle span{
  display:block;
  height:1.5px;
  width:23px;
  background:var(--text);
  margin:6px 0;
  transition:transform .2s
}
.menu-toggle[aria-expanded=true] span:first-child{
  transform:translateY(3.75px) rotate(45deg)
}
.menu-toggle[aria-expanded=true] span:last-child{
  transform:translateY(-3.75px) rotate(-45deg)
}
.mobile-nav{
  background:var(--surface);
  padding:20px 24px;
  gap:18px;
  box-shadow:0 12px 18px #0004
}
.mobile-nav a{
  padding:7px
}
.hero{
  position:relative;
  overflow:hidden;
  background:radial-gradient(ellipse at 76% 46%,#25382785 0,transparent 44%)
}
.hero-ambient{
  position:absolute;
  inset:0;
  background-image:linear-gradient(#bfc5aa05 1px,transparent 1px),linear-gradient(90deg,#bfc5aa05 1px,transparent 1px);
  background-size:78px 78px;
  mask-image:linear-gradient(90deg,transparent 30%,black 85%);
  pointer-events:none
}
.hero-grid{
  display:grid;
  grid-template-columns:1.04fr 1fr;
  align-items:center;
  min-height:720px;
  position:relative;
  gap:12px;
  padding-top:22px
}
.hero-copy{
  position:relative;
  z-index:3;
  padding-bottom:18px
}
.hero-copy>.eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:32px;
  font-size:10px;
  letter-spacing:2.1px
}
.eyebrow-line{
  width:28px;
  height:1px;
  background:var(--gold)
}
.hero-label{
  font-size:13px;
  font-weight:600;
  letter-spacing:2px;
  margin-bottom:16px;
  color:#dde0d5
}
.hero-label span{
  font-size:10px;
  letter-spacing:1px;
  padding-left:14px;
  margin-left:12px;
  border-left:1px solid #41493e;
  color:var(--muted);
  font-weight:400
}
h1{
  font-size:clamp(35px,3.35vw,48px);
  font-weight:650;
  letter-spacing:-1.8px;
  line-height:1.35
}
h1>span{
  display:block;
  margin-top:10px;
  font-size:clamp(36px,3.65vw,53px);
  color:var(--gold);
  font-family:"Songti SC","Noto Serif CJK SC","STSong","SimSun",serif;
  font-weight:500;
  letter-spacing:1px;
  white-space:nowrap
}
.hero-description{
  font-size:15px;
  line-height:2;
  color:#aab4aa;
  margin-top:28px
}
.hero-buttons{
  display:flex;
  gap:12px;
  margin-top:33px
}
.hero-buttons .button{
  font-size:13px;
  padding-inline:20px
}
.download-caption{
  display:flex;
  gap:8px;
  align-items:center;
  color:#849186;
  font-size:10px;
  letter-spacing:.4px;
  margin-top:14px
}
.hero-bottom{
  display:flex;
  gap:24px;
  padding-top:36px;
  margin-top:33px;
  border-top:1px solid var(--line);
  max-width:425px
}
.hero-bottom>span{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  color:#aeb8ad;
  white-space:nowrap
}
.hero-bottom .icon{
  width:15px;
  height:15px;
  color:#b7c39e
}
.hero-art{
  height:650px;
  position:relative;
  isolation:isolate
}
.orbit{
  position:absolute;
  border:1px solid #a6bd7920;
  border-radius:50%;
  z-index:-1
}
.orbit-one{
  width:555px;
  height:555px;
  left:10px;
  top:50px
}
.orbit-two{
  width:440px;
  height:440px;
  left:67px;
  top:107px;
  border-style:dashed;
  border-color:#d0c59c13
}
.hero-spade{
  position:absolute;
  font-family:Georgia,serif;
  color:#c9d19504;
  font-size:520px;
  line-height:1;
  top:12px;
  left:60px;
  z-index:-1;
  -webkit-text-stroke:1px #e1d3a20b;
  transform:rotate(-13deg)
}
.phone{
  position:absolute;
  border:5px solid #343a34;
  border-radius:35px;
  background:#141a16;
  box-shadow:0 32px 60px #0007,0 0 0 1px #101b13;
  overflow:hidden
}
.phone img{
  width:100%;
  height:auto;
  border-radius:29px
}
.phone::after{
  content:"";
  position:absolute;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  width:67px;
  height:14px;
  border-radius:20px;
  background:#080c0a
}
.phone-back{
  width:224px;
  top:66px;
  left:4px;
  transform:rotate(-12deg);
  filter:brightness(.78);
  border-width:4px
}
.phone-front{
  width:259px;
  top:81px;
  right:35px;
  transform:rotate(9deg);
  box-shadow:0 40px 75px #0009,-8px 0 18px #0007
}
.floating-label{
  position:absolute;
  left:1px;
  bottom:67px;
  z-index:5;
  display:flex;
  gap:13px;
  align-items:center;
  padding:14px 20px;
  background:linear-gradient(120deg,#29352cf5,#1c281ff0);
  border:1px solid #6c765b7d;
  border-radius:10px;
  box-shadow:0 16px 36px #0005;
  transform:rotate(-3deg)
}
.mini-spade{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  background:#d9bf8814;
  border:1px solid #d9bf883d;
  border-radius:8px;
  font-size:25px;
  color:var(--gold)
}
.floating-label>div{
  font-size:13px;
  font-weight:500
}
.floating-label small{
  display:block;
  font-size:7px;
  letter-spacing:1.5px;
  color:#a2ac95;
  margin-top:4px
}
.art-footnote{
  position:absolute;
  right:18px;
  bottom:25px;
  display:flex;
  align-items:center;
  gap:9px;
  font-size:7px;
  color:#788575;
  letter-spacing:1.3px
}
.tiny-line{
  width:22px;
  height:1px;
  background:#788575
}
.hero-section-end{
  height:62px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:9px;
  letter-spacing:1.8px;
  color:#67776b
}
.hero-section-end a{
  display:flex;
  gap:18px;
  align-items:center;
  letter-spacing:1px;
  color:#a8b3a6;
  font-size:10px
}
.hero-section-end a>span{
  font-size:22px;
  line-height:1
}
.section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:35px;
  margin-bottom:44px
}
.section-heading h2,.faq-intro h2{
  font-size:32px;
  line-height:1.5;
  font-weight:550;
  letter-spacing:-.7px;
  margin-top:15px
}
.section-heading>p,.heading-aside>p{
  font-size:12px;
  line-height:1.8;
  color:var(--muted)
}
.heading-aside{
  text-align:right
}
.heading-aside .outline-tag{
  margin-top:10px
}
.heading-aside>.outline-tag:first-child{
  margin-bottom:9px;
  margin-top:0
}
.heading-aside>p{
  font-size:11px
}
.outline-tag{
  display:inline-flex;
  border:1px solid #56614b88;
  color:#b2bba6;
  font-size:10px;
  letter-spacing:.3px;
  padding:4px 10px;
  border-radius:4px;
  line-height:1.5
}
.features-section{
  border-top:1px solid #1f2920;
  border-bottom:1px solid var(--line);
  background:#121916;
  padding-top:78px;
  padding-bottom:65px
}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr)
}
.feature-item{
  position:relative;
  padding:12px 43px 8px 0
}
.feature-item+.feature-item{
  padding-left:43px;
  border-left:1px solid var(--line)
}
.feature-item:last-child{
  padding-right:0
}
.feature-icon{
  display:block;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  width:29px;
  height:29px;
  margin-bottom:24px
}
.feature-number{
  position:absolute;
  right:40px;
  top:6px;
  font-size:11px;
  font-family:Georgia,serif;
  color:#626f5c
}
.feature-item:last-child .feature-number{
  right:0
}
.feature-item h3{
  font-size:18px;
  font-weight:500;
  margin-bottom:12px
}
.feature-item p{
  font-size:12px;
  color:var(--muted);
  line-height:1.9;
  max-width:300px
}
.feature-item a{
  display:inline-flex;
  gap:12px;
  align-items:center;
  color:var(--gold);
  font-size:11px;
  margin-top:24px
}
.feature-item a .icon{
  width:15px;
  height:15px
}
.section-note{
  font-size:10px;
  color:#718173;
  margin-top:35px
}
.screenshots-section{
  background:linear-gradient(180deg,#101513 0,#131a16 100%)
}
.gallery-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--line);
  margin-bottom:30px
}
.screenshot-filters{
  display:flex;
  gap:25px
}
.filter{
  background:none;
  padding:0 0 15px;
  color:#89998b;
  font-size:12px;
  border-bottom:2px solid transparent
}
.filter.active{
  color:var(--gold);
  border-color:var(--gold)
}
.gallery-toolbar>p{
  font-size:10px;
  color:#7e8e80;
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:15px
}
.gallery-toolbar>p>.icon{
  width:14px;
  height:14px
}
.screenshot-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  align-items:start
}
.screenshot-grid.filtered{
  grid-template-columns:repeat(2,minmax(0,285px));
  justify-content:center
}
.screenshot-card{
  min-width:0
}
.screenshot-link{
  display:block;
  border-radius:12px;
  outline-offset:5px
}
.screenshot-stage{
  display:block;
  position:relative;
  border-radius:12px;
  padding:24px 19px 0;
  background:#223229;
  overflow:hidden;
  aspect-ratio:1/1.65;
  border:1px solid #39513c4d;
  transition:background .3s
}
.lobby-stage{
  background:linear-gradient(145deg,#28372d,#243027)
}
.table-stage{
  background:linear-gradient(145deg,#1d3c30,#26483b)
}
.learn-stage{
  background:linear-gradient(145deg,#34372a,#2f3225)
}
.review-stage{
  background:linear-gradient(145deg,#26312c,#22312a)
}
.screenshot-stage>img{
  width:100%;
  height:auto;
  border:3px solid #485146;
  border-radius:25px;
  box-shadow:0 10px 30px #0005;
  transition:transform .35s;
  max-width:none
}
.screenshot-link:hover .screenshot-stage>img{
  transform:translateY(-6px)
}
.expand-icon{
  position:absolute;
  bottom:13px;
  right:13px;
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  border:1px solid #bec9ad33;
  background:#111b14d9;
  border-radius:50%;
  color:#d5decc;
  transition:background .2s
}
.expand-icon>.icon{
  width:13px;
  height:13px
}
.screenshot-card figcaption{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding-top:21px
}
.screenshot-index{
  color:#7f8f79;
  font-size:9px;
  letter-spacing:1px;
  padding-top:5px
}
.screenshot-card h3{
  font-size:15px;
  font-weight:500;
  letter-spacing:.4px
}
.screenshot-card p{
  color:#8d9c8c;
  font-size:10px;
  margin-top:5px
}
.mini-arrow{
  color:#9eac95;
  margin-left:auto;
  font-size:19px
}
.mobile-swipe-note{
  display:none
}
.reviews-section{
  background:#e9e9df;
  color:#28332a
}
.reviews-section .eyebrow{
  color:#64774f
}
.reviews-section .outline-tag{
  color:#64735a;
  border-color:#a4af99
}
.reviews-section .heading-aside p{
  color:#7b8675
}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px
}
.review-card{
  background:#f6f5ee;
  border:1px solid #d9ddce;
  border-radius:12px;
  padding:26px 26px 22px;
  display:flex;
  flex-direction:column
}
.review-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:27px;
  margin-bottom:20px
}
.review-category{
  font-size:10px;
  letter-spacing:.8px;
  border:1px solid #c8d0bd;
  border-radius:3px;
  padding:3px 8px;
  color:#69785c
}
.quote-mark{
  font-family:Georgia,serif;
  font-size:58px;
  color:#b4bfa6;
  line-height:1
}
.review-card h3{
  font-size:16px;
  font-weight:550;
  letter-spacing:-.4px;
  margin-bottom:14px
}
.review-card blockquote{
  font-size:12px;
  color:#6d7867;
  line-height:2;
  margin-bottom:26px;
  flex:1
}
.review-person{
  padding-top:18px;
  border-top:1px solid #dfe3d5;
  display:flex;
  align-items:center;
  gap:11px
}
.avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:"Songti SC","SimSun",serif;
  font-size:13px;
  flex-shrink:0
}
.avatar-one{
  background:#dde4d2;
  color:#657456
}
.avatar-two{
  background:#e8dfcc;
  color:#8b785b
}
.avatar-three{
  background:#d8e0dc;
  color:#607768
}
.review-person>div>strong{
  display:block;
  font-size:11px;
  font-weight:500;
  line-height:1.4
}
.review-person>div>span{
  display:block;
  font-size:8px;
  color:#8b9482;
  margin-top:4px
}
.review-platform{
  margin-left:auto;
  align-self:flex-start;
  font-size:8px;
  color:#8b9482;
  margin-top:4px
}
.download-section{
  background:#101713
}
.download-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:100px;
  padding:55px 65px;
  background:radial-gradient(ellipse at 40% 20%,#35523f88,transparent 65%),#1d3024;
  border:1px solid #4e624145;
  border-radius:15px
}
.download-decoration{
  position:absolute;
  z-index:-1;
  font-family:Georgia,serif;
  font-size:360px;
  line-height:1;
  left:200px;
  top:10px;
  color:#d5c99305;
  -webkit-text-stroke:1px #dde5bc0a;
  transform:rotate(-17deg)
}
.download-intro h2{
  font-size:45px;
  line-height:1.35;
  letter-spacing:1px;
  font-weight:500;
  margin:19px 0 18px
}
.download-intro>p:not(.eyebrow){
  font-size:12px;
  color:#abb8a1
}
.release-tag{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9px;
  color:#93a285;
  margin-top:21px
}
.platforms{
  align-self:center
}
.platform-card{
  display:flex;
  align-items:center;
  gap:18px;
  padding:20px 23px;
  border:1px solid #79886655;
  border-radius:8px;
  background:#c8d6a908;
  transition:background .2s,border-color .2s
}
.platform-card+.platform-card{
  margin-top:13px
}
.platform-card:hover{
  background:#c8d6a915;
  border-color:#a6b785
}
.platform-icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px
}
.platform-icon .icon{
  width:29px;
  height:29px;
  color:var(--gold)
}
.platform-card>div>strong{
  font-size:16px;
  font-weight:500
}
.platform-card>div>span{
  display:block;
  font-size:10px;
  color:#9da98e;
  margin-top:3px
}
.platform-arrow{
  margin-left:auto;
  color:#ced5bd;
  width:20px;
  height:20px
}
.platforms>p{
  font-size:9px;
  text-align:center;
  color:#90a080;
  margin-top:17px
}
.app-info{
  display:grid;
  grid-template-columns:195px 1fr;
  margin-top:33px;
  padding:30px 0 0
}
.app-info-heading{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding-top:2px
}
.small-spade{
  font-size:22px;
  line-height:1.6;
  color:var(--gold)
}
.app-info-heading h3{
  font-size:13px;
  font-weight:500
}
.app-info-heading p{
  font-size:9px;
  color:#6e806d;
  margin-top:7px
}
.app-info dl{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px 30px;
  margin:0;
  padding:0
}
.app-info dl>div{
  min-width:0
}
.app-info dt{
  font-size:9px;
  color:#6f816e;
  line-height:1.6
}
.app-info dd{
  font-size:11px;
  margin:7px 0 0;
  color:#b0bda9
}
.app-info .developer-info{
  grid-column:span 2
}
.faq-section{
  border-top:1px solid var(--line);
  padding-top:75px;
  padding-bottom:100px
}
.faq-layout{
  display:grid;
  grid-template-columns:1fr 1.65fr;
  gap:90px
}
.faq-intro>p:not(.eyebrow){
  font-size:12px;
  line-height:1.9;
  color:#8c9c87;
  margin-top:23px
}
.faq-intro h2{
  font-size:31px;
  margin-top:18px;
  line-height:1.5
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:15px;
  font-size:11px;
  color:var(--gold);
  margin-top:30px
}
.text-link .icon{
  width:16px;
  height:16px
}
.faq-list{
  padding-top:4px
}
.faq-list details{
  border-bottom:1px solid #34402f88
}
.faq-list details:first-child{
  border-top:1px solid #34402f88
}
.faq-list summary{
  list-style:none;
  position:relative;
  display:flex;
  gap:20px;
  align-items:center;
  padding:22px 2px;
  cursor:pointer;
  font-size:13px;
  font-weight:400
}
.faq-list summary::-webkit-details-marker{
  display:none
}
.faq-list summary>span:first-child{
  font-size:9px;
  color:#6f8069
}
.faq-plus{
  margin-left:auto;
  position:relative;
  width:18px;
  height:18px;
  flex-shrink:0
}
.faq-plus::before,.faq-plus::after{
  content:"";
  position:absolute;
  background:#9cac8e;
  left:4px;
  top:8px;
  width:10px;
  height:1px
}
.faq-plus::after{
  transform:rotate(90deg);
  transition:transform .2s
}
details[open] .faq-plus::after{
  transform:rotate(0)
}
details[open] summary{
  color:var(--gold)
}
.faq-answer{
  padding:0 35px 25px 35px;
  color:#8b9d83;
  font-size:12px;
  line-height:1.95
}
.site-footer{
  border-top:1px solid var(--line);
  padding:36px 0 25px;
  background:#0d130f
}
.footer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding-bottom:30px
}
.footer-top .brand>span{
  font-size:13px
}
.footer-top .brand small{
  font-size:8px;
  letter-spacing:2px
}
.footer-top .brand>img{
  width:32px;
  height:32px
}
.footer-top>p{
  font-family:"Songti SC","SimSun",serif;
  font-size:16px;
  color:#889b7d;
  letter-spacing:2px
}
.footer-top nav{
  display:flex;
  gap:22px;
  font-size:10px;
  color:#8d9d82
}
.footer-bottom{
  display:flex;
  align-items:center;
  gap:25px;
  font-size:9px;
  color:#65795b;
  padding-top:21px;
  border-top:1px solid #26321f99
}
.footer-bottom>a:last-child{
  margin-left:auto
}
.preview-disclosure{
  font-size:8px;
  color:#5f7157;
  margin-top:14px;
  line-height:1.8
}
.mobile-download-bar{
  display:none
}
dialog{
  border:1px solid #586548;
  background:#172018;
  color:var(--text);
  padding:40px;
  border-radius:16px;
  box-shadow:0 28px 100px #0009;
  max-width:calc(100vw - 32px)
}
dialog::backdrop{
  background:#050b07cc;
  backdrop-filter:blur(10px)
}
.dialog-close{
  position:absolute;
  right:17px;
  top:17px;
  background:#2d392b;
  color:#d7decc;
  border:1px solid #52614777;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%
}
.dialog-close .icon{
  width:17px;
  height:17px
}
.download-dialog{
  width:430px;
  text-align:center;
  padding:44px 35px 35px
}
.dialog-brand{
  display:flex;
  justify-content:center;
  margin-bottom:23px
}
.download-dialog .eyebrow{
  font-size:8px;
  letter-spacing:1.8px
}
.download-dialog h2{
  font-size:23px;
  line-height:1.5;
  margin-top:13px;
  font-weight:500
}
.download-dialog>p:not(.eyebrow){
  font-size:12px;
  line-height:1.9;
  color:#a9b89d;
  margin-top:15px
}
.dialog-notice{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px;
  background:#a6bd8210;
  border:1px solid #65794f4d;
  border-radius:7px;
  font-size:11px;
  color:#b8c4a5;
  margin:23px 0
}
.download-dialog .button{
  width:100%;
  min-height:46px;
  font-size:12px
}
.image-dialog{
  max-height:94svh;
  width:780px;
  overflow:auto;
  padding:35px
}
.lightbox-layout{
  display:grid;
  grid-template-columns:minmax(0,300px) 1fr;
  align-items:center;
  gap:40px
}
.lightbox-layout>img{
  width:auto;
  height:auto;
  max-height:80svh;
  border-radius:24px;
  max-width:100%;
  margin:auto;
  border:3px solid #49543c
}
.lightbox-info h2{
  font-size:28px;
  font-weight:500;
  margin:14px 0 12px
}
.lightbox-info>p:not(.eyebrow){
  font-size:12px;
  line-height:1.9;
  color:#a4b298
}
.lightbox-info .outline-tag{
  margin-top:20px
}
.lightbox-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:38px;
  gap:20px
}
.lightbox-controls button{
  background:#2c3927;
  border:1px solid #62725255;
  border-radius:50%;
  width:39px;
  height:39px;
  color:var(--gold);
  font-size:18px
}
.lightbox-controls button:hover{
  background:#3a4b30
}
.lightbox-controls>span{
  font-size:12px;
  color:#b3c09f
}
.lightbox-info small{
  display:block;
  font-size:9px;
  color:#76876a;
  margin-top:20px
}
.flash-target{
  animation:flash-outline 1.6s ease-out
}
@keyframes flash-outline{
  0%,30%{
    outline:2px solid var(--gold);
    outline-offset:8px
  }
  100%{
    outline:2px solid transparent;
    outline-offset:12px
  }
}
@media(min-width:1500px){
  .hero-grid{
    min-height:770px;
    grid-template-columns:1fr 1fr
  }
  .hero-art{
    transform:scale(1.06);
    transform-origin:center right
  }
  .hero-copy{
    padding-left:5px
  }
  h1{
    font-size:49px
  }
  h1>span{
    font-size:55px
  }
}
@media(max-width:1199px){
  .container{
    width:calc(100% - 64px)
  }
  .hero-grid{
    min-height:660px;
    grid-template-columns:1.06fr 1fr;
    gap:0
  }
  .hero-art{
    height:610px
  }
  .phone-front{
    width:220px;
    right:12px;
    top:108px
  }
  .phone-back{
    width:197px;
    left:0;
    top:87px
  }
  .floating-label{
    left:-5px;
    bottom:65px;
    padding:12px 16px
  }
  .orbit-one{
    width:460px;
    height:460px;
    left:-10px;
    top:88px
  }
  .orbit-two{
    width:360px;
    height:360px;
    left:40px;
    top:138px
  }
  .hero-spade{
    left:20px;
    top:50px;
    font-size:450px
  }
  .hero-copy>.eyebrow{
    margin-bottom:24px
  }
  .hero-label{
    font-size:11px
  }
  .hero-label span{
    font-size:9px;
    margin-left:8px;
    padding-left:10px
  }
  .hero-buttons{
    gap:10px
  }
  .hero-buttons .button{
    padding:0 15px;
    gap:8px;
    min-height:54px
  }
  .hero-buttons .arrow{
    margin-left:5px;
    width:16px
  }
  .hero-buttons .icon{
    width:19px
  }
  .hero-description{
    font-size:13px
  }
  .hero-bottom{
    gap:20px;
    max-width:360px
  }
  .hero-bottom>span{
    font-size:10px
  }
  .desktop-nav{
    gap:25px;
    font-size:12px
  }
  .section-heading h2{
    font-size:29px
  }
  .feature-item{
    padding-right:30px
  }
  .feature-item+.feature-item{
    padding-left:30px
  }
  .feature-item h3{
    font-size:16px
  }
  .feature-item p{
    font-size:11px
  }
  .screenshot-grid{
    gap:17px
  }
  .screenshot-stage{
    padding:20px 13px 0
  }
  .screenshot-stage>img{
    border-radius:20px
  }
  .screenshot-card h3{
    font-size:13px
  }
  .screenshot-card p{
    font-size:9px
  }
  .screenshot-card figcaption{
    gap:8px
  }
  .review-card{
    padding:23px 20px 20px
  }
  .review-card h3{
    font-size:14px
  }
  .review-card blockquote{
    font-size:11px
  }
  .review-platform{
    display:none
  }
  .download-panel{
    gap:60px;
    padding:48px
  }
  .app-info{
    grid-template-columns:170px 1fr
  }
  .faq-layout{
    gap:55px
  }
  .section-pad{
    padding-top:80px;
    padding-bottom:80px
  }
  .features-section{
    padding-bottom:55px
  }
}
@media(max-width:960px){
  .desktop-nav{
    gap:18px;
    font-size:11px
  }
  .brand>span{
    font-size:14px
  }
  .brand>img{
    width:33px;
    height:33px
  }
  .hero-grid{
    grid-template-columns:1fr 1fr;
    min-height:620px
  }
  h1{
    font-size:31px
  }
  h1>span{
    font-size:34px;
    letter-spacing:.2px
  }
  .hero-art{
    height:570px
  }
  .phone-front{
    width:190px;
    right:0;
    top:99px;
    border-radius:28px;
    border-width:4px
  }
  .phone-back{
    width:168px;
    left:-4px;
    top:89px;
    border-radius:27px
  }
  .phone img{
    border-radius:23px
  }
  .phone::after{
    width:55px;
    height:12px;
    top:8px
  }
  .floating-label{
    padding:10px 13px;
    bottom:77px
  }
  .floating-label>div{
    font-size:10px
  }
  .floating-label small{
    font-size:6px;
    letter-spacing:.8px
  }
  .mini-spade{
    width:29px;
    height:29px;
    font-size:20px
  }
  .art-footnote{
    right:0;
    bottom:55px;
    font-size:6px;
    letter-spacing:.6px
  }
  .orbit-one{
    width:390px;
    height:390px;
    top:92px;
    left:-22px
  }
  .orbit-two{
    width:310px;
    height:310px;
    top:132px;
    left:18px
  }
  .hero-spade{
    font-size:380px;
    top:70px;
    left:0
  }
  .hero-buttons .button{
    font-size:11px;
    padding:0 13px;
    min-height:49px
  }
  .hero-buttons .arrow{
    display:none
  }
  .hero-bottom{
    gap:16px;
    margin-top:28px;
    padding-top:25px
  }
  .hero-copy>.eyebrow{
    font-size:8px;
    letter-spacing:1.8px
  }
  .hero-description{
    font-size:12px;
    margin-top:22px
  }
  .hero-copy{
    padding-bottom:0
  }
  .hero-label{
    font-size:10px
  }
  .hero-label span{
    display:none
  }
  .hero-section-end{
    height:55px
  }
  .feature-item h3{
    font-size:14px
  }
  .section-heading h2{
    font-size:26px
  }
  .reviews-grid{
    gap:15px
  }
  .review-card h3{
    font-size:13px
  }
  .review-card{
    padding:22px 18px
  }
  .review-person{
    gap:7px
  }
  .review-person>div>span{
    font-size:7px
  }
  .screenshot-grid{
    gap:14px
  }
  .screenshot-stage{
    padding:16px 10px 0
  }
  .screenshot-stage>img{
    border-width:2px;
    border-radius:17px
  }
  .screenshot-card p{
    font-size:8px
  }
  .screenshot-index{
    display:none
  }
  .download-panel{
    padding:40px;
    gap:35px
  }
  .download-intro h2{
    font-size:38px
  }
  .platform-card{
    gap:10px;
    padding:17px
  }
  .platform-card>div>strong{
    font-size:14px
  }
  .app-info{
    grid-template-columns:135px 1fr
  }
  .app-info dl{
    column-gap:20px
  }
  .faq-layout{
    grid-template-columns:1fr 1.7fr;
    gap:35px
  }
  .faq-intro h2{
    font-size:26px
  }
  .faq-list summary{
    font-size:12px;
    gap:13px
  }
  .footer-top>p{
    display:none
  }
  .section-heading{
    gap:20px
  }
  .section-heading>p{
    font-size:11px
  }
  .heading-aside>p{
    font-size:9px
  }
}
@media(max-width:760px){
  html{
    scroll-padding-top:22px
  }
  .container{
    width:calc(100% - 40px)
  }
  .site-header{
    height:74px
  }
  .desktop-nav{
    display:none
  }
  .menu-toggle{
    display:block
  }
  .header-actions{
    gap:15px
  }
  .header-actions .button-small{
    min-height:36px;
    font-size:10px;
    padding:0 12px;
    gap:9px
  }
  .brand{
    gap:9px
  }
  .brand>span{
    font-size:13px;
    letter-spacing:1.5px
  }
  .brand small{
    font-size:8px;
    letter-spacing:3px;
    margin-top:5px
  }
  .brand>img{
    width:32px;
    height:32px
  }
  .mobile-nav{
    position:absolute;
    left:0;
    right:0;
    display:flex;
    flex-direction:column;
    font-size:13px
  }
  .hero-grid{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding-top:50px;
    min-height:0;
    gap:10px
  }
  .hero-copy{
    text-align:center;
    z-index:5
  }
  .hero-copy>.eyebrow{
    justify-content:center;
    font-size:8px;
    letter-spacing:2px;
    margin-bottom:23px
  }
  .hero-label{
    font-size:10px;
    margin-bottom:14px;
    letter-spacing:2px
  }
  .hero-label span{
    display:inline;
    font-size:8px
  }
  .hero h1{
    font-size:34px;
    letter-spacing:-1px
  }
  .hero h1>span{
    font-size:36px;
    letter-spacing:1px;
    margin-top:8px
  }
  .hero-description{
    font-size:12px;
    line-height:1.9;
    margin-top:22px
  }
  .hero-buttons{
    justify-content:center;
    margin-top:27px;
    gap:11px
  }
  .hero-buttons .button{
    min-height:51px;
    padding:0 21px;
    font-size:12px;
    gap:10px
  }
  .hero-buttons .icon{
    width:20px
  }
  .download-caption{
    justify-content:center;
    margin-top:13px;
    font-size:9px
  }
  .hero-bottom{
    justify-content:center;
    gap:24px;
    margin:26px auto 0;
    padding-top:21px;
    max-width:330px
  }
  .hero-bottom>span{
    font-size:9px
  }
  .hero-bottom .icon{
    width:13px
  }
  .hero-art{
    height:490px;
    max-width:430px;
    width:100%;
    align-self:center;
    overflow:visible
  }
  .phone-back{
    width:173px;
    top:45px;
    left:30px
  }
  .phone-front{
    width:203px;
    top:52px;
    right:33px
  }
  .orbit-one{
    width:365px;
    height:365px;
    left:calc(50% - 182.5px);
    top:38px
  }
  .orbit-two{
    width:290px;
    height:290px;
    left:calc(50% - 145px);
    top:75.5px
  }
  .hero-spade{
    left:50px;
    top:25px;
    font-size:350px
  }
  .floating-label{
    left:17px;
    bottom:43px;
    padding:10px 13px
  }
  .art-footnote{
    bottom:15px;
    right:28px;
    font-size:6px
  }
  .hero-section-end{
    height:54px;
    font-size:6px;
    letter-spacing:1.2px
  }
  .hero-section-end a{
    font-size:8px;
    gap:12px
  }
  .hero-section-end a>span{
    font-size:18px
  }
  .section-pad{
    padding-top:56px;
    padding-bottom:56px
  }
  .section-heading{
    display:block;
    margin-bottom:29px
  }
  .section-heading h2{
    font-size:25px;
    line-height:1.5;
    letter-spacing:-.5px;
    margin-top:12px
  }
  .eyebrow{
    font-size:9px;
    letter-spacing:1.8px
  }
  .section-heading>p{
    margin-top:12px;
    font-size:11px
  }
  .section-heading>p>br{
    display:none
  }
  .heading-aside{
    text-align:left;
    margin-top:15px;
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap
  }
  .heading-aside>p{
    font-size:10px
  }
  .heading-aside .outline-tag{
    margin:0
  }
  .heading-aside>.outline-tag:first-child{
    margin:0
  }
  .outline-tag{
    font-size:9px
  }
  .feature-grid{
    grid-template-columns:1fr
  }
  .feature-item,.feature-item+.feature-item{
    padding:25px 5px 24px 54px;
    border-left:0
  }
  .feature-item+.feature-item{
    border-top:1px solid var(--line)
  }
  .feature-item:last-child{
    padding-right:5px
  }
  .feature-icon{
    position:absolute;
    width:26px;
    height:26px;
    left:4px;
    top:27px;
    margin:0
  }
  .feature-number{
    right:5px;
    top:27px
  }
  .feature-item:last-child .feature-number{
    right:5px
  }
  .feature-item h3{
    font-size:16px;
    padding-right:25px;
    margin-bottom:10px
  }
  .feature-item p{
    font-size:11px;
    max-width:none;
    line-height:1.9;
    padding-right:13px
  }
  .feature-item a{
    font-size:10px;
    margin-top:14px;
    gap:9px
  }
  .feature-item a .icon{
    width:13px
  }
  .section-note{
    font-size:8px;
    margin-top:15px;
    line-height:1.8
  }
  .features-section .section-heading{
    margin-bottom:12px
  }
  .gallery-toolbar{
    margin-bottom:21px
  }
  .screenshot-filters{
    gap:25px
  }
  .filter{
    font-size:10px;
    padding-bottom:13px
  }
  .gallery-toolbar>p{
    display:none
  }
  .screenshot-grid,.screenshot-grid.filtered{
    display:flex;
    gap:15px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:3px 0 14px;
    justify-content:flex-start;
    scrollbar-width:thin;
    scrollbar-color:#536447 #1c271c
  }
  .screenshot-card{
    flex:0 0 70%;
    max-width:270px;
    scroll-snap-align:start
  }
  .screenshot-stage{
    padding:23px 18px 0;
    aspect-ratio:1/1.65
  }
  .screenshot-stage>img{
    border-radius:23px;
    border-width:3px
  }
  .screenshot-card figcaption{
    padding-top:17px;
    gap:12px
  }
  .screenshot-index{
    display:block
  }
  .screenshot-card h3{
    font-size:14px
  }
  .screenshot-card p{
    font-size:9px
  }
  .mobile-swipe-note{
    display:block;
    font-size:9px;
    color:#6d8265;
    margin-top:16px;
    text-align:center
  }
  .reviews-section .section-heading h2{
    font-size:23px
  }
  .reviews-section .heading-aside{
    display:block
  }
  .reviews-section .heading-aside p{
    margin-top:9px;
    font-size:9px
  }
  .reviews-grid{
    grid-template-columns:1fr;
    gap:14px
  }
  .review-card{
    padding:23px 24px
  }
  .review-top{
    margin-bottom:15px
  }
  .review-card h3{
    font-size:16px;
    margin-bottom:10px
  }
  .review-card blockquote{
    font-size:12px;
    margin-bottom:19px;
    line-height:1.9
  }
  .review-person{
    gap:11px;
    padding-top:16px
  }
  .review-person>div>strong{
    font-size:11px
  }
  .review-person>div>span{
    font-size:8px
  }
  .review-platform{
    display:block;
    font-size:8px
  }
  .review-category{
    font-size:9px
  }
  .download-panel{
    grid-template-columns:1fr;
    gap:27px;
    padding:31px 25px;
    border-radius:12px
  }
  .download-intro h2{
    font-size:36px;
    margin-top:15px;
    line-height:1.4
  }
  .download-intro>p:not(.eyebrow){
    font-size:11px
  }
  .release-tag{
    font-size:8px;
    margin-top:14px
  }
  .download-decoration{
    left:130px;
    top:-10px;
    font-size:300px
  }
  .platform-card{
    padding:15px 19px;
    gap:15px
  }
  .platform-card>div>strong{
    font-size:15px
  }
  .platform-card>div>span{
    font-size:9px
  }
  .platforms>p{
    font-size:8px;
    margin-top:15px
  }
  .app-info{
    grid-template-columns:1fr;
    gap:24px;
    margin-top:26px;
    padding-top:9px
  }
  .app-info-heading{
    gap:10px
  }
  .app-info-heading h3{
    font-size:13px
  }
  .app-info-heading p{
    font-size:8px;
    margin-top:3px
  }
  .app-info dl{
    grid-template-columns:repeat(2,1fr);
    gap:20px 25px;
    padding-left:2px
  }
  .app-info dt{
    font-size:9px
  }
  .app-info dd{
    font-size:11px;
    margin-top:5px
  }
  .app-info .developer-info{
    grid-column:span 2
  }
  .faq-layout{
    grid-template-columns:1fr;
    gap:32px
  }
  .faq-intro h2{
    font-size:27px;
    line-height:1.5;
    margin-top:14px
  }
  .faq-intro>p:not(.eyebrow){
    font-size:11px;
    margin-top:16px
  }
  .faq-intro>p>br{
    display:none
  }
  .text-link{
    font-size:10px;
    margin-top:20px
  }
  .faq-list summary{
    font-size:12px;
    gap:14px;
    line-height:1.7;
    padding:20px 0
  }
  .faq-list summary>span:first-child{
    font-size:9px
  }
  .faq-answer{
    font-size:11px;
    line-height:1.95;
    padding:0 18px 22px 27px
  }
  .site-footer{
    padding:28px 0 98px
  }
  .footer-top{
    flex-wrap:wrap;
    gap:25px;
    padding-bottom:24px
  }
  .footer-top nav{
    gap:26px;
    font-size:10px
  }
  .footer-top .brand{
    width:100%
  }
  .footer-bottom{
    font-size:8px;
    gap:9px 20px;
    flex-wrap:wrap;
    padding-top:18px
  }
  .footer-bottom>p:first-child{
    width:100%
  }
  .preview-disclosure{
    font-size:8px;
    line-height:1.8;
    margin-top:13px
  }
  .mobile-download-bar{
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 20px calc(12px + env(safe-area-inset-bottom));
    background:#172018f2;
    border-top:1px solid #53654655;
    backdrop-filter:blur(18px);
    z-index:20;
    box-shadow:0 -8px 25px #0003
  }
  .mobile-download-bar>div{
    display:flex;
    gap:9px;
    align-items:center
  }
  .mobile-download-bar>div>span{
    font-size:10px;
    letter-spacing:1px;
    font-weight:600;
    line-height:1.3
  }
  .mobile-download-bar small{
    display:block;
    font-size:8px;
    color:#91a285;
    font-weight:400;
    margin-top:4px;
    letter-spacing:2px
  }
  .mobile-download-bar .button{
    min-height:36px;
    font-size:10px;
    padding:0 17px
  }
  .image-dialog{
    padding:30px 20px 23px;
    width:390px;
    max-height:94svh
  }
  .lightbox-layout{
    grid-template-columns:1fr;
    gap:20px
  }
  .lightbox-layout>img{
    max-height:57svh;
    max-width:90%;
    border-radius:23px
  }
  .lightbox-info{
    padding:0 7px
  }
  .lightbox-info .eyebrow{
    display:none
  }
  .lightbox-info h2{
    font-size:20px;
    margin:0 0 8px
  }
  .lightbox-info>p:not(.eyebrow){
    font-size:10px;
    line-height:1.7
  }
  .lightbox-info .outline-tag{
    margin-top:10px;
    font-size:8px
  }
  .lightbox-controls{
    margin-top:16px
  }
  .lightbox-info small{
    display:none
  }
  .lightbox-controls button{
    width:33px;
    height:33px
  }
  .lightbox-controls>span{
    font-size:10px
  }
  .download-dialog{
    padding:40px 26px 29px
  }
  .download-dialog h2{
    font-size:22px
  }
  .download-dialog>p:not(.eyebrow){
    font-size:12px
  }
}
@media(max-width:374px){
  .container{
    width:calc(100% - 32px)
  }
  .hero h1{
    font-size:29px
  }
  .hero h1>span{
    font-size:31px
  }
  .hero-buttons .button{
    padding:0 16px;
    font-size:11px
  }
  .hero-label span{
    display:none
  }
  .phone-back{
    left:15px;
    width:157px
  }
  .phone-front{
    right:16px;
    width:183px
  }
  .hero-art{
    height:445px
  }
  .floating-label{
    left:3px;
    bottom:39px
  }
  .art-footnote{
    right:0;
    bottom:10px
  }
  .orbit-one{
    width:320px;
    height:320px;
    left:calc(50% - 160px)
  }
  .orbit-two{
    width:250px;
    height:250px;
    left:calc(50% - 125px);
    top:73px
  }
  .hero-bottom{
    gap:19px
  }
  .reviews-section .section-heading h2{
    font-size:21px
  }
  .section-heading h2{
    font-size:23px
  }
}
.button{
  white-space:nowrap
}
@media(max-width:374px){
  .header-inner{
    gap:10px
  }
  .header-actions{
    gap:10px
  }
  .header-actions .button-small{
    padding-inline:10px
  }
  .header-actions .button-small .icon{
    display:none
  }
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*::before,*::after{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }
}
/* Content and image refinements, 2026-10-26 */
.avatar{
  width:42px;
  height:42px;
  display:block;
  object-fit:cover;
  border:2px solid #d4dccd;
  background:#dce2d5
}
.overview-section{
  background:var(--bg);
  border-top:1px solid var(--line);
  padding-bottom:62px
}
.page-directory{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 27px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
  font-size:12px;
  color:var(--gold)
}
.page-directory>span{
  color:#a5b29f;
  font-size:10px;
  letter-spacing:2px;
  margin-right:10px
}
.page-directory a:hover,.overview-copy a:hover,.installation-card a:hover{
  text-decoration:underline;
  text-underline-offset:4px
}
.overview-copy{
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:70px;
  padding-top:48px
}
.overview-copy h2{
  font-size:28px;
  font-weight:500;
  line-height:1.5;
  margin-top:14px
}
.overview-copy p:not(.eyebrow){
  font-size:13px;
  line-height:2;
  color:#b2bfb0;
  margin-bottom:13px
}
.overview-copy a,.installation-card a{
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:3px
}
.installation-section{
  border-top:1px solid var(--line);
  background:#14201b
}
.installation-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.installation-card{
  padding:32px;
  border:1px solid #6d826544;
  border-radius:16px;
  background:#1b2a23
}
.installation-card h3{
  font-size:21px;
  font-weight:500;
  margin:18px 0 25px
}
.installation-card ol{
  padding-left:24px;
  margin:0;
  color:var(--gold)
}
.installation-card li{
  padding-left:8px;
  margin-top:21px
}
.installation-card strong{
  font-size:14px;
  color:#e8eadf;
  font-weight:500
}
.installation-card li p{
  font-size:12px;
  line-height:1.9;
  margin-top:7px;
  color:#a9b9aa
}
@media(max-width:960px){
  .overview-copy{
    gap:30px
  }
  .overview-copy h2{
    font-size:24px
  }
  .installation-card{
    padding:25px
  }
  .download-intro h2{
    font-size:32px
  }
}
@media(max-width:760px){
  .overview-section{
    padding-bottom:35px
  }
  .page-directory{
    gap:14px 20px;
    font-size:11px;
    padding:22px 0
  }
  .page-directory>span{
    width:100%
  }
  .overview-copy{
    grid-template-columns:1fr;
    gap:15px;
    padding-top:32px
  }
  .overview-copy h2{
    font-size:23px
  }
  .overview-copy p:not(.eyebrow){
    font-size:12px
  }
  .installation-grid{
    grid-template-columns:1fr;
    gap:16px
  }
  .installation-card{
    padding:24px
  }
  .installation-card h3{
    font-size:19px
  }
  .installation-card strong{
    font-size:13px
  }
  .installation-card li p{
    font-size:12px
  }
  .download-intro h2{
    font-size:30px
  }
}
/* Service statements replace fictional testimonials. */
.service-copy{
  color: #52624f;
  line-height: 1.95;
  font-size: 14px;
}
.review-card .text-link{
  margin-top: 22px;
  color: #76591f;
}
@media (max-width: 760px){
  .service-copy{
    font-size: 12px;
  }
}
