*,*::before,*::after{box-sizing:border-box}
:root{
  --bg:#fff;
  --surface-soft:#f8fbfa;
  --surface-tint:#f6f8fb;
  --text:#111827;
  --text-soft:#253041;
  --text-muted:#3d4958;
  --line:#e5e7eb;
  --line-strong:#d6dbe3;
  --teal:#0f6f68;
  --teal-dark:#0b5752;
  --faq-open-bg:#f6fbfa;
  --radius:18px;
  --radius-lg:24px;
  --radius-pill:999px;
  --card-radius:24px;
  --media-radius:20px;
  --shadow-sm:0 6px 18px rgba(17,24,39,.035);
  --shadow:0 12px 28px rgba(17,24,39,.05);
  --shadow-card:0 16px 34px rgba(17,24,39,.05);
  --button-height:52px;
  --button-pad-x:1.35rem;
  --button-radius:16px;
  --max:1240px;
  --hh:74px;
  --header-height:74px;
  --section-gap:clamp(3.25rem,5vw,4.75rem);
  --section-heading-gap:clamp(1.1rem,2vw,1.5rem);
  --body-copy-size:clamp(1rem,1.2vw,1.07rem);
}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto;image-rendering:auto}
a{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
h1,h2,h3,p{margin:0}
h1,h2,h3{letter-spacing:-.03em;line-height:1.05}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:1rem;z-index:1000;padding:.7rem 1rem;background:#111827;color:#fff;text-decoration:none;border-radius:10px}
.skip-link:focus{left:1rem}
.shell{width:min(var(--max),calc(100vw - 2rem));margin:0 auto}
.eyebrow,.editorial-label{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-height);padding:.9rem var(--button-pad-x);border-radius:var(--button-radius);border:1px solid transparent;text-decoration:none;font-weight:700;font-size:.97rem;line-height:1.1;letter-spacing:-.01em;transition:background-color 160ms,border-color 160ms,color 160ms,transform 160ms,box-shadow 160ms;white-space:nowrap;touch-action:manipulation}
.button:hover{transform:translateY(-1px)}
.button-primary{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:none}
.button-primary:hover{background:var(--teal-dark);border-color:var(--teal-dark);box-shadow:none}
.button-secondary{background:#fff;color:var(--text);border-color:rgba(17,24,39,.14);box-shadow:none}
.button-secondary:hover{background:var(--surface-tint);color:var(--text);border-color:rgba(17,24,39,.2)}
.button-subtle{background:transparent;border-color:transparent;color:var(--text-soft);padding-left:.2rem;padding-right:.1rem;min-height:auto;font-weight:600;box-shadow:none}
.button-subtle:hover{background:transparent;border-color:transparent;color:var(--text)}
.hero-secondary{color:var(--text-soft);position:relative;padding-right:1.2rem}.hero-secondary::after{content:"→";margin-left:.5rem;font-size:1rem;line-height:1;transition:transform 160ms ease,opacity 160ms ease;opacity:.8}.hero-secondary:hover::after,.hero-secondary:focus-visible::after{transform:translateX(2px);opacity:1}
.site-header{position:sticky;top:0;z-index:120;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,231,235,.72);transition:background-color 160ms,border-color 160ms,box-shadow 160ms}
.site-header.is-scrolled{background:rgba(255,255,255,.985);border-bottom-color:rgba(229,231,235,.9);box-shadow:0 6px 18px rgba(17,24,39,.035)}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:1.35rem;min-height:var(--hh);position:relative}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:700;position:relative;z-index:2}
.brand img{width:32px;height:32px}
.site-nav{display:flex;align-items:center;gap:.45rem}
.site-nav a{text-decoration:none;padding:.78rem .98rem;border-radius:var(--radius-pill);font-size:.96rem;color:var(--text-soft);min-height:46px;display:inline-flex;align-items:center;justify-content:center}
.site-nav a:hover{color:var(--text);background:#f8fafc}
.site-nav .nav-cta,.site-nav .nav-cta:visited{color:var(--text-soft);background:#fff;border:1px solid rgba(17,24,39,.12)}
.site-nav .nav-cta:hover{color:var(--text);background:var(--surface-tint);border-color:rgba(17,24,39,.18)}
.nav-cta{margin-left:.35rem;min-width:0;font-weight:600;font-size:.92rem;padding:.72rem 1rem;box-shadow:none}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line-strong);border-radius:14px;background:#fff;padding:0;cursor:pointer;box-shadow:0 4px 14px rgba(17,24,39,.04);position:relative;z-index:2}
.menu-toggle span{display:block;width:18px;height:2px;margin:0 auto;background:var(--text);transition:transform 160ms,opacity 160ms}
.menu-toggle span+span{margin-top:5px}
.menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.hero{position:relative;padding:clamp(2rem,4vw,3.25rem) 0 .35rem}
.hero-overlay{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(92vh,860px)}
.hero-content{width:100%;max-width:820px;padding:clamp(2.5rem,4vw,3.5rem);color:#fff;position:relative;z-index:1;background:rgba(255,255,255,.18);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.08);display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.5rem;align-items:center}
.hero-content>:not(.hero-actions){max-width:min(540px,100%)}
.hero-content h1{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.15);font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.12;grid-column:1}

.hero-content h1 span+span{margin-top:.1em}
.hero-copy{font-size:clamp(.95rem,1.5vw,1.05rem);color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.2);line-height:1.6;grid-column:2}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.55rem;align-items:center}
.hero-actions .button-primary{box-shadow:0 10px 24px rgba(15,111,104,.16)}
.hero-primary-cta{min-width:268px;padding-inline:1.55rem;box-shadow:0 12px 28px rgba(15,111,104,.18)}
.hero .button,.final-cta .button,.site-nav .nav-cta{min-height:var(--button-height);border-radius:var(--button-radius)}
.hero .button-primary,.final-cta .button-primary{min-width:244px}.hero-meta{margin-top:.95rem;font-size:.94rem;line-height:1.5;color:#516073}
.section{padding:var(--section-gap) 0}
.section + .section{padding-top:var(--section-gap)}
.section-heading{margin-bottom:var(--section-heading-gap)}
.section-heading h2{max-width:18ch;margin-top:.7rem;font-size:clamp(1.95rem,3.7vw,3rem);line-height:1.02;text-wrap:balance}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem;align-items:stretch}
.feature-card{display:grid;grid-template-rows:auto 1fr;height:100%;min-height:100%;padding:1.16rem;border:1px solid var(--line);border-radius:var(--card-radius);background:#fff;box-shadow:var(--shadow-sm);transition:border-color 200ms,box-shadow 200ms,transform 200ms}
.feature-card:hover{border-color:rgba(15,111,104,.25);box-shadow:var(--shadow);transform:translateY(-2px)}
.feature-image{overflow:hidden;border-radius:var(--media-radius);aspect-ratio:1.14/1;background:#f3f4f6;border:1px solid rgba(17,24,39,.04)}
.feature-image picture{display:block;width:100%;height:100%}
.feature-image img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform 260ms ease}
.feature-card:hover .feature-image img{transform:scale(1.03)}
.feature-body{display:flex;flex-direction:column;gap:.78rem;padding:1.05rem .22rem .15rem}
.feature-card h3{font-size:1.24rem;min-height:2.7em;display:flex;align-items:flex-start;line-height:1.15}
.feature-card p{color:var(--text-muted);font-size:var(--body-copy-size);line-height:1.68;max-width:none}
.use-cases-section{background:var(--surface-soft)}
.editorial-block{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1.5rem,2.8vw,2.9rem);align-items:center;padding:clamp(.9rem,1.5vw,1.2rem) 0}
.editorial-block+.editorial-block{margin-top:clamp(1rem,1.6vw,1.55rem)}
.editorial-block-reverse{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.editorial-block-reverse .editorial-copy{order:2}
.editorial-block-reverse .editorial-media{order:1}
.editorial-copy h3{margin-top:.7rem;font-size:clamp(1.8rem,3vw,2.6rem);text-wrap:balance}
.editorial-copy p:not(.editorial-label){margin-top:1rem;max-width:56ch;color:var(--text-soft);font-size:var(--body-copy-size);line-height:1.72}
.editorial-media{overflow:hidden;border-radius:var(--card-radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;aspect-ratio:4/3}
.editorial-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.text-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.1rem;color:var(--teal);text-decoration:none;font-weight:650;padding:.2rem 0}
.text-link:hover{text-decoration:underline}
.faq-shell{max-width:860px}
.faq-list{display:grid;gap:.95rem}
.faq-item{border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:none;transition:border-color 180ms,box-shadow 180ms,background-color 180ms,transform 180ms}
.faq-item summary{list-style:none;cursor:pointer;position:relative;padding:1.24rem 4.8rem 1.24rem 1.45rem;font-weight:700;line-height:1.45;min-height:76px;display:flex;align-items:center;color:#15202d;transition:background-color 160ms,color 160ms,border-color 160ms}
.faq-item summary::after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-50%) rotate(0deg);width:44px;height:44px;border-radius:999px;border:1px solid rgba(17,24,39,.16);display:inline-flex;align-items:center;justify-content:center;color:var(--teal);font-size:1.5rem;font-weight:600;line-height:1;background:#fff;box-shadow:0 2px 8px rgba(17,24,39,.05);transition:transform 160ms,background-color 160ms,border-color 160ms,color 160ms,box-shadow 160ms}
.faq-item[open] summary{color:#0f172a;background:rgba(255,255,255,.65);border-bottom:1px solid rgba(15,111,104,.1)}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg);background:rgba(15,111,104,.08);border-color:rgba(15,111,104,.18);color:var(--teal);box-shadow:none}
.faq-item summary:hover{background:#fbfcfc}
.faq-item summary:focus-visible::after{border-color:var(--teal)}
.faq-panel{padding:.15rem 1.45rem 1.3rem;color:var(--text-muted)}
.faq-panel p{line-height:1.68}
.final-cta{padding-top:clamp(.6rem,1.2vw,1rem);padding-bottom:clamp(2.6rem,4.5vw,3.7rem)}
.final-cta-shell{padding:clamp(2.5rem,5vw,4rem);border:1px solid var(--line);border-radius:calc(var(--radius-lg) + 2px);background:#fff;box-shadow:var(--shadow-sm);text-align:center}
.final-cta-shell h2{max-width:none;margin:0 auto;margin-top:.7rem;font-size:clamp(2rem,4vw,3.2rem);text-wrap:balance}
.final-cta-shell p:not(.eyebrow){max-width:58ch;margin:1rem auto 0;color:var(--text-soft)}
.final-actions{margin-top:1.5rem}
.final-actions .button-primary{box-shadow:0 10px 24px rgba(15,111,104,.16)}
.site-footer{border-top:1px solid var(--line);padding:1.35rem 0 1.45rem}
.footer-shell{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.footer-shell p,.footer-shell nav{font-size:.95rem}
.footer-shell nav{display:flex;flex-wrap:wrap;gap:1rem}
.footer-shell nav a{color:#2f3c4d;text-decoration:underline;text-decoration-color:rgba(47,60,77,.2);text-underline-offset:.18em;min-height:44px;display:inline-flex;align-items:center}
.footer-shell nav a:hover,.footer-shell nav a:focus-visible{color:var(--teal);text-decoration-color:currentColor}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 420ms ease,transform 420ms ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:960px){
  .feature-grid{grid-template-columns:1fr}
  .editorial-block,.editorial-block-reverse{grid-template-columns:1fr}
  .editorial-block-reverse .editorial-copy,.editorial-block-reverse .editorial-media{order:initial}
  .feature-card h3{min-height:0}
}
@media(max-width:760px){
  :root{--hh:68px;--section-gap:clamp(2.8rem,7.2vw,3.6rem);--section-heading-gap:1rem;--button-pad-x:1.15rem;--card-radius:22px;--media-radius:20px;--button-height:58px}
  .shell{width:min(var(--max),calc(100vw - 1.25rem))}
  .nav-shell{align-items:flex-start;flex-wrap:wrap;gap:.75rem;padding:.55rem 0 .45rem}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;margin-left:auto}
  .site-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:.42rem;padding:.8rem 0 .35rem;border-top:1px solid rgba(229,231,235,.82);margin-top:.45rem;background:rgba(255,255,255,.985)}
  .site-nav.is-open{display:flex;padding-bottom:.6rem;box-shadow:0 12px 22px rgba(17,24,39,.035);border-radius:0 0 18px 18px}
  .site-nav a{padding:1rem .35rem;border-radius:14px;justify-content:flex-start;min-height:50px}
  .site-nav .nav-cta{display:none}
  .nav-cta{margin-left:0;min-width:0}
  .hero{padding-top:calc(max(1.1rem, (var(--header-height, var(--hh)) - var(--hh)) + 1rem));padding-bottom:.2rem}
  .hero-content h1{max-width:10.3ch;font-size:clamp(2.2rem,8vw,2.95rem);line-height:.95;margin-top:.58rem}
  .hero-copy{max-width:34ch;font-size:1rem;line-height:1.66;margin-top:.86rem}
  .hero-actions{gap:.7rem;margin-top:1.2rem;align-items:stretch}
  .hero-actions,.final-actions,.footer-shell{flex-direction:column;align-items:flex-start}
  .hero .button-primary,.hero .button-secondary,.final-cta .button-primary,.final-cta .button-secondary,.button{width:100%;min-width:0}
  .hero-actions .button,.final-actions .button{min-height:58px;padding-top:1rem;padding-bottom:1rem}
  .hero-actions .button-subtle{display:none}
  .final-actions .button-subtle{display:inline-flex;width:auto;min-height:44px;padding:.2rem 1.1rem .2rem 0}
  .hero .button-primary,.final-cta .button-primary{font-size:1rem}
  .hero-meta{font-size:.92rem}
  .section-heading{margin-bottom:1.15rem}
  .feature-grid{gap:1.05rem}
  .feature-card{padding:1.02rem}
  .feature-image{aspect-ratio:4/3}
  .feature-image img{object-fit:cover;object-position:center 36%;background:#f3f4f6}
  .feature-body{padding:1rem .08rem .14rem;gap:.8rem}
  .feature-card h3{font-size:1.22rem}
  .feature-card p,.editorial-copy p:not(.editorial-label){font-size:1rem;line-height:1.65}
  .editorial-block{padding:1rem 0 1.1rem;gap:1rem}
  .editorial-copy h3{font-size:clamp(1.7rem,6vw,2.2rem)}
  .editorial-media{aspect-ratio:1.22/1}
  .editorial-media img{object-fit:cover;object-position:center 40%;background:#f3f4f6}
  .final-cta-shell{padding:1.75rem 1.15rem 1.4rem}
  .faq-item summary{padding:1.05rem 4.45rem 1.05rem 1rem;min-height:72px}
  .faq-item summary::after{width:44px;height:44px;right:.9rem}
  .faq-panel{padding:.1rem 1rem 1.1rem}
}
@media(max-width:420px){
  .shell{width:min(var(--max),calc(100vw - 1rem))}
  .hero{padding-top:calc(max(1rem, (var(--header-height, var(--hh)) - var(--hh)) + .9rem))}
  .hero-content h1{max-width:10.4ch;font-size:clamp(2.1rem,8vw,2.85rem)}
  .hero-copy{font-size:.98rem}
  .editorial-media{aspect-ratio:1.08/1}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
@media(max-width:760px){
  .text-link{min-height:44px;align-items:center}
}

.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.25) 100%)}
.apple-icon{flex-shrink:0;margin-right:.4rem}

.hero-content h1{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.15)}
.hero-content h1 span{display:block}

.app-store-badge{display:inline-block;transition:opacity 160ms}
.app-store-badge:hover{opacity:.8}
.app-store-badge img{height:44px;width:auto}
.nav-cta-badge{display:inline-flex;align-items:center}
.nav-cta-badge img{height:32px;width:auto}
.final-actions{justify-content:center}

@media(max-width:760px){.hero-content{grid-template-columns:1fr;gap:1rem}.hero-content h1{grid-column:1}.hero-copy{grid-column:1}}
