/* A playful, photo-led evolution inspired by the Happy Smiles reference. */
:root{--ink:#492345;--berry:#92366f;--blush:#f8e1eb;--cream:#fffdfa}
h1,h2,.quote,.connection-sticker{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(58px,5.9vw,88px);line-height:1.02}h2{font-size:clamp(38px,4.5vw,64px);line-height:1.08}h1>span,h2>span{font-style:italic}.button{border-radius:8px;padding:17px 25px;font-size:14px}.button:hover{transform:translateY(-3px)}.eyebrow{font-size:12px;letter-spacing:1.1px}.eyebrow>span{font-size:17px}header{height:112px}nav a{padding:9px 14px;border-radius:7px}nav{gap:9px}nav a.active{background:#efd6e5}nav a.active:after{display:none}.topbar{font-size:12px}.hero{margin:0 20px;min-height:760px;border-radius:20px 20px 150px 20px;background:#d999b9;grid-template-columns:1.16fr 1fr;padding:35px 30px 65px;isolation:isolate}.hero-copy{background:#f8e5ed;border-radius:0 270px 0 200px;padding:63px 70px 55px 52px;z-index:2;margin-bottom:20px}.hero-copy>p{font-size:16px;line-height:1.7;max-width:370px;margin-top:25px}.hero .eyebrow{font-size:11px;letter-spacing:.9px;background:#fff9fcad;display:inline-flex;padding:4px 10px;border-radius:4px;margin-bottom:22px}.hero-actions{gap:24px;flex-wrap:wrap}.hero-note{font-size:13px;margin-top:27px}.hero-art{margin-left:-70px;z-index:1}.hero-orbit{inset:90px -40px 0 -30px;background:#b56b9f;border-radius:50% 50% 15% 45%}.hero-orbit:after{border-color:#f1ccdf;inset:-25px 5px 30px -5px}.family{width:130%;height:113%;left:-12%;bottom:-18px;object-position:bottom}.spark-one{top:25px;left:85px;color:#fff2ce}.spark-two{right:25px;top:6px;color:white;font-size:80px}.round-seal{right:2px;top:auto;bottom:16px;background:#fffdfa;color:var(--ink);width:176px;height:176px;padding:27px 15px;transform:rotate(8deg);font-size:9px}.round-seal span{font-family:'DM Serif Display',serif;font-size:29px;letter-spacing:-1px;margin:12px 0 3px}.float-note{display:none}.hero-bottom{background:#f4d3e3;border:0;font-size:13px;padding:0 4%;height:54px}.values-ribbon{display:flex;align-items:center;justify-content:space-around;gap:20px;padding:33px 5%;color:var(--berry);border-bottom:1px solid var(--line);font-size:16px}.values-ribbon b{font-size:24px;color:#ca85aa;font-weight:400}.philosophy{padding-bottom:55px}.intro{font-size:16px;max-width:690px}.pillars{gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:45px;background:white}.pillars article{border-top:0;padding:28px;gap:14px}.pillars article+article{border-left:1px solid var(--line)}.pillars p{font-size:15px}.pillar-number{right:16px;top:8px;font-size:11px}.growing{padding-top:45px;padding-bottom:95px}.growing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.growth-card{min-width:0}.growth-photo{height:340px;background:#f4d8e5;position:relative;overflow:hidden;border-radius:180px 180px 20px 20px}.growth-photo img{width:100%;height:100%;object-fit:contain;object-position:bottom;transition:transform .6s}.growth-card:hover img{transform:scale(1.035)}.second .growth-photo{background:#eee3c9;border-radius:20px 150px 20px 150px}.third .growth-photo{background:#e2d8ed;border-radius:150px 20px 150px 20px}.photo-star{position:absolute;right:20px;top:15px;font-size:65px;color:var(--berry);line-height:1}.age-label{position:absolute;bottom:16px;left:16px;background:#fffdfaeb;padding:7px 12px;border-radius:5px;font-size:10px;letter-spacing:.6px}.growth-copy{padding:23px 4px}.chapter{font-size:10px;letter-spacing:1.1px;color:var(--berry);display:block;margin-bottom:10px}.growth-copy h3{font-family:'DM Serif Display',serif;font-size:29px;font-weight:400;line-height:1.18;letter-spacing:-.02em;margin-bottom:14px}.growth-copy p{font-size:15px;line-height:1.7}.connection{max-width:none;background:#f5e8ef;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px;padding-top:80px;padding-bottom:80px;border-radius:0 160px 0 0}.connection-image{position:relative;align-self:stretch;min-height:570px}.connection-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:48% center;border-radius:170px 170px 20px 20px}.connection-sticker{position:absolute;bottom:25px;left:-25px;padding:24px 28px;background:#fffdf4;font-size:29px;line-height:1.1;transform:rotate(-7deg);border-radius:15px}.connection-sticker em{color:var(--berry)}.connection-sticker>span{display:block;font-family:Georgia,serif;font-size:35px;text-align:center;margin-top:8px}.connection-copy>p{font-size:16px;margin-top:24px}.connection-list{padding:0;margin:28px 0;list-style:none}.connection-list li{display:flex;gap:14px;align-items:center;border-bottom:1px solid #dcc6d5;padding:12px 0;font-size:14px}.connection-list span{font-size:11px;color:var(--berry)}.about{padding-top:100px;gap:80px}.about-copy>p{font-size:16px}.doctor-art{border-radius:20px 200px 20px 200px}.doctor-label{border-radius:8px}.quote{font-size:28px}.care{background:#fffdfa;border-radius:0;padding-top:30px}.care-grid{gap:23px}.care-card{padding:0 0 22px;border-radius:16px 16px 70px 16px;overflow:hidden;border:0;background:#f6e8f0}.care-card:nth-child(2){background:#eee7f4}.care-card:nth-child(3){background:#f4ecd9}.care-card:nth-child(4){background:#f5e2e8}.care-photo{display:block;height:215px;width:100%;overflow:hidden;margin-bottom:24px;border-bottom:1px solid #ffffff70}.care-photo img{width:100%;height:100%;object-fit:contain;object-position:bottom;transition:transform .5s}.care-card:hover .care-photo img{transform:scale(1.05)}.care-card .care-icon{display:none}.care-card .card-kicker,.care-card h3,.care-card p,.care-card .card-bottom{margin-left:22px;margin-right:22px}.care-card .card-kicker{font-size:10px;letter-spacing:.65px}.care-card h3{font-family:'DM Serif Display',serif;font-size:29px;font-weight:400;line-height:1.12}.care-card p{font-size:15px}.care-card .card-bottom{width:calc(100% - 44px);font-size:12px;gap:8px}.card-bottom b{height:34px;width:34px;border-radius:50%;background:white;text-align:center;line-height:34px}.parents{padding-top:60px}.parent-copy>p{font-size:16px}.faq summary{font-size:16px}.faq details p{font-size:15px}.baby-circle{border-radius:50% 50% 20px 20px;background:#e5d5ee}.baby-note{font-size:15px;border-radius:5px}.contact{background:#efd0e0;border-radius:20px 180px 20px 20px;margin:0 20px;text-align:left;padding:75px 36% 75px 6%;min-height:390px}.contact .eyebrow{justify-content:flex-start}.contact h2{font-size:clamp(38px,4.5vw,62px)}.contact p{font-size:16px;position:relative;z-index:2}.contact-child{position:absolute;bottom:0;right:3%;height:95%;width:33%;object-fit:contain;object-position:bottom}.contact-flower{left:auto;right:25%;bottom:auto;top:0;font-size:130px;color:#b96c99}.contact-status{position:relative;z-index:2}.footer-top p{font-size:16px}.footer-bottom{font-size:12px}dialog h2{font-size:40px}dialog .eyebrow{padding-right:20px}
@media(min-width:1550px){.hero{padding-left:4%;padding-right:4%}.hero-copy{padding-left:65px}.connection{padding-left:calc((100% - 1270px)/2);padding-right:calc((100% - 1270px)/2)}}
@media(max-width:1100px){.hero{grid-template-columns:1.1fr 1fr;padding:25px 20px 65px}.hero-copy{padding:45px 35px;border-radius:0 200px 0 140px}h1{font-size:67px}.hero-actions{gap:15px}.hero .eyebrow{font-size:9px}.round-seal{width:145px;height:145px;padding:20px 8px}.round-seal span{font-size:25px}.hero-art{margin-left:-50px}.growth-photo{height:290px}.connection{gap:45px}.connection-image{min-height:570px}.connection-sticker{left:-8px}.care-grid{grid-template-columns:repeat(2,1fr)}.care-photo{height:250px}.pillars article{padding:25px 18px}.pillars h3{font-size:19px}.about{gap:45px}nav{gap:0}nav a{padding:8px 9px}.values-ribbon{font-size:14px;gap:12px}.contact{padding-right:35%}}
@media(max-width:760px){header{height:87px;padding:0 18px;gap:9px}header>.button{font-size:11px;padding:11px 12px}.topbar{font-size:10px}.brand{font-size:21px}.brand small{font-size:8px}.brand-mark{font-size:38px}nav{top:120px}nav a{padding:10px}.hero{margin:0 12px;padding:0 0 52px;display:flex;flex-direction:column;min-height:0;border-radius:16px 16px 80px 16px}.hero-copy{padding:34px 24px 38px;margin:0;border-radius:0 120px 0 90px;background:#f8e5ed}.hero .eyebrow{font-size:9px;padding:4px 7px;letter-spacing:.55px;margin-bottom:20px}h1{font-size:clamp(47px,11.8vw,70px);line-height:1.04;letter-spacing:-.04em}.hero-copy>p{font-size:15px;line-height:1.7;max-width:390px;margin-top:22px}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:25px}.hero-actions .button{font-size:13px;padding:14px 17px}.hero-actions .text-link{font-size:13px}.hero-art{height:395px;min-height:395px;width:100%;margin:0}.hero-orbit{inset:40px 20px 0 20px}.family{width:106%;height:109%;left:-3%;bottom:-12px}.spark-one{left:25px;top:8px;font-size:46px}.spark-two{right:20px;top:10px;font-size:48px}.round-seal{width:120px;height:120px;right:8px;bottom:6px;padding:18px 7px;font-size:7px}.round-seal span{font-size:22px;margin:6px 0}.round-seal b{font-size:11px}.hero-bottom{font-size:10px;padding:0 20px;gap:16px;height:52px}.values-ribbon{flex-wrap:wrap;padding:22px 20px;gap:12px 18px;justify-content:center;font-size:13px}.values-ribbon b{font-size:16px}.values-ribbon b:nth-of-type(2){display:none}.values-ribbon span{width:calc(44% - 10px);text-align:center}.section{padding:58px 24px}h2{font-size:43px}.eyebrow{font-size:10px;letter-spacing:.7px}.intro{font-size:15px}.pillars{grid-template-columns:1fr;margin-top:30px}.pillars article{padding:25px}.pillars article+article{border-left:0;border-top:1px solid var(--line)}.pillars p{font-size:15px}.growing{padding-top:12px}.growing-grid{grid-template-columns:1fr;gap:30px}.growth-photo{height:360px}.growth-card{max-width:440px;width:100%;margin:auto}.growth-copy{padding:22px 4px 5px}.growth-copy h3{font-size:30px}.growth-copy p{font-size:16px}.chapter{font-size:11px}.age-label{font-size:11px}.connection{grid-template-columns:1fr;gap:38px;border-radius:0 90px 0 0;padding-top:45px}.connection-image{min-height:390px;max-width:500px;width:100%;margin:auto}.connection-image>img{border-radius:130px 130px 18px 18px}.connection-sticker{font-size:26px;padding:18px 23px;left:-8px;bottom:12px}.connection-copy>p{font-size:16px}.connection-list li{font-size:14px}.connection .button{font-size:14px}.about{gap:30px}.doctor-art{border-radius:18px 130px 18px 130px;min-height:480px}.about-copy{padding-top:0}.about-copy>p{font-size:16px}.quote{font-size:27px}.care{padding-top:5px}.care-grid{grid-template-columns:1fr;gap:24px}.care-card{border-radius:16px 16px 60px 16px}.care-photo{height:280px}.care-card h3{font-size:31px}.care-card p{font-size:16px}.care-card .card-kicker{font-size:11px}.care-card .card-bottom{font-size:13px}.parents{padding-top:20px;gap:40px}.faq summary{font-size:16px}.baby-art{min-height:390px}.contact{margin:0 12px;padding:45px 25px 325px;border-radius:16px 90px 16px 16px;min-height:0}.contact h2{font-size:42px}.contact p{font-size:15px}.contact-child{height:320px;width:85%;right:0}.contact-flower{top:auto;bottom:95px;left:10px;right:auto;font-size:110px}.contact-status{font-size:13px}.footer-top p{font-size:14px}.footer-bottom{font-size:11px}.footer-bottom>span:last-child{letter-spacing:.5px}.text-link{font-size:14px}dialog h2{font-size:36px}}
@media(min-width:761px){h1{font-size:clamp(48px,5.1vw,78px)}}
/* Compact hero: the reference stays airy, with one clear focal image. */
.hero{min-height:620px;padding-top:24px;padding-bottom:58px}.hero-copy{padding:43px 54px 42px 45px}.hero-copy>p{max-width:350px}.hero-art{margin-left:-28px}.hero-video{display:none}.hero-orbit{inset:65px -18px 0 10px}.family{width:112%;height:104%;left:1%;bottom:-8px}.round-seal{width:135px;height:135px;padding:20px 10px;right:6px;bottom:16px}.round-seal span{font-size:23px}.spark-one{font-size:54px;left:30px;top:18px}.spark-two{font-size:56px;right:18px;top:24px}
@media(max-width:760px){.hero{min-height:0;padding-bottom:38px}.hero-video{display:none}.hero-art{height:330px;min-height:330px;margin-top:6px}.family{width:103%;height:104%;left:-1%;bottom:-4px}.hero-orbit{inset:30px 20px 0}.round-seal{width:105px;height:105px;bottom:2px;right:12px;padding:15px 6px}.round-seal span{font-size:19px}.spark-one{font-size:42px;left:23px}.spark-two{font-size:42px;right:20px}}
@media(prefers-reduced-motion:reduce){.growth-photo img,.care-photo img{transition:none}.growth-card:hover img,.care-card:hover .care-photo img{transform:none}}
.spark,.photo-star,.doctor-spark,.baby-spark,.contact-flower{display:none!important}
/* Real video hero. Single full-bleed surface with accessible playback. */
.hero.film-hero{display:flex;align-items:center;isolation:isolate;min-height:0;height:clamp(480px,65vh,660px);margin:0;padding:55px 7%;border-radius:0;background:#584651;overflow:hidden}
.film-hero .hero-film{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}
.film-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(37,23,35,.64),rgba(37,23,35,.25) 48%,rgba(37,23,35,.06))}
.film-hero .hero-copy{padding:0;margin:0;border-radius:0;background:none;max-width:690px;color:#fff}
.film-hero .eyebrow{display:block;background:none;color:white;padding:0;font-size:12px;letter-spacing:1.8px;margin:0 0 25px}
.film-hero h1{font-size:clamp(48px,4.7vw,72px);line-height:1.08;letter-spacing:-.035em;text-shadow:0 2px 18px #25172318}
.film-hero h1 span{color:#fff3f8}
.film-hero .hero-copy>p{color:#fff;max-width:470px;font-size:17px;line-height:1.7;margin:24px 0 28px}
.film-hero .button{background:#fff8fc;color:#68244f;border-radius:6px;padding:14px 23px}
.film-toggle{position:absolute;right:28px;bottom:24px;z-index:3;border:1px solid #ffffffa6;border-radius:30px;background:#28192566;color:#fff;padding:9px 17px;font:500 12px 'DM Sans',sans-serif;cursor:pointer;min-height:40px}
.film-toggle:hover{background:#281925a6}
.film-toggle[hidden]{display:none}
.brand-mark>span,.eyebrow>span,.values-ribbon>b{display:none}
@media(max-width:760px){.hero.film-hero{height:570px;max-height:calc(100vh - 100px);max-height:calc(100svh - 100px);min-height:430px;padding:42px 24px;justify-content:center;align-items:flex-start}.film-hero .hero-copy{max-width:100%}.film-hero h1{font-size:clamp(43px,10.8vw,58px)}.film-hero .eyebrow{font-size:10px;letter-spacing:1.25px;margin-bottom:20px}.film-hero .hero-copy>p{font-size:15px;line-height:1.7;margin:22px 0 25px}.film-shade{background:linear-gradient(90deg,#251723a8,#25172340)}.film-toggle{right:20px;bottom:18px}.film-hero .hero-film{object-position:55% center}}
/* White inset panels and pastel surrounds, following the supplied references. */
body{background:#fff}
.growing.section{max-width:none;background:#f9edf3;padding:80px max(5%,calc((100% - 1270px)/2))}
.growing-grid{gap:24px}
.growth-card{background:#fff;border:8px solid #ffffff;border-radius:12px;box-shadow:0 0 0 1px #ffffff80}
.growth-photo{height:310px;border-radius:150px 150px 8px 8px}
.growth-copy{padding:26px 22px 24px}
.growth-copy h3{font-size:28px}.growth-copy p{font-size:15px}
.pastel-surround{background:#edf7f3;padding:72px 5%}
.connection.section{max-width:1360px;margin:auto;background:#fff;border:9px solid #ffffffa6;background-clip:padding-box;border-radius:9px;padding:65px;gap:65px;box-shadow:0 0 0 8px #ffffff70;grid-template-columns:1fr 1.05fr}
.connection-image{min-height:510px;order:2}
.connection-image>img{border-radius:48% 48% 48% 12px;object-position:48% center}
.connection-copy{order:1}.connection h2{font-size:clamp(36px,3.8vw,55px)}
.connection-sticker{left:0;bottom:15px;font-size:25px;transform:none;background:#f8edf3;border-radius:6px}
.childhood-banner{height:480px;background:#f8f3ee url('assets/baby-joy.png') center 43% / cover no-repeat;position:relative}
.childhood-banner>span{position:absolute;left:7%;bottom:95px;max-width:250px;background:#ffffffed;padding:20px 25px;font-family:'DM Serif Display',Georgia,serif;font-size:30px;line-height:1.2;border-radius:7px;color:var(--berry)}
.about-surround{background:#f0edf8;padding:0 5% 75px;display:flow-root}
.about.section{position:relative;max-width:1360px;margin:-55px auto 0;background:#fff;border-radius:9px;padding:65px;box-shadow:0 0 0 8px #ffffff70;gap:65px;align-items:center}
.about-copy{padding-top:0}.about h2{font-size:clamp(36px,3.8vw,55px)}.doctor-art{min-height:530px;border-radius:12px 160px 12px 160px}
.care.section{background:#f0edf8;padding-top:10px;padding-bottom:80px}
.care-card,.care-card:nth-child(n){background:#fff;border:8px solid #ffffff;border-radius:10px;padding-bottom:22px}
.care-photo{border-radius:8px 90px 8px 8px;background:#f9edf3}
.care-card:nth-child(2) .care-photo{background:#f0edf8}.care-card:nth-child(3) .care-photo{background:#f8f1df}.care-card:nth-child(4) .care-photo{background:#edf7f3}
.care-card:first-child .care-photo img{object-fit:cover;object-position:center}
.card-bottom b{background:#f7e7f0}
.parents.section{margin:70px auto;background:#fff}.faq details{background:#faf6f9;margin-bottom:10px;padding:18px 20px;border:1px solid #eee2ea;border-radius:7px}
.contact.section{background:#faedf3;border-radius:9px;margin:0 5% 30px;box-shadow:0 0 0 8px #fcf6f9}
@media(max-width:1100px){.connection.section,.about.section{padding:40px;gap:35px}.connection-image{min-height:500px}.growth-copy{padding:22px 12px}.growth-photo{height:260px}}
@media(max-width:760px){.growing.section{padding:55px 20px}.growth-photo{height:320px}.growth-copy{padding:24px 18px}.growing-grid{gap:25px}.pastel-surround{padding:45px 20px}.connection.section,.about.section{padding:28px 20px;gap:30px;grid-template-columns:1fr}.connection-image{order:1;min-height:330px}.connection-copy{order:2}.connection-sticker{font-size:22px;padding:16px}.connection h2,.about h2{font-size:39px}.childhood-banner{height:310px;background-position:48% center}.childhood-banner>span{font-size:22px;padding:15px;bottom:55px;left:20px;max-width:170px}.about-surround{padding:0 20px 45px}.about.section{margin-top:-28px}.doctor-art{min-height:420px}.care.section{padding:15px 20px 45px}.care-photo{height:270px}.parents.section{margin:0;padding:55px 24px}.contact.section{margin:0 20px 25px}.faq details{padding:16px}.connection-list li{align-items:flex-start}}
.second .age-label{left:auto;right:16px}
/* Real logo lockups: transparent logo in the header, full logo with tagline in the footer. */
.brand{flex-shrink:0}
.brand picture{display:block;line-height:0}
.brand-logo{display:block;width:auto;height:80px;max-width:none;transition:transform .25s ease}
.brand:hover .brand-logo{transform:translateY(-2px)}
.footer-logo{display:block;width:330px;max-width:100%;height:auto}
@media(max-width:1100px){.brand-logo{height:64px}}
@media(max-width:760px){.brand-logo{height:54px}.footer-logo{width:280px}}
@media(max-width:380px){header{padding:0 14px;gap:6px}.brand-logo{height:48px}header>.button{padding:10px 12px}header>.button span{display:none}}
/* Keep the baby's face in frame and use the same inset as adjacent panels. */
.childhood-banner{height:clamp(460px,40vw,650px);background-position:center top}
.childhood-banner>span{left:max(5%,calc((100% - 1360px)/2));bottom:95px;width:350px;max-width:35%;padding:24px 28px;font-size:32px;line-height:1.2;text-wrap:balance}
@media(max-width:760px){.childhood-banner{height:auto;min-height:0;padding-top:66.6667%;background-size:100% auto;background-position:center top;background-color:#f8f3ee}.childhood-banner>span{position:relative;display:block;left:auto;bottom:auto;width:auto;max-width:none;margin:0;padding:24px 20px 48px;border-radius:0;background:#fffaf7;font-size:27px;text-align:center}.about.section{margin-top:-20px}}
/* Mobile navigation: CSS hamburger (the ☰ glyph renders inconsistently across phones), 44px tap
   target, and the menu box anchored to the header instead of a hard-coded page offset. */
.menu-toggle{position:relative;width:44px;height:44px;flex:0 0 44px;padding:0;border-radius:10px}
.menu-toggle span{position:absolute;left:11px;width:22px;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s ease,opacity .2s ease}
.menu-toggle span:nth-child(1){top:15px}.menu-toggle span:nth-child(2){top:21px}.menu-toggle span:nth-child(3){top:27px}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:760px){header{position:relative}.menu-toggle{padding:0}nav{top:calc(100% + 4px);max-height:calc(100vh - 150px);overflow-y:auto;overscroll-behavior:contain}nav.open{animation:menu-in .18s ease-out}nav a{display:block}}
@keyframes menu-in{from{opacity:0;transform:translateY(-6px)}}
/* Mobile browser compatibility. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.doctor-label{-webkit-backdrop-filter:blur(10px)}
dialog::backdrop{-webkit-backdrop-filter:blur(5px)}
@media(hover:none){.button:hover,.care-card:hover{transform:none}.care-card:hover{box-shadow:none}.growth-card:hover img,.care-card:hover .care-photo img{transform:none}}
/* Connection section: family.png is a transparent cut-out, so the oval gets a pastel ground. Faces are
   kept high in the frame, clear of the "A little time" sticker in the lower-left corner. */
.connection-image>img{background:#f9edf3;object-fit:cover;object-position:55% top;padding-top:24px;box-sizing:border-box}
/* Footer logo may shrink on very narrow screens instead of forcing a sideways scroll. */
.footer-brand{flex-shrink:1;min-width:0}
/* Entrance animations: the hero rises in on load; [data-reveal] elements animate as they scroll into
   view. Only active while the head script has set .motion (IntersectionObserver available, reduced
   motion off). Animations use backwards fill so, once finished, each element's own transform and
   hover effects apply again. */
@keyframes reveal-up{from{opacity:0;transform:translateY(28px)}}
@keyframes reveal-down{from{opacity:0;transform:translateY(-14px)}}
@keyframes reveal-left{from{opacity:0;transform:translateX(-40px)}}
@keyframes reveal-zoom{from{opacity:0;transform:scale(.93)}}
@keyframes reveal-fade{from{opacity:0}}
@keyframes hero-settle{from{transform:scale(1.08)}}
.motion [data-reveal]:not(.is-visible){opacity:0}
.motion [data-reveal].is-visible{animation:reveal-up .85s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0s) backwards}
.motion [data-reveal=left].is-visible{animation-name:reveal-left}
.motion [data-reveal=zoom].is-visible{animation-name:reveal-zoom;animation-duration:1s}
.motion header>:not(nav){animation:reveal-down .6s cubic-bezier(.22,.61,.36,1) backwards}
.motion header>.button{animation-delay:.12s}.motion header>.menu-toggle{animation-delay:.18s}
.motion .hero-film{animation:hero-settle 2.4s cubic-bezier(.22,.61,.36,1) backwards}
.motion .film-hero .hero-copy>*{animation:reveal-up .9s cubic-bezier(.22,.61,.36,1) backwards}
.motion .film-hero .hero-copy>:nth-child(1){animation-delay:.15s}
.motion .film-hero .hero-copy>:nth-child(2){animation-delay:.3s}
.motion .film-hero .hero-copy>:nth-child(3){animation-delay:.45s}
.motion .film-hero .hero-copy>:nth-child(4){animation-delay:.6s}
.motion .film-toggle{animation:reveal-fade .6s .9s backwards}
@media(min-width:761px){.motion header>nav{animation:reveal-down .6s .06s cubic-bezier(.22,.61,.36,1) backwards}}
/* Sideways slides become vertical on phones, where they read as jitter. */
@media(max-width:760px){.motion [data-reveal=left].is-visible{animation-name:reveal-up}}
@media print{.motion [data-reveal]{opacity:1!important;animation:none!important}}
