:root{color-scheme:light;--paper:#f8f7fc;--ink:#282139;--muted:#655c72;--accent:#7751c9;--line:#ded9e8}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:40px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:7px;border-radius:2px}
::selection{background:#d7c2fa;color:#282139}
p,h1,h2,figure{margin:0}
.wrap{width:min(1296px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:fixed;top:-80px;left:20px;z-index:20;padding:12px 20px;background:var(--ink);color:white}
.skip-link:focus{top:12px}
.site-header{height:100px;display:flex;justify-content:space-between;align-items:center}
.wordmark{font-size:30px;font-weight:800;letter-spacing:-1.6px}
.site-header nav{display:flex;gap:38px;font-size:13px;font-weight:500}
.site-header nav a{padding-block:12px}
.site-header nav a:hover{color:var(--accent)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#f2e9ff;background:radial-gradient(ellipse at 0% 0%,#e2d0ff 0%,transparent 54%),radial-gradient(ellipse at 100% 10%,#e8d8ff 0%,transparent 52%),radial-gradient(ellipse at 76% 100%,#ffe8c3 0%,transparent 56%),linear-gradient(125deg,#e9dcff,#f9dfed 55%,#f9e4df)}
.hero::after{content:"";position:absolute;z-index:-1;width:700px;height:700px;border:1px solid #fff8;border-radius:50%;right:-250px;top:-310px;box-shadow:0 0 0 75px #ffffff16,0 0 0 150px #ffffff10;pointer-events:none}
.hero-inner{position:relative;min-height:665px;display:flex;align-items:center;padding-block:68px 104px}
.hero-copy{position:relative;z-index:2;width:56%}
.intro-label{font-size:13px;letter-spacing:.2px;margin-bottom:29px;color:#5c4b71}
h1{font-size:clamp(65px,6.65vw,96px);font-weight:600;line-height:1.02;letter-spacing:-.055em}
.play-word{position:relative;display:inline-block;color:#7650c8;white-space:nowrap}
.title-dot{color:#e58070}
.hero-description{font-size:16px;line-height:1.8;margin-top:36px;color:#61536e}
.hero-art{position:absolute;width:51%;max-width:650px;right:-18px;top:15px;pointer-events:none}
.hero-art svg{display:block;width:100%;overflow:visible}
.hero-art figcaption{text-align:center;font-size:12px;letter-spacing:.8px;color:#71627e;margin-top:-7px}
.scroll-note{position:absolute;bottom:32px;left:0;display:flex;align-items:center;gap:20px;color:#655574;font-size:11px}
.scroll-note span:last-child{font-size:22px;font-weight:300;transition:transform .2s}
.scroll-note:hover span:last-child{transform:translateY(4px)}
.studio{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px;padding-block:102px 108px}
.section-label{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:22px}
h2{font-size:clamp(38px,4vw,58px);font-weight:550;letter-spacing:-.055em;line-height:1.13}
.gradient-text{color:#8758c7;background:linear-gradient(95deg,#7d58c4 5%,#b365b4 52%,#d98172 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.studio-copy{max-width:420px;padding-top:18px}
.studio-copy p{font-size:18px;line-height:1.8;color:#5d5369}
.studio-copy p+p{margin-top:21px}
.contact{background:linear-gradient(100deg,#ede5f9 0%,#f4e7ed 58%,#f9ecdb 100%)}
.contact-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center;padding-block:58px 65px}
.contact .section-label{margin-bottom:15px}
.contact h2{font-size:36px;letter-spacing:-.045em}
.contact-detail{justify-self:end;min-width:228px;font-size:14px;color:#655970;line-height:1.9}
.contact-detail p+p{margin-top:4px}
.site-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-block:29px;font-size:11px;color:#6f657b}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
/* One reading column, with the contact address at the end. */
.policy{width:min(720px,calc(100% - 48px));margin:0 auto;padding:54px 0 64px}
.policy-brand{font-size:26px;font-weight:800;letter-spacing:-1.4px;margin-bottom:60px}
.brand-dot{display:none}
.policy-heading{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:32px}
.policy h1{font-size:clamp(42px,7vw,64px);line-height:1.1;letter-spacing:-.055em}
.policy-date{font-size:12px;color:var(--muted);margin-top:18px}
.policy-intro,.policy section p,.policy li{font-size:14px;line-height:1.9;color:#62596e}
.policy section{margin-top:35px}
.policy section h2{font-size:21px;font-weight:650;letter-spacing:-.5px;line-height:1.45;margin-bottom:12px}
.policy section p+p{margin-top:12px}
.policy ul{padding-left:22px;margin:12px 0}
.policy li{padding-left:3px;margin-bottom:8px}
.policy strong{font-weight:650;color:#3b304b}
.policy a{text-decoration:underline;text-underline-offset:3px}
.policy a:hover{color:var(--accent)}
.policy-footer{border-top:1px solid var(--line);margin-top:48px;padding-top:24px;font-size:11px;color:var(--muted)}
@media(min-width:1600px){.hero-art{right:-5px;top:12px}.hero-inner{min-height:710px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero-inner{min-height:590px}.hero-art{width:51%;right:-18px;top:38px}h1{font-size:6.6vw}.studio{gap:48px;padding-block:80px}.studio-copy p{font-size:16px}.contact-inner{gap:40px}.contact h2{font-size:31px}}
@media(max-width:760px){html{scroll-padding-top:28px}.wrap{width:calc(100% - 40px)}.site-header{height:84px}.wordmark{font-size:27px}.site-header nav{gap:25px;font-size:12px}.hero-inner{display:block;min-height:auto;padding-block:45px 50px}.hero-copy{width:100%}.intro-label{font-size:11px;margin-bottom:23px}h1{font-size:clamp(46px,9.8vw,74px);letter-spacing:-.055em}.hero-description{font-size:14px;line-height:1.8;margin-top:29px}.hero-art{position:relative;width:min(100%,480px);max-width:none;right:auto;top:auto;margin:20px auto 26px}.hero::after{width:440px;height:440px;right:-310px;top:-170px}.scroll-note{position:static;justify-content:space-between;font-size:10px;gap:12px}.studio{grid-template-columns:1fr;gap:27px;padding-block:55px 60px}.section-label{font-size:12px;margin-bottom:19px}h2{font-size:43px}.studio-copy{padding-top:0;max-width:510px}.studio-copy p{font-size:16px;line-height:1.75}.studio-copy p+p{margin-top:15px}.contact-inner{grid-template-columns:1fr;gap:27px;padding-block:40px 43px}.contact h2{font-size:30px}.contact-detail{justify-self:start;min-width:0;font-size:13px}.contact .section-label{font-size:11px}.site-footer{padding-block:25px;font-size:10px}.policy{padding-top:32px}.policy-brand{margin-bottom:45px}.policy section h2{font-size:19px}.policy-intro,.policy section p,.policy li{font-size:13px}}
@media(max-width:360px){.wordmark{font-size:25px}.site-header nav{gap:20px;font-size:11px}h1{font-size:42px}.intro-label{font-size:10px}.hero-art{margin-block:20px 26px}.contact h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
