:root {
  --green-950:#07382c;
  --green-900:#094735;
  --green-800:#0d5b45;
  --green-700:#147257;
  --green-100:#e4f1ea;
  --green-50:#f1f8f4;
  --gold:#e3a12d;
  --gold-dark:#a66a0b;
  --cream:#fbfaf6;
  --paper:#ffffff;
  --ink:#1c2924;
  --muted:#66716c;
  --line:#dce4df;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --shadow:0 24px 70px rgba(8,55,42,.15);
}

* { box-sizing:border-box; }
[hidden] { display:none!important; }
.site-footer div:nth-child(2) { flex-wrap:wrap; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:var(--sans); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
button,a { font:inherit; }
a { color:inherit; }
.skip-link { position:fixed; z-index:100; left:16px; top:10px; padding:9px 14px; border-radius:8px; color:#fff; background:var(--green-900); transform:translateY(-150%); }
.skip-link:focus { transform:none; }

.site-header { position:fixed; z-index:30; inset:0 0 auto; padding:18px 28px; transition:.25s ease; }
.site-header.scrolled { padding-top:10px; padding-bottom:10px; background:rgba(251,250,246,.9); border-bottom:1px solid rgba(13,91,69,.1); backdrop-filter:blur(16px); }
.nav-shell { width:min(1200px,100%); min-height:52px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.brand img { width:175px; height:auto; }
.site-nav { display:flex; align-items:center; gap:30px; }
.site-nav a { color:#31423a; text-decoration:none; font-size:.92rem; font-weight:650; }
.site-nav a:hover { color:var(--green-700); }
.site-nav .nav-download { padding:10px 17px; border:1px solid var(--green-800); border-radius:999px; color:var(--green-800); }
.menu-button { display:none; width:44px; height:44px; padding:10px; border:0; border-radius:10px; background:var(--green-50); }
.menu-button span { display:block; height:2px; margin:5px 0; background:var(--green-900); }

.hero { position:relative; min-height:100vh; padding:150px max(30px,calc((100vw - 1200px)/2)) 76px; overflow:hidden; background:linear-gradient(145deg,#fbfaf6 8%,#f5f6ee 58%,#e5efe7 100%); }
.hero::before { content:""; position:absolute; inset:0; opacity:.28; pointer-events:none; background-image:radial-gradient(rgba(13,91,69,.2) .8px,transparent .8px); background-size:22px 22px; mask-image:linear-gradient(to right,#000,transparent 54%); }
.hero-glow { position:absolute; width:680px; height:680px; right:-180px; top:-230px; border-radius:50%; background:radial-gradient(circle,rgba(227,161,45,.2),rgba(227,161,45,0) 68%); }
.hero-copy { position:relative; z-index:2; width:min(570px,46%); padding-top:18px; }
.eyebrow { margin:0 0 16px; color:var(--green-700); font-size:.76rem; line-height:1.3; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow span { display:inline-block; width:20px; height:2px; margin:0 8px 3px 0; background:var(--gold); }
.eyebrow.light { color:#bce5d2; }
.hero h1 { margin:0; font-family:var(--serif); font-size:clamp(3.5rem,4.7vw,5rem); line-height:.98; font-weight:500; letter-spacing:-.04em; }
.hero h1 em { color:var(--green-700); font-weight:500; }
.hero-lead { max-width:540px; margin:30px 0 0; color:#4e5d56; font-size:1.17rem; line-height:1.72; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:10px; padding:0 21px; border:0; border-radius:11px; text-decoration:none; font-size:.92rem; font-weight:760; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button svg { width:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.button-primary { color:#fff; background:var(--green-800); box-shadow:0 12px 28px rgba(13,91,69,.22); }
.button-primary:hover { background:var(--green-700); box-shadow:0 15px 34px rgba(13,91,69,.28); }
.button-secondary { color:var(--green-900); border:1px solid #b8cac0; background:rgba(255,255,255,.56); }
.download-note { margin:12px 0 0; color:#78827d; font-size:.78rem; }

.hero-product { position:absolute; z-index:1; width:min(760px,50vw); right:max(28px,calc((100vw - 1380px)/2)); top:175px; }
.product-window { padding:7px; border:1px solid rgba(13,91,69,.18); border-radius:17px; background:rgba(255,255,255,.82); box-shadow:var(--shadow); transform:perspective(1600px) rotateY(-3deg) rotateX(1deg); backdrop-filter:blur(12px); }
.window-bar { position:relative; height:28px; display:flex; align-items:center; gap:6px; padding-left:7px; }
.window-bar i { width:8px; height:8px; border-radius:50%; background:#d6ded9; }
.window-bar i:first-child { background:#e8b75f; }
.window-bar span { position:absolute; left:50%; color:#728078; font-size:.65rem; transform:translateX(-50%); }
.screen-button,.screenshot-frame,.mosaic-card button { display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; }
.screen-button { border-radius:11px; overflow:hidden; }
.screen-button img { width:100%; }
.privacy-card { position:absolute; right:-24px; bottom:-76px; width:305px; display:flex; align-items:center; gap:13px; padding:16px; border:1px solid rgba(13,91,69,.15); border-radius:14px; background:#fff; box-shadow:0 18px 45px rgba(8,55,42,.18); }
.privacy-card img { width:52px; height:52px; padding:5px; border-radius:12px; background:var(--green-50); }
.privacy-card strong,.privacy-card span { display:block; }
.privacy-card strong { color:var(--green-800); }
.privacy-card span { margin-top:2px; color:var(--muted); font-size:.76rem; line-height:1.45; }
.trust-row { position:absolute; z-index:2; left:max(30px,calc((100vw - 1200px)/2)); bottom:38px; display:flex; flex-wrap:wrap; gap:25px; color:#56665e; font-size:.84rem; font-weight:640; }
.trust-row b { display:inline-grid; width:20px; height:20px; margin-right:5px; place-items:center; border-radius:50%; color:#fff; background:#4ca36d; font-size:.7rem; }

.story-section { width:min(1200px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:100px 1.45fr 1fr; gap:46px; padding:135px 0; border-bottom:1px solid var(--line); }
.story-number { color:#bdc8c1; font-family:var(--serif); font-size:1.3rem; }
.section-heading h2 { margin:0; font-family:var(--serif); font-size:clamp(2.25rem,4.2vw,4.3rem); line-height:1.08; font-weight:500; letter-spacing:-.035em; }
.section-heading > p:last-child { max-width:650px; margin:22px auto 0; color:var(--muted); font-size:1.05rem; }
.section-heading.narrow { max-width:770px; }
.section-heading.centered { max-width:850px; margin:0 auto 72px; text-align:center; }
.story-copy { padding-top:37px; color:#58675f; font-size:1.03rem; }
.story-copy p:first-child { margin-top:0; }

.feature-showcase { width:min(1200px,calc(100% - 48px)); margin:auto; padding:130px 0 40px; }
.feature-row { display:grid; grid-template-columns:minmax(300px,.78fr) minmax(520px,1.5fr); align-items:center; gap:70px; padding:72px 0; }
.feature-row.reverse { grid-template-columns:minmax(520px,1.5fr) minmax(300px,.78fr); }
.feature-row.reverse .feature-copy { order:2; }
.feature-row.reverse .screenshot-frame { order:1; }
.feature-copy { position:relative; }
.feature-index { position:absolute; top:-42px; color:#b9c6bf; font-family:var(--serif); font-size:1rem; }
.feature-copy h3,.mosaic-card h3 { margin:0 0 18px; font-family:var(--serif); font-size:clamp(2rem,3.5vw,3.35rem); line-height:1.08; font-weight:500; letter-spacing:-.03em; }
.feature-copy > p:not(.eyebrow) { color:#5e6b65; font-size:1rem; }
.mini-list { display:flex; flex-wrap:wrap; gap:8px; margin:25px 0 0; padding:0; list-style:none; }
.mini-list li { padding:7px 10px; border:1px solid #d4dfd8; border-radius:999px; color:var(--green-800); background:var(--green-50); font-size:.75rem; font-weight:700; }
.screenshot-frame { border:7px solid #fff; border-radius:17px; box-shadow:0 25px 70px rgba(9,71,53,.14); overflow:hidden; transition:.25s ease; }
.screenshot-frame:hover,.mosaic-card button:hover { transform:translateY(-4px); box-shadow:0 30px 80px rgba(9,71,53,.2); }
.screenshot-frame img { width:100%; }
.screenshot-frame.dark { border-color:#12231d; background:#06100c; }

.privacy-section { margin-top:100px; padding:110px max(30px,calc((100vw - 1200px)/2)); color:#fff; background:var(--green-950); }
.privacy-intro { display:grid; grid-template-columns:210px 1fr; align-items:center; gap:70px; }
.privacy-intro img { width:200px; padding:18px; border-radius:40px; background:#eaf3ec; }
.privacy-intro h2 { max-width:780px; margin:0; font-family:var(--serif); font-size:clamp(2.7rem,5vw,5rem); line-height:1.03; font-weight:500; letter-spacing:-.045em; }
.privacy-intro p:last-child { max-width:710px; color:#b9cbc2; font-size:1.08rem; }
.privacy-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:72px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); }
.privacy-grid div { padding:28px; background:var(--green-950); }
.privacy-grid strong,.privacy-grid span { display:block; }
.privacy-grid strong { color:#f1c36f; font-family:var(--serif); font-size:2.1rem; font-weight:500; }
.privacy-grid span { color:#a9beb4; font-size:.8rem; }

.feature-mosaic { width:min(1200px,calc(100% - 48px)); margin:auto; padding:130px 0; }
.mosaic-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.mosaic-card { display:grid; grid-template-rows:auto 1fr; border:1px solid var(--line); border-radius:20px; background:#fff; overflow:hidden; box-shadow:0 15px 50px rgba(9,71,53,.07); }
.mosaic-card button { max-height:360px; overflow:hidden; transition:.25s ease; }
.mosaic-card button img { width:100%; height:100%; object-fit:cover; object-position:top; }
.mosaic-card > div { padding:30px; }
.mosaic-card h3 { margin-bottom:10px; font-size:2.3rem; }
.mosaic-card p:last-child { margin-bottom:0; color:var(--muted); }
.mosaic-large { grid-column:1/-1; grid-template-columns:1.35fr .65fr; grid-template-rows:none; align-items:center; }
.mosaic-large button { height:430px; max-height:none; }
.viewer-card { grid-column:1/-1; grid-template-columns:.8fr 1.2fr; grid-template-rows:none; align-items:center; color:#fff; background:#07100c; border-color:#07100c; }
.viewer-card button { order:2; max-height:none; height:430px; }
.viewer-card > div { order:1; padding:48px; }
.viewer-card p:last-child { color:#aebcb5; }
.viewer-card .eyebrow { color:#efbd61; }

.capabilities { width:min(1200px,calc(100% - 48px)); margin:auto; padding:20px 0 135px; }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:54px; }
.capability-grid article { min-height:240px; padding:28px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.58); }
.capability-grid article > span { display:grid; width:42px; height:42px; place-items:center; border-radius:11px; color:var(--green-800); background:var(--green-100); font-size:1.3rem; }
.capability-grid h3 { margin:26px 0 8px; font-size:1.1rem; }
.capability-grid p { margin:0; color:var(--muted); font-size:.9rem; }

.download-section { padding:110px max(30px,calc((100vw - 1200px)/2)); color:#fff; background:linear-gradient(135deg,var(--green-900),#0b3f32); }
.download-copy { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; }
.download-copy .eyebrow { grid-column:1/-1; margin-bottom:-48px; }
.download-copy h2 { margin:0; font-family:var(--serif); font-size:clamp(3rem,5.3vw,5.5rem); line-height:.98; font-weight:500; letter-spacing:-.045em; }
.download-copy > p:last-child { margin:0 0 8px; color:#b7c9c0; font-size:1.06rem; }
.download-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:65px; }
.download-cards article { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:20px; padding:24px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(255,255,255,.07); }
.download-cards .button { grid-column:1/-1; width:100%; }
.platform-icon { display:grid; width:54px; height:54px; place-items:center; border-radius:13px; color:#fff; background:rgba(255,255,255,.1); font-size:1.5rem; }
.platform-icon.windows { color:#94d5f4; }
.platform-icon.mac { color:#dbe4df; }
.download-cards h3 { margin:0; font-size:1.1rem; }
.download-cards p,.download-cards small { display:block; margin:2px 0; color:#bed0c7; font-size:.76rem; line-height:1.45; }
.download-cards small { color:#85a297; }
.button-gold { color:#302006; background:#efb64e; }
.button-muted { color:#cad8d1; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); cursor:default; }
.button-muted:hover { transform:none; }
.windows-note { margin:18px 0 0; padding:14px 16px; border-radius:10px; color:#f4d99f; background:rgba(0,0,0,.15); text-align:center; font-size:.84rem; }

.faq-section { width:min(1000px,calc(100% - 48px)); margin:auto; padding:130px 0; }
.faq-list { margin-top:55px; border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:24px 50px 24px 0; font-family:var(--serif); font-size:1.35rem; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:8px; top:18px; color:var(--green-700); font-family:var(--sans); font-size:1.8rem; font-weight:300; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { max-width:760px; margin:-5px 0 25px; color:var(--muted); }

.site-footer { min-height:210px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; padding:45px max(30px,calc((100vw - 1200px)/2)); border-top:1px solid var(--line); background:#f4f4ef; }
.site-footer img { width:160px; }
.site-footer div:first-child p { margin:7px 0 0; color:var(--muted); font-family:var(--serif); }
.site-footer div:nth-child(2) { display:flex; gap:26px; }
.site-footer a { color:#425149; text-decoration:none; font-size:.85rem; }
.site-footer > p { grid-column:1/-1; margin:0; color:#8a948f; font-size:.72rem; }

.lightbox { width:min(94vw,1500px); max-width:none; padding:42px 12px 12px; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:#08120e; box-shadow:0 25px 100px rgba(0,0,0,.55); }
.lightbox::backdrop { background:rgba(2,9,6,.82); backdrop-filter:blur(8px); }
.lightbox > button { position:absolute; top:7px; right:10px; width:34px; height:34px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.1); font-size:1.4rem; cursor:pointer; }
.lightbox img { width:100%; max-height:86vh; object-fit:contain; }

@media (max-width:1120px) {
  .hero { min-height:auto; padding-top:125px; }
  .hero-copy { width:70%; }
  .hero-product { position:relative; width:100%; right:auto; top:auto; margin-top:60px; }
  .privacy-card { right:18px; bottom:-45px; }
  .trust-row { position:relative; left:auto; bottom:auto; margin-top:85px; }
  .story-section { grid-template-columns:50px 1fr; }
  .story-copy { grid-column:2; padding-top:0; }
  .feature-row,.feature-row.reverse { grid-template-columns:1fr; gap:36px; }
  .feature-row.reverse .feature-copy,.feature-row.reverse .screenshot-frame { order:initial; }
  .privacy-intro { grid-template-columns:150px 1fr; gap:42px; }
  .privacy-intro img { width:150px; }
  .privacy-grid { grid-template-columns:1fr 1fr; }
  .download-cards { grid-template-columns:1fr 1fr; }
}

@media (max-width:760px) {
  .site-header { padding:12px 18px; }
  .brand img { width:150px; }
  .menu-button { display:block; }
  .site-nav { position:absolute; left:16px; right:16px; top:68px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.98); box-shadow:var(--shadow); }
  .site-nav.open { display:flex; }
  .site-nav a { padding:11px 12px; }
  .site-nav .nav-download { margin-top:5px; text-align:center; }
  .hero { padding:112px 22px 50px; }
  .hero-copy { width:100%; padding:0; }
  .hero h1 { font-size:clamp(3.2rem,15vw,5rem); }
  .hero-lead { font-size:1rem; }
  .hero-actions { flex-direction:column; }
  .button { width:100%; }
  .product-window { padding:4px; transform:none; }
  .privacy-card { position:relative; right:auto; bottom:auto; width:100%; margin-top:12px; }
  .trust-row { gap:12px 18px; margin-top:28px; }
  .story-section { width:calc(100% - 40px); grid-template-columns:1fr; gap:14px; padding:90px 0; }
  .story-copy { grid-column:auto; }
  .feature-showcase,.feature-mosaic,.capabilities,.faq-section { width:calc(100% - 40px); padding-top:90px; }
  .section-heading.centered { margin-bottom:42px; text-align:left; }
  .section-heading h2 { font-size:2.55rem; }
  .feature-row { padding:55px 0; }
  .feature-copy h3 { font-size:2.35rem; }
  .screenshot-frame { border-width:4px; border-radius:12px; }
  .privacy-section { margin-top:50px; padding:82px 22px; }
  .privacy-intro { grid-template-columns:1fr; gap:30px; }
  .privacy-intro img { width:115px; border-radius:24px; }
  .privacy-intro h2 { font-size:2.75rem; }
  .privacy-grid { grid-template-columns:1fr; }
  .mosaic-grid { grid-template-columns:1fr; }
  .mosaic-large,.viewer-card { grid-column:auto; grid-template-columns:1fr; grid-template-rows:auto 1fr; }
  .mosaic-large button,.viewer-card button { height:250px; order:initial; }
  .viewer-card > div { order:initial; padding:30px; }
  .capability-grid { grid-template-columns:1fr; }
  .capability-grid article { min-height:auto; }
  .download-section { padding:85px 22px; }
  .download-copy { grid-template-columns:1fr; gap:22px; }
  .download-copy .eyebrow { grid-column:auto; margin-bottom:0; }
  .download-copy h2 { font-size:3.2rem; }
  .download-cards { grid-template-columns:1fr; margin-top:42px; }
  .site-footer { grid-template-columns:1fr; }
  .site-footer div:nth-child(2) { flex-wrap:wrap; }
  .lightbox { width:98vw; padding-top:40px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
}
