*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:50px}body{margin:0;color:#1d1d1f;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;-webkit-font-smoothing:antialiased}body.lock{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}.nav{height:46px;position:fixed;inset:0 0 auto;z-index:100;background:rgba(250,250,252,.82);backdrop-filter:saturate(180%) blur(20px)}.nav-inner{width:min(1040px,calc(100% - 30px));height:46px;margin:auto;display:flex;align-items:center}.logo{width:40px;font-size:12px;font-weight:800}.nav nav{flex:1;display:flex;justify-content:center;gap:42px}.nav nav a{font-size:12px;color:#424245}.nav-actions{display:flex;align-items:center;gap:9px}.nav-actions button{width:28px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}.heart{font-size:20px}.nav-actions #menuBtn{display:none}.promo{min-height:46px;margin-top:46px;padding:11px 20px;text-align:center;font-size:14px}.promo button,.links button,.special button{border:0;padding:0;color:#06c;background:none;cursor:pointer}.promo button{margin-left:4px}#searchPanel{position:fixed;inset:0;z-index:120;visibility:hidden;opacity:0;background:rgba(0,0,0,.42);backdrop-filter:blur(14px);transition:.25s}#searchPanel.show{visibility:visible;opacity:1}#searchPanel>div{padding:78px max(25px,calc((100vw - 980px)/2));background:#fff}#searchPanel p{color:#6e6e73;font-size:13px}#searchInput{width:100%;border:0;outline:0;font-size:40px;font-weight:650;letter-spacing:-.04em}#searchClose{position:absolute;top:20px;right:max(25px,calc((100vw - 980px)/2));width:35px;height:35px;border:0;border-radius:50%;font-size:22px}.hero{min-height:720px;padding:80px 24px 40px;position:relative;overflow:hidden;color:#fff;text-align:center;background:#000}.aurora{position:absolute;border-radius:50%;filter:blur(70px)}.a1{width:520px;height:520px;left:15%;bottom:-220px;background:#614dff}.a2{width:420px;height:420px;right:10%;bottom:-160px;background:#ff4c91}.hero-copy{position:relative;z-index:4}.hero-copy>span{font-size:20px;font-weight:600}.hero h1{margin:5px 0 0;font-size:clamp(50px,6.5vw,78px);line-height:1.02;letter-spacing:-.06em}.hero-copy>p{margin:14px 0 0;font-size:clamp(20px,2.2vw,27px);color:#d2d2d7}.links{margin-top:20px;display:flex;justify-content:center;gap:28px}.links a,.links button{font-size:18px;color:#2997ff}.portrait-wrap{position:relative;z-index:3;width:min(720px,88vw);margin:55px auto 0}.glass{border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.1);backdrop-filter:blur(24px);box-shadow:0 35px 100px rgba(0,0,0,.35)}.portrait-card{padding:15px;border-radius:36px}.portrait-card img{width:100%;aspect-ratio:2/1;display:block;object-fit:cover;border-radius:25px}.portrait-meta{padding:20px 8px 7px;display:flex;align-items:baseline;gap:13px;text-align:left}.portrait-meta small{color:#a1a1a6}.portrait-meta strong{font-size:24px}.portrait-meta span{margin-left:auto;color:#a1a1a6;font-size:12px}.scroll-hint{position:absolute;right:26px;bottom:25px;font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl;color:#86868b}.statement{padding:150px 24px;text-align:center}.statement small,.gallery-heading small,.company-intro small,.special small{color:#06c;font-size:12px;font-weight:700;letter-spacing:.15em}.statement h2,.gallery-heading h2,.company h2,.special h2{margin:14px 0 0;font-size:clamp(48px,6.5vw,82px);line-height:1.04;letter-spacing:-.06em}.statement p{max-width:760px;margin:35px auto 0;color:#6e6e73;font-size:24px;line-height:1.55}.gallery-section{padding:110px 0;background:#f5f5f7;overflow:hidden}.gallery-heading{width:min(1080px,calc(100% - 44px));margin:0 auto 45px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.gallery-heading h2{max-width:780px;font-size:clamp(43px,5vw,67px)}.gallery-heading p{max-width:700px;margin:18px 0 0;color:#6e6e73;font-size:18px;line-height:1.6}.gallery-heading button{flex:0 0 auto;min-width:125px;height:42px;padding:0 17px;border:0;border-radius:999px;background:#1d1d1f;color:#fff;cursor:pointer}.pause-icon{margin-right:8px}.gallery-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;touch-action:pan-x;padding:0 max(22px,calc((100vw - 1080px)/2));scroll-behavior:auto}.gallery-viewport::-webkit-scrollbar{display:none}.gallery-viewport.dragging{cursor:grabbing;user-select:none}.gallery-track{width:max-content;display:flex;gap:18px}.gallery-group{display:flex;gap:18px}.gallery-card{width:clamp(330px,58vw,760px);margin:0;position:relative;overflow:hidden;flex:0 0 auto;border-radius:28px;background:#111;box-shadow:0 22px 60px rgba(0,0,0,.12)}.gallery-card img{width:100%;aspect-ratio:2/1;display:block;object-fit:cover;transition:transform .6s}.gallery-card:hover img{transform:scale(1.025)}.gallery-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.gallery-card figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;display:flex;align-items:end;justify-content:space-between;color:#fff}.gallery-card figcaption span{font-size:12px;opacity:.7}.gallery-card figcaption strong{font-size:21px}.gallery-status{width:min(1080px,calc(100% - 44px));margin:22px auto 0;display:flex;justify-content:space-between;color:#86868b;font-size:12px}.cards{padding:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.card{min-height:450px;padding:42px;position:relative;overflow:hidden;border-radius:2px}.card div{position:relative;z-index:2}.card small{font-size:12px}.card h3{margin:90px 0 10px;font-size:42px;letter-spacing:-.05em}.card p{max-width:400px;font-size:17px;line-height:1.6}.card>span{position:absolute;right:25px;bottom:10px;font-size:80px;font-weight:700;opacity:.1}.dark{color:#fff;background:#000}.blue{color:#fff;background:linear-gradient(145deg,#12315b,#3682e2)}.pink{color:#fff;background:linear-gradient(145deg,#7b2b6e,#ef538e)}.cream{background:#f1e7d6}.cinema{min-height:620px;padding:90px 24px;display:grid;place-items:center;position:relative;overflow:hidden;color:#fff;text-align:center;background:#000}.cinema-bg{position:absolute;width:620px;height:620px;border-radius:50%;background:linear-gradient(145deg,#799cff,#794ee9 50%,#ff568e);box-shadow:0 0 130px #4d3bc1}.cinema-copy{position:relative;z-index:2}.cinema-copy h2{font-size:70px;letter-spacing:-.06em;margin:12px 0}.cinema-copy p{font-size:20px}.company{padding:125px max(24px,calc((100vw - 1080px)/2));display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.company-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info{min-height:155px;padding:25px;border-radius:22px;background:#f5f5f7}.info small,.info strong{display:block}.info small{color:#6e6e73;font-size:12px}.info strong{margin-top:26px;font-size:20px}.info.wide{grid-column:1/-1}.philosophy strong{font-size:25px;line-height:1.45}.special{min-height:560px;padding:90px 24px;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(145deg,#17203c,#7048d4 55%,#db5b9b)}.special p{font-size:19px}.special button{font-size:18px;color:#fff}footer{padding:30px max(24px,calc((100vw - 1080px)/2));display:flex;justify-content:space-between;align-items:end;background:#f5f5f7;color:#6e6e73;font-size:12px}footer strong{color:#1d1d1f}footer p{margin:7px 0 0}.birthday-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;visibility:hidden;opacity:0;background:rgba(0,0,0,.82);backdrop-filter:blur(22px);transition:.3s}.birthday-modal.show{visibility:visible;opacity:1}.birthday-modal canvas{position:absolute;inset:0;width:100%;height:100%}.birthday-card{width:min(650px,calc(100% - 40px));padding:60px 34px 52px;position:relative;z-index:2;border-radius:34px;text-align:center;background:rgba(255,255,255,.95);transform:scale(.92);transition:.3s}.birthday-modal.show .birthday-card{transform:scale(1)}.birthday-card>button{position:absolute;top:18px;right:20px;width:34px;height:34px;border:0;border-radius:50%;font-size:22px}.birthday-card>small{color:#06c;font-weight:700;letter-spacing:.14em}.cake{font-size:68px;margin:15px}.birthday-card h2{margin:0;font-size:55px;letter-spacing:-.06em}.birthday-card p{color:#6e6e73;font-size:18px;line-height:1.7}.birthday-card>strong{color:#06c;font-size:22px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}#progress{position:fixed;left:0;top:0;z-index:200;width:0;height:2px;background:#06c}#ambient{position:fixed;inset:0;z-index:-1;pointer-events:none}@media(max-width:850px){.nav nav{display:none}.nav-actions #menuBtn{display:block}#mobileMenu{position:fixed;top:46px;inset-inline:0;height:calc(100vh - 46px);padding:38px;background:rgba(250,250,252,.98);visibility:hidden;opacity:0;transition:.25s}#mobileMenu.show{visibility:visible;opacity:1}#mobileMenu a{display:block;padding:10px 0;font-size:28px;font-weight:650}.gallery-heading{align-items:flex-start;flex-direction:column}.company{grid-template-columns:1fr}.portrait-meta{flex-wrap:wrap}.portrait-meta span{width:100%;margin:0}.gallery-status{gap:10px;flex-direction:column}.cards{grid-template-columns:1fr}footer{gap:25px;align-items:flex-start;flex-direction:column}}@media(max-width:600px){.hero{min-height:650px;padding-top:55px}.hero h1{font-size:48px}.hero-copy>p{font-size:18px}.links{gap:16px}.links a,.links button{font-size:16px}.portrait-wrap{margin-top:42px}.portrait-card{border-radius:25px}.portrait-card img{border-radius:18px}.portrait-meta strong{font-size:20px}.statement{padding:100px 22px}.statement p{font-size:20px}.gallery-section{padding:85px 0}.gallery-card{width:82vw;border-radius:22px}.gallery-card figcaption{left:20px;right:20px;bottom:18px}.gallery-card figcaption strong{font-size:17px}.gallery-heading button{height:39px}.card{min-height:390px;padding:30px}.card h3{margin-top:65px;font-size:35px}.cinema-copy h2{font-size:48px}.company{padding-top:90px;padding-bottom:90px}.company-grid{grid-template-columns:1fr}.info.wide{grid-column:auto}.birthday-card h2{font-size:42px}#searchInput{font-size:28px}.promo{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-viewport{scroll-behavior:auto}}