@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102d3b;--deep:#07394a;--teal:#1d8790;--sea:#d9f1ec;--mint:#eef8f5;--coral:#f47f70;--sand:#f7f2e9;--ink:#17313d;--muted:#61747b;--white:#fff;--shadow:0 28px 70px rgba(18,61,73,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}.shell{width:min(1160px,calc(100% - 44px));margin:auto}.site-header{height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50;border-bottom:1px solid #e8efef}.nav{height:100%;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:800}.mark,.mini-o{display:grid;place-items:center;background:linear-gradient(145deg,var(--teal),#68c2b5);color:white;border-radius:50% 50% 46% 54%;font-weight:800}.mark{width:38px;height:38px}.nav nav{margin-left:auto;display:flex;gap:27px;font-size:13px;font-weight:700}.nav nav a:hover{color:var(--teal)}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 21px;border-radius:999px;font-weight:800;font-size:13px;border:0;cursor:pointer}.btn-coral{background:var(--coral);color:white;box-shadow:0 9px 25px rgba(244,127,112,.25)}.btn-ghost{border:1px solid #b9cbcd;background:rgba(255,255,255,.55)}.menu{display:none;margin-left:auto;border:0;background:none;font-size:24px}.hero{min-height:690px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(120deg,#f8fcfb 0%,#eef9f6 48%,#d8efea 100%)}.hero:after{content:"";position:absolute;right:-8%;bottom:-35%;width:58%;height:80%;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.7),rgba(59,145,148,.18) 45%,rgba(11,77,92,.35));filter:blur(1px)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:800;color:#608087}.eyebrow.light{color:#b9e1dd}.hero h1,.section h2,.early h2{font-size:clamp(45px,5.6vw,76px);line-height:.99;letter-spacing:-.055em;margin:14px 0 24px}.hero h1 span,.section h2 span{color:var(--teal)}.lead{font-size:19px;line-height:1.7;color:#506970;max-width:610px}.actions{display:flex;gap:12px;margin:30px 0 22px}.platforms{font-size:12px;color:#71868b}.hero-art{height:550px;position:relative}.phone{position:absolute;width:245px;height:490px;background:#0d1d25;border:8px solid #12222a;border-radius:42px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(2deg);box-shadow:var(--shadow);z-index:4;padding:7px}.speaker{width:72px;height:17px;background:#0d1d25;border-radius:0 0 12px 12px;position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:3}.screen{height:100%;border-radius:29px;background:#f8fbfa;padding:30px 14px 12px;overflow:hidden}.app-head{display:flex;gap:7px;align-items:center;font-size:16px}.mini-o{width:24px;height:24px;font-size:11px}.search{margin:18px 0 14px;background:white;border:1px solid #e0e9e8;border-radius:12px;padding:10px;font-size:9px;color:#8a9a9e}.app-label{font-size:9px;font-weight:800}.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.app-grid span{height:68px;border-radius:12px;padding:9px;color:white;font-size:9px;font-weight:700;background:linear-gradient(135deg,#599da0,#184f62)}.app-grid span:nth-child(2){background:linear-gradient(135deg,#e3aa77,#567b70)}.app-grid span:nth-child(3){background:linear-gradient(135deg,#547a95,#e39a6d)}.app-grid span:nth-child(4){background:linear-gradient(135deg,#719879,#1c5a61)}.project-card{height:92px;border-radius:13px;background:linear-gradient(140deg,#285f70,#8dc6b9);color:white;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;font-size:10px}.project-card small{opacity:.8}.app-nav{font-size:6.5px;text-align:center;margin-top:15px;color:#6f8084}.photo-card{position:absolute;width:180px;height:225px;border:9px solid white;border-bottom-width:30px;border-radius:4px;box-shadow:var(--shadow);background:linear-gradient(145deg,#72b9c0,#f2c492)}.p1{left:2%;top:16%;transform:rotate(-12deg)}.p2{right:0;top:11%;transform:rotate(12deg);background:linear-gradient(145deg,#527e75,#9fd3d3)}.octui{position:absolute;right:7%;bottom:2%;z-index:8;filter:drop-shadow(0 20px 16px rgba(22,71,78,.2))}.octui .head{width:120px;height:105px;border-radius:48% 48% 43% 43%;background:linear-gradient(145deg,#55b9ae,#167c89);position:relative}.octui i{position:absolute;top:40px;width:16px;height:23px;background:#0d2931;border-radius:50%}.octui i:first-child{left:31px}.octui i:nth-child(2){right:31px}.octui b{position:absolute;left:49px;top:69px;width:24px;height:10px;border-bottom:3px solid #0d2931;border-radius:50%}.legs{font-size:30px;color:#238e93;letter-spacing:-9px}.feature-strip{padding:48px 0;background:#fff;border-bottom:1px solid #edf1f0}.four{display:grid;grid-template-columns:repeat(4,1fr)}.four article{padding:0 32px;text-align:center;border-right:1px solid #e8eeee}.four article:last-child{border:0}.ico{margin:auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#ffe9e4;color:var(--coral);font-size:20px}.four article:nth-child(2) .ico{background:#e4f4ed;color:#4a9b83}.four article:nth-child(3) .ico{background:#e4f2f8;color:#3e8198}.four article:nth-child(4) .ico{background:#eeeafa;color:#7d6ca5}.four h3{font-size:14px;margin:13px 0 5px}.four p{font-size:11px;line-height:1.55;color:#718388}.section{padding:115px 0}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.section h2{font-size:clamp(40px,4.3vw,61px)}.section p{color:var(--muted);line-height:1.8}.text-link{display:inline-block;margin-top:18px;color:var(--coral);font-weight:800;font-size:13px}.explore{background:#fff}.timeline-card{height:420px;background:#fff;border:1px solid #dcebea;border-radius:30px;box-shadow:var(--shadow);padding:30px;position:relative;transform:rotate(2deg)}.timeline-top{display:grid;gap:4px}.timeline-top small{font-size:9px;color:var(--teal);font-weight:800}.timeline-top strong{font-size:27px}.timeline-top span{font-size:11px;color:#809095}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}.tiles i{height:112px;border-radius:12px;background:linear-gradient(140deg,#4f8a93,#d3aa7a)}.tiles i:nth-child(2n){background:linear-gradient(140deg,#8bc1a8,#325d72)}.tiles i:nth-child(3n){background:linear-gradient(140deg,#d7a675,#7da2a0)}.callout{position:absolute;background:var(--coral);color:white;border-radius:999px;padding:9px 13px;font-size:9px;font-weight:800}.c1{right:-25px;top:90px}.c2{left:-30px;bottom:55px;background:var(--teal)}.preserve{background:var(--sand)}.scan-art{height:430px;position:relative}.old-photo{position:absolute;left:7%;top:12%;width:250px;height:300px;background:linear-gradient(145deg,#cfb38c,#7d6d5d);border:14px solid #fff;border-bottom-width:38px;transform:rotate(-8deg);box-shadow:var(--shadow);display:grid;place-items:center;text-align:center;color:rgba(255,255,255,.7);font-weight:800;letter-spacing:.1em}.scan-phone{position:absolute;right:6%;top:2%;width:205px;height:395px;border:9px solid #17282f;border-radius:35px;background:linear-gradient(rgba(18,39,43,.22),rgba(18,39,43,.22)),linear-gradient(145deg,#cfb38c,#7d6d5d);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:30px 20px;color:white;font-size:11px}.scan-phone span{font-size:45px}.missions{background:#f6fbfa}.center{text-align:center;max-width:680px;margin:0 auto 45px}.center .eyebrow{display:block}.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.mission-grid article{background:white;padding:15px 15px 28px;border-radius:24px;box-shadow:0 15px 40px rgba(20,64,70,.08)}.mission-img{height:245px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#73a4a6,#e4bd8d);font-size:60px}.odd{background:linear-gradient(145deg,#7ab3ac,#41677a)}.order{background:linear-gradient(145deg,#d4a171,#5f8b86);color:white;font-size:24px}.mission-grid h3{margin:18px 10px 5px}.mission-grid p{font-size:12px;margin:0 10px}.privacy{background:linear-gradient(135deg,#0c5260,#062e3f);color:white}.privacy p{color:#d0e5e5}.privacy-art{height:430px;position:relative;background:radial-gradient(circle at 50% 45%,rgba(82,187,174,.25),transparent 50%)}.shield{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:220px;height:245px;clip-path:polygon(50% 0,93% 17%,86% 72%,50% 100%,14% 72%,7% 17%);background:linear-gradient(145deg,#73d2c3,#1b7f8b);display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:60px}.shield span{font-size:11px;letter-spacing:.16em;text-align:center}.bubble{position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:50%}.b1{width:80px;height:80px;left:12%;top:12%}.b2{width:40px;height:40px;right:13%;bottom:16%}.checks{display:grid;gap:13px;margin-top:28px}.checks span{font-size:13px;color:#d8eeee}.checks span::first-letter{color:#72d0c2}.faq{background:white}.narrow{max-width:850px}.faq h2{margin-bottom:50px}.faq details{border-top:1px solid #dce7e6;padding:21px 3px}.faq details:last-child{border-bottom:1px solid #dce7e6}.faq summary{font-weight:800;cursor:pointer}.faq details p{font-size:13px;margin-bottom:0}.early{padding:105px 0;background:linear-gradient(110deg,rgba(7,54,68,.92),rgba(18,93,95,.73)),radial-gradient(circle at 80% 40%,#f6a981,#176c76);color:white;text-align:center}.early-inner{max-width:760px}.early h2{font-size:clamp(42px,5vw,67px)}.early p{color:#d9eaea}.signup{display:flex;max-width:590px;margin:30px auto 0;background:white;border-radius:999px;padding:6px}.signup input{border:0;outline:0;flex:1;padding:0 20px;border-radius:999px;font:inherit;font-size:13px}.form-note{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}footer{background:#071f2b;color:#b9c9cd;padding:55px 0}.footer-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:30px;align-items:center}.footer-brand{color:white}.footer-grid p{font-size:12px}.footer-grid a{font-size:11px;margin-right:14px}.footer-grid small{grid-column:1/-1;border-top:1px solid #183642;padding-top:24px;font-size:10px}
@media(max-width:850px){.nav nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:24px;flex-direction:column;box-shadow:0 20px 30px rgba(0,0,0,.08)}.nav nav.open{display:flex}.menu{display:block}.nav-cta{display:none}.hero{padding:75px 0}.hero-grid,.split{grid-template-columns:1fr}.hero-copy{text-align:center}.actions{justify-content:center}.hero-art{height:510px}.four{grid-template-columns:1fr 1fr;gap:35px}.four article{border:0}.section{padding:80px 0}.reverse-mobile>div:first-child{order:2}.mission-grid{grid-template-columns:1fr}.mission-img{height:210px}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-grid>*{justify-self:center}.footer-grid small{grid-column:1}.signup{border-radius:22px;flex-direction:column}.signup input{min-height:48px}.timeline-card{height:390px}.tiles i{height:100px}}
@media(max-width:520px){.shell{width:min(100% - 28px,1160px)}.hero h1{font-size:48px}.hero-art{transform:scale(.82);margin:-40px -40px}.four{grid-template-columns:1fr}.feature-strip{padding:55px 0}.scan-art{transform:scale(.82);margin:-30px}.section h2{font-size:42px}}

