/* Professional refresh of the home page (October 2026). Loaded last on index.html.
   Left-aligned hero, calmer headings, stacked section intros, the merged "Fair by design"
   section and the feature switcher (scripts/switcher.js). Typography lives in base.css. */

/* Hero */
.hero-refined{padding-top:148px;min-height:0;background:linear-gradient(180deg,#fff 0%,#f8fbff 55%,#eef4ff 82%,#fff 100%)}
.hero-refined .hero-copy{position:relative;z-index:2;text-align:left;display:grid;justify-items:start}
.hero-refined h1{font-size:clamp(46px,6vw,88px);font-weight:600;letter-spacing:-.045em;line-height:1.02;margin:0 0 26px;max-width:12.5ch}
.hero-refined .hero-copy>p{font-size:clamp(17px,1.45vw,20px);line-height:1.55;letter-spacing:-.008em;color:var(--ink-2);max-width:34rem;margin:0}
.hero-refined .hero-actions{justify-content:flex-start;gap:12px;margin-top:36px}
.hero-refined .hero-actions .button{height:50px;font-size:15px;padding-inline:26px}
.hero-refined .product-stage{margin-top:60px}
@media(max-width:599px){
  .hero-refined{padding-top:116px}
  .hero-refined .hero-backdrop{opacity:.5}
  .hero-refined h1{font-size:clamp(40px,11.5vw,52px);letter-spacing:-.04em}
  .hero-refined .hero-actions{flex-wrap:wrap}
  .hero-refined .hero-actions .button{height:48px;font-size:14px}
  .hero-refined .product-stage{margin-top:56px}
}

/* Section intros: stacked, left-aligned, one short paragraph */
.section-intro{max-width:60rem;margin-bottom:56px}
.section-intro>p{margin-top:20px;font-size:18px;line-height:1.6;color:var(--ink-3);max-width:34rem}
.section h2{font-size:clamp(34px,4vw,54px)}
@media(max-width:819px){.section-intro{margin-bottom:40px}.section-intro>p{font-size:16px}}

/* Vision */
.vision-section .vision-photo{margin-top:0}
.vision-section .vision-pillars{margin-top:64px;gap:48px}
.vision-section .vision-pillars h3{font-size:21px;letter-spacing:-.02em;margin-bottom:10px}
.vision-section .vision-pillars p{font-size:15px;line-height:1.65}
.fine-print{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}

/* Fair by design: the $0 card beside the calculator */
.fair-section{background:linear-gradient(160deg,#f9fbff,#eef4fd)}
.fair-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:stretch}
.fair-zero{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:36px;background:#fff}
.fair-zero .zero-visual{min-height:310px;padding-bottom:64px;background:radial-gradient(ellipse at 50% 50%,#eef5ff,transparent 70%)}
.fair-zero .zero-number{font-size:clamp(170px,17vw,250px)}
.fair-zero .zero-label{bottom:22px;font-size:18px}
.fair-zero>p{font-size:15px;line-height:1.6;color:var(--ink-3);max-width:28rem}
.fair-section .installment-card{position:relative;overflow:hidden;padding:36px;border-radius:var(--r-lg);box-shadow:var(--shadow-1)}
.fair-section .installment-card::after{content:'';position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),#2f7bff0a,transparent 60%);pointer-events:none}
.fair-section .installment-heading{flex-wrap:wrap}
.fair-section .installment-heading>span:first-of-type{font-size:14px}
.planned-tag{margin-left:auto;padding:5px 11px;border-radius:999px;background:var(--blue-50);color:var(--blue-600);font-size:11px;font-weight:550}
.fair-section .installment-card>label{font-size:13px}
.fair-section .installment-summary span{font-size:12px}
.fair-section .payment-months>span{font-size:10px}
.fair-section .installment-total{font-size:13px}
.fair-section .installment-card>p{font-size:12px}
@media(max-width:899px){.fair-grid{grid-template-columns:1fr}.fair-zero,.fair-section .installment-card{padding:26px}}

/* Feature switcher */
.features-section .section-intro{margin-bottom:44px}
.feature-switch{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.6fr);gap:28px;align-items:stretch}
.feature-tabs{display:flex;flex-direction:column;gap:6px}
.feature-tab{position:relative;display:grid;gap:4px;width:100%;text-align:left;padding:18px 20px 20px;border:1px solid transparent;border-radius:16px;background:transparent;color:var(--ink-2);overflow:hidden;transition:background .25s,border-color .25s,box-shadow .25s}
.feature-tab:hover{background:#ffffffb3}
.feature-tab:active{transform:none}
.feature-tab-title{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--ink-3);transition:color .25s}
.feature-tab-desc{font-size:14px;line-height:1.5;color:var(--ink-3)}
.feature-tab.is-active{background:#fff;border-color:var(--line);box-shadow:var(--shadow-1)}
.feature-tab.is-active .feature-tab-title{color:var(--ink)}
.feature-tab-progress{position:absolute;left:20px;right:20px;bottom:0;height:2px;border-radius:2px;background:var(--blue-500);transform:scaleX(0);transform-origin:left center;opacity:0}
.feature-tab.is-active .feature-tab-progress{opacity:1;animation:feature-progress var(--switch-duration,6500ms) linear forwards}
.feature-switch.is-paused .feature-tab-progress{animation-play-state:paused}
.feature-switch.is-manual .feature-tab-progress{display:none}
@keyframes feature-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.feature-stage{display:flex;flex-direction:column;min-height:460px;padding:0;background:#fff;transition:box-shadow .3s}
.feature-stage:hover{transform:none}
.feature-stage-bar{display:flex;align-items:center;gap:7px;padding:14px 20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink-2)}
.feature-stage-bar i{width:9px;height:9px;border-radius:50%;background:#e4e9f1}
.feature-stage-bar span{margin-left:8px;font-weight:550}
.feature-stage-bar small{margin-left:auto;font-size:12px;color:var(--ink-3)}
.feature-panels{position:relative;display:grid;flex:1;padding:36px}
.feature-panel{grid-area:1/1;min-width:0;display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .45s var(--ease),transform .55s var(--ease),visibility 0s linear .45s}
.feature-panel.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
/* Mock-ups scaled up for the larger stage */
.feature-stage .mini-registers{margin-top:44px;gap:24px;padding:0}
.feature-stage .mini-registers svg{width:150px;height:116px;margin-bottom:18px}
.feature-stage .mini-registers strong{font-size:15px;font-weight:550}
.feature-stage .mini-registers>div>span{font-size:13px;gap:7px;margin-top:8px}
.feature-stage .mini-registers>div>span i{width:6px;height:6px}
.feature-stage .mini-search{height:48px;margin:0 0 10px;border-radius:12px;padding:0 14px;font-size:16px}
.feature-stage .mini-search input{font-size:16px}
.feature-stage .stock-list>div{gap:14px;padding:14px 0;font-size:16px}
.feature-stage .stock-list small{font-size:13px}
.feature-stage .stock-list .low-stock{padding:4px 8px;border-radius:6px}
.feature-stage .stock-item-icon{width:42px;height:42px;border-radius:11px}
.feature-stage .stock-item-icon svg{width:32px;height:32px}
.feature-stage .stock-empty{margin-top:14px;font-size:14px;color:var(--ink-3)}
.feature-stage .avatar-cluster{padding:70px 0 40px}
.feature-stage .avatar-cluster>span{width:112px;height:112px;font-size:26px;border-width:6px;margin-left:-14px}
.feature-stage .avatar-cluster>span:nth-child(2){margin-top:26px}
.feature-stage .avatar-cluster small{bottom:-30px;padding:5px 12px;font-size:12px}
.feature-panel-team:hover .avatar-cluster>span:first-child{transform:translateX(-12px) rotate(-6deg)}
.feature-panel-team:hover .avatar-cluster>span:last-child{transform:translateX(12px) rotate(6deg)}
.feature-stage .map-mock{margin:-36px;height:calc(100% + 72px);min-height:380px;border-radius:0 0 var(--r-lg) var(--r-lg);overflow:hidden}
.feature-stage .map-pin{width:40px;height:40px;font-size:9px;border-width:5px}
.feature-stage .map-pin small{top:-34px;padding:5px 10px;font-size:12px;border-radius:7px}
.feature-stage .bento-revenue{margin:6px 0 10px;font-size:clamp(40px,4.4vw,58px);letter-spacing:-.04em}
.feature-stage .growth{font-size:14px}
.feature-stage .growth>span{font-size:13px}
.feature-stage .sales-chart{display:block;width:100%;height:auto;margin-top:30px}
.feature-stage .chart-times{margin-top:10px;font-size:12px}
@media(max-width:899px){
  .feature-switch{grid-template-columns:1fr;gap:16px}
  .feature-tabs{flex-direction:row;gap:8px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .feature-tabs::-webkit-scrollbar{display:none}
  .feature-tab{flex:0 0 auto;width:auto;padding:11px 18px 13px;border-radius:999px;scroll-snap-align:start}
  .feature-tab-desc{display:none}
  .feature-tab-title{font-size:15px}
  .feature-tab-progress{left:16px;right:16px}
  .feature-stage{min-height:0}
  .fair-zero .zero-visual{min-height:250px;padding-bottom:56px}
  .feature-panels{padding:24px}
  .feature-stage .map-mock{margin:-24px;height:calc(100% + 48px);min-height:250px}
  .feature-stage .mini-registers{gap:10px;margin-top:30px}
  .feature-stage .mini-registers svg{width:92px;height:72px}
  .feature-stage .mini-registers strong{font-size:12px}
  .feature-stage .avatar-cluster>span{width:84px;height:84px;font-size:20px}
}

/* Questions: heading only, no sub-line */
.preview-faq-layout>div>h2{margin:0}

/* Waitlist */
.connect-section .section-heading h2{font-size:clamp(34px,4vw,54px)}

/* Tilt cards keep their shadow transition but let GSAP own transform */
[data-tilt]{transition:box-shadow .3s,border-color .3s}

/* Shorter page (October 2026): about 25% less scrolling. The separate demo section is gone
   (#demo now points at the interactive register in the hero) and spacing is tightened. */
.section{padding-block:92px}
.section-intro{margin-bottom:40px}
.section-intro>p{margin-top:16px}
.hero-refined{padding-top:124px}
.hero-refined .hero-actions{margin-top:30px}
.hero-refined .product-stage{margin-top:44px;padding-bottom:28px}
@media(min-width:1024px){.hero-refined .product-stage{width:min(940px,calc(100% - 112px))}}
.values-strip.is-marquee{padding:26px 0 30px}
.values-track-wrap{margin:8px 0 12px}
.vision-section .vision-pillars{margin-top:40px;gap:40px}
.fine-print{margin-top:32px;padding-top:16px}
@media(min-width:820px){.vision-section .vision-photo .photo-frame{aspect-ratio:3/1}}
.fair-zero{padding:30px;gap:16px;justify-content:center}
.fair-zero .zero-visual{min-height:240px;padding-bottom:52px}
.fair-zero .zero-number{font-size:clamp(150px,15vw,210px)}
.fair-section .installment-card{padding:30px}
.fair-section .installment-heading{margin-bottom:22px}
.feature-stage{min-height:400px}
.feature-tab{padding:14px 18px 16px}
.feature-panels{padding:30px}
.feature-stage .map-mock{margin:-30px;height:calc(100% + 60px);min-height:330px}
.features-section .section-footer-link{margin-top:28px}
.connect-section .section-heading{margin-bottom:36px}
.connect-card{padding:28px;gap:12px}
.follow-strip{margin-top:28px}
.final-cta{padding-block:68px}
@media(max-width:819px){
  .section{padding-block:68px}
  .section-intro{margin-bottom:28px}
  .hero-refined .product-stage{margin-top:36px}
  .fair-zero .zero-visual{min-height:200px;padding-bottom:48px}
  .fair-zero .zero-number{font-size:150px}
  .fair-zero,.fair-section .installment-card{padding:22px}
  .vision-section .vision-pillars{margin-top:32px;gap:26px}
  .feature-panels{padding:22px}
  .feature-stage .map-mock{margin:-22px;height:calc(100% + 44px);min-height:240px}
  .connect-card{padding:22px}
  .final-cta{padding-block:54px}
}
@media(max-width:479px){.section{padding-block:60px}}
/* Second pass */
.section{padding-block:84px}
@media(min-width:1024px){.hero-refined .product-stage{width:min(880px,calc(100% - 112px))}}
@media(min-width:820px){.vision-section .vision-photo .photo-frame{aspect-ratio:10/3}}
.feature-tab{padding:12px 18px 14px}
.feature-stage{min-height:380px}
.fair-section .installment-heading{margin-bottom:16px}
.fair-section .installment-summary{padding:16px 0;margin-top:12px}
.fair-section .payment-months{margin-bottom:16px}
.fair-section .installment-card>p{margin-top:14px}
.lead-field input,.lead-field select,.lead-field textarea{min-height:44px;padding-block:10px}
.connect-card{gap:10px}
.final-cta{padding-block:58px}
.final-cta h2{font-size:clamp(40px,5vw,64px)}
.site-footer{padding-top:56px}
.footer-top{margin-bottom:44px}
@media(max-width:819px){
  .section{padding-block:60px}
  .vision-section .vision-photo .photo-frame{aspect-ratio:16/10}
  .fair-zero .zero-visual{min-height:170px;padding-bottom:44px}
  .fair-zero .zero-number{font-size:124px}
  .fair-zero .zero-label{bottom:12px;font-size:16px}
  .follow-pill small{display:none}
  .follow-links{gap:8px}
  .follow-pill{min-height:40px}
  .site-footer{padding-top:44px}
  .footer-intro{margin-bottom:26px}
  .footer-columns{gap:22px 16px}
  .footer-columns h3{margin-bottom:12px}
  .footer-columns a{margin-bottom:8px}
  .footer-top{margin-bottom:32px}
}
@media(max-width:479px){.section{padding-block:56px}}
/* Phones: one form at a time */
.connect-switch,.connect-switch[hidden]{display:none}
@media(max-width:819px){
  .connect-switch{display:flex;gap:4px;width:max-content;max-width:100%;margin:0 auto 18px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fff;box-shadow:var(--shadow-1)}
  .connect-switch button{height:40px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--ink-3);font-size:14px;font-weight:550;transition:background .2s,color .2s}
  .connect-switch button[aria-pressed=true]{background:var(--blue-600);color:#fff}
  .connect-grid[data-show=waitlist] .connect-card[data-lead-form=contact],.connect-grid[data-show=contact] .connect-card[data-lead-form=waitlist]{display:none}
}

/* The sales card and terminal decorate the hero register, which is also the demo, so they must never
   cover a control. Taps pass through them. From 1200px they sit beside the register and overlap only
   its frame; below that they hang under it and overlap only the bottom bezel. */
.hero-refined .today-float,.hero-refined .terminal-float{pointer-events:none}
@media(min-width:1200px){
  .hero-refined .today-float{left:-125px}
  .hero-refined .terminal-float{right:-123px}
}
@media(max-width:1199px){
  .hero-refined .product-stage{--below:200px;padding-bottom:var(--below)}
  .hero-refined .today-float{left:-12px;top:calc(100% - var(--below) - 12px);bottom:auto}
  .hero-refined .terminal-float{right:-12px;top:calc(100% - var(--below) - 22px);bottom:auto}
}
@media(min-width:820px) and (max-width:1199px){
  .hero-refined .terminal-float{width:105px;height:207px;padding:9px;border-radius:16px}
  .hero-refined .terminal-screen{height:112px;padding:10px 3px 6px;border-radius:7px}
  .hero-refined .terminal-screen>img{width:15px;height:15px}
  .hero-refined .terminal-screen>strong{font-size:16px;margin:4px 0 6px}
  .hero-refined .terminal-screen>span,.hero-refined .terminal-screen>small{font-size:4px}
  .hero-refined .terminal-screen>svg{width:15px;height:15px}
  .hero-refined .terminal-keys{margin:7px 4px 5px;gap:3px}
}
@media(max-width:599px){
  .hero-refined .product-stage{--below:146px}
  .hero-refined .today-float{left:4px}
  .hero-refined .terminal-float{right:6px}
}