/* ========================================================================
   HERO REAL ASSETS
   Uses the production artwork in /assets/hero plus the approved Octui mascot.
   This section intentionally overrides the original CSS-drawn hero artwork.
   ======================================================================== */

/* HERO BACKGROUND
   File: assets/hero/octui-ocean-life-coral-sea-background.jpg
*/
.hero {
    background:
        linear-gradient(
            90deg,
            rgba(248, 252, 251, 0.96) 0%,
            rgba(248, 252, 251, 0.90) 36%,
            rgba(238, 249, 246, 0.58) 58%,
            rgba(216, 239, 234, 0.18) 100%
        ),
        url("assets/hero/octui-ocean-life-coral-sea-background.jpg")
        center center / cover no-repeat;
}

/* Remove the old CSS atmospheric oval.
   The actual ocean artwork now provides the hero atmosphere. */
.hero:after {
    display: none;
}

/* Keep all artwork contained in the right side of the hero. */
.hero-art {
    isolation: isolate;
}

/* ------------------------------------------------------------------------
   REAL PHONE SCREEN
   File: assets/hero/octui-app-screen-mobile.jpg
   ------------------------------------------------------------------------ */

.screen {
    background:
        url("assets/hero/octui-app-screen-mobile.jpg")
        center top / cover no-repeat;
    padding: 0;
}

/* Hide the CSS-generated fake app interface.
   The real Octui screenshot is now the phone screen. */
.screen > * {
    display: none;
}

/* ------------------------------------------------------------------------
   MEMORY PHOTO 1 — UPPER LEFT
   Family outdoors
   File: family-embraces-outdoors-holding-small-white-dog.jpg
   ------------------------------------------------------------------------ */

.photo-card.p1 {
    left: 0;
    top: 12%;
    width: 180px;
    height: 225px;
    transform: rotate(-10deg);
    background:
        url("assets/hero/family-embraces-outdoors-holding-small-white-dog.jpg")
        center center / cover no-repeat;
    z-index: 2;
}

/* ------------------------------------------------------------------------
   MEMORY PHOTO 2 — UPPER RIGHT
   Couple on city vacation
   File: cheerful-couple-embracing-on-exciting-city-vacation.jpg
   ------------------------------------------------------------------------ */

.photo-card.p2 {
    right: -1%;
    top: 8%;
    width: 180px;
    height: 225px;
    transform: rotate(10deg);
    background:
        url("assets/hero/cheerful-couple-embracing-on-exciting-city-vacation.jpg")
        center center / cover no-repeat;
    z-index: 2;
}

/* ------------------------------------------------------------------------
   MEMORY PHOTO 3 — LOWER LEFT
   Vintage wedding memory
   File: senior-viewing-a-vintage-wedding-day-photo.jpg

   This uses .hero-art::before so the HTML does not need another photo div.
   ------------------------------------------------------------------------ */

.hero-art::before {
    content: "";
    position: absolute;
    left: 4%;
    bottom: 3%;
    width: 155px;
    height: 190px;
    border: 9px solid white;
    border-bottom-width: 28px;
    border-radius: 4px;
    background:
        url("assets/hero/man-and-woman-embracing-at-night-with-smiles.jpg")
        center center / cover no-repeat;
    box-shadow: var(--shadow);
    transform: rotate(8deg);
    z-index: 1;
}

/* ------------------------------------------------------------------------
   MEMORY PHOTO 4 — LOWER RIGHT
   Man and dog
   File: man-and-woman-embracing-at-night-with-smiles.jpg

   NOTE:
   The supplied filename says "man-and-woman..." even though this position
   is simply being used as the fourth memory photo.
   ------------------------------------------------------------------------ */