*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#f1f1f1;color:#0a0a0a;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;transition:color .25s,background .25s,border-color .25s,transform .25s}button{font:inherit}.muted{font-weight:400;color:#777}.hero-wrap{max-width:1480px;margin:auto;padding:32px 32px 0}.hero-shell,.legal-shell{background:white;border:1px solid #0000000a;border-radius:34px;overflow:hidden;box-shadow:0 22px 60px #00000010}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 48px;border-bottom:1px solid #0000000f}.logo{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-weight:650;font-size:15px;letter-spacing:-.02em}.logo-icon{display:grid;place-items:center;width:36px;height:36px;background:white;border:1px solid #0002;border-radius:50%;transition:transform .5s}.logo:hover .logo-icon{transform:rotate(-8deg)}nav{display:flex;gap:30px;color:#737373;font-size:14px}nav a{position:relative;padding:8px 0}nav a:hover{color:black}nav a:after{content:"";position:absolute;bottom:3px;left:0;right:100%;height:1px;background:black;transition:right .3s}nav a:hover:after{right:0}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;min-height:680px}.hero-content{padding:70px clamp(26px,5vw,72px);display:flex;align-items:center;position:relative;z-index:1}.hero-text{animation:enter .95s cubic-bezier(.2,.8,.2,1) both}.pill{display:inline-flex;align-items:center;gap:8px;background:#fafafa;border:1px solid #00000019;border-radius:25px;padding:8px 12px;font-size:12px;color:#666;font-weight:550}.pill i{height:6px;width:6px;background:#111;border-radius:50%;animation:pulse 2.8s infinite}.intro{color:#858585;font-size:20px;margin:38px 0 17px}.hero-text h1{font-size:clamp(48px,6.7vw,102px);letter-spacing:-.075em;line-height:.95;margin:0;font-weight:650;white-space:nowrap}.hero-text h1 span{color:#aaa;font-weight:400}.lead{color:#777;font-size:clamp(16px,1.35vw,18px);line-height:1.75;max-width:570px;margin:34px 0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:100px;padding:14px 19px;font-size:14px;font-weight:600;border:1px solid #0002}.btn.primary{background:#111;color:#fff;border-color:#111}.btn.secondary{background:white;color:#111}.btn:hover{transform:translateY(-2px)}.btn.primary:hover{background:#333}.btn.secondary:hover{border-color:#555}.btn svg{transition:transform .3s}.btn:hover svg{transform:translateX(3px)}.hero-art{min-height:460px;position:relative;overflow:hidden;border-left:1px solid #0000000b}.visual{position:absolute;inset:0;padding:34px;display:flex;align-items:center;justify-content:center;transform:translate3d(var(--mx,0),var(--my,0),0) scale(1.015);transition:transform .7s cubic-bezier(.2,.8,.2,1);animation:visualEnter 1.1s both}.visual img{max-height:650px;width:100%;height:100%;object-fit:contain;user-select:none}.floating-dot{position:absolute;right:7%;top:9%;height:8px;width:8px;border-radius:50%;background:#111;animation:drift 7s infinite}.floating-ring{position:absolute;left:8%;top:15%;height:64px;width:64px;border-radius:50%;border:1px solid #0001;animation:drift 8s infinite reverse}.section{max-width:1280px;padding:100px 40px;margin:auto}.section-heading{display:grid;grid-template-columns:.78fr 1fr;align-items:end;gap:60px}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#888;margin:0 0 20px}.section-heading h2,.hint-box h2{font-size:clamp(35px,4vw,50px);letter-spacing:-.05em;line-height:1.13;font-weight:650;margin:0}.section-heading>p{color:#777;font-size:18px;line-height:1.8;margin:0}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd;border:1px solid #ddd;overflow:hidden;border-radius:27px;margin-top:60px}.feature{background:#f7f7f7;padding:38px;transition:background .3s,transform .3s}.feature:hover{background:white}.feature-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#aaa;letter-spacing:.1em}.feature-circle{display:grid;place-items:center;border:1px solid #0002;border-radius:50%;background:white;color:#111;font-size:17px;width:36px;height:36px;transition:transform .3s,background .3s,color .3s}.feature:hover .feature-circle{background:#111;color:white;transform:translateX(3px)}.feature h3{font-size:25px;letter-spacing:-.04em;font-weight:650;margin:60px 0 12px}.feature p{color:#777;line-height:1.75;margin:0}.hint{padding-top:0}.hint-box{background:#090909;color:white;border-radius:30px;padding:55px;overflow:hidden;position:relative}.hint-box .eyebrow{color:#aaa}.hint-layout{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:70px;position:relative}.hint-layout p:not(.eyebrow){color:#aaa;line-height:1.8}.hint-layout small{display:block;color:#bbb;line-height:1.7;margin-top:26px}.rings{position:absolute;right:-80px;top:-80px;width:300px;height:300px;border:1px solid #ffffff17;border-radius:50%}.rings:after{content:"";position:absolute;inset:56px;border:1px solid #ffffff17;border-radius:50%}.footer{max-width:1280px;padding:0 40px 40px;margin:auto}.footer-inner{border-top:1px solid #0002;padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-links{display:flex;gap:26px;flex-wrap:wrap;color:#777;font-size:14px}.footer-links a:hover{color:#000}.legal-wrap{max-width:1280px;padding:32px 32px 55px;margin:auto}.legal-grid{padding:90px 56px;display:grid;grid-template-columns:.42fr 1fr;gap:60px}.legal-grid h1{font-size:clamp(42px,5vw,56px);letter-spacing:-.05em;margin:0;font-weight:650}.legal-intro{font-size:14px;line-height:1.8;color:#777;max-width:320px}.legal-copy{max-width:760px}.legal-copy h2{font-size:19px;letter-spacing:-.02em;font-weight:650;margin:36px 0 12px}.legal-copy h2:first-of-type{margin-top:0}.legal-copy p{line-height:1.8;color:#666}.legal-copy strong{color:#222}.legal-notice{background:#f7f7f7;border:1px solid #0002;border-radius:16px;padding:16px 18px;color:#666;font-size:14px;line-height:1.7;margin-bottom:36px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s,transform .75s;transition-delay:var(--delay,0ms)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes visualEnter{from{opacity:0}to{opacity:1}}@keyframes pulse{50%{opacity:.3;transform:scale(.85)}}@keyframes drift{50%{transform:translate(12px,-10px)}}@media(max-width:1050px){.hero-grid{grid-template-columns:1fr}.hero-art{border-left:0;border-top:1px solid #0001;height:480px}.hero-text h1{font-size:clamp(48px,8vw,95px)}.hero-content{padding:65px 48px}.section-heading,.hint-layout{grid-template-columns:1fr;gap:25px}}@media(max-width:700px){.hero-wrap,.legal-wrap{padding:14px 14px 30px}.hero-shell,.legal-shell{border-radius:25px}.topbar{padding:20px 22px}.nav-extra{display:none}.hero-content{padding:65px 26px}.hero-text h1{font-size:clamp(38px,9vw,67px)}.hero-art{height:370px;min-height:370px}.visual{padding:20px}.intro{font-size:18px}.section{padding:70px 25px}.section-heading{gap:20px}.section-heading>p{font-size:16px}.features{grid-template-columns:1fr;margin-top:35px}.feature h3{margin-top:30px}.hint{padding-top:0}.hint-box{padding:38px 28px}.footer{padding:0 25px 30px}.footer-inner{flex-direction:column;align-items:flex-start}.legal-grid{padding:45px 26px;grid-template-columns:1fr;gap:30px}.legal-grid h1{font-size:42px}.legal-shell .topbar .logo>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* v2 — open, edge-to-edge editorial layout. No floating containers or cards. */
body{background:#fff}
.hero-wrap,.legal-wrap{max-width:none;margin:0;padding:0}
.hero-shell,.legal-shell{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.topbar{max-width:none;padding:27px clamp(26px,5.5vw,108px);border-bottom:1px solid #ededed}
.hero-grid{max-width:1600px;margin:0 auto;grid-template-columns:1fr 1fr;min-height:min(740px,80vh)}
.hero-content{padding:90px clamp(26px,5.5vw,108px)}
.hero-art{overflow:visible;border:0;min-height:520px}
.visual{padding:25px clamp(5px,2vw,45px)}
.floating-ring,.floating-dot{opacity:.55}
.section{max-width:none;margin:0;padding:110px clamp(26px,7vw,135px)}
.section-heading,.features{max-width:1430px;margin-left:auto;margin-right:auto}
.features{border:0;border-top:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf;background:transparent;border-radius:0;gap:0;overflow:visible;margin-top:65px}
.feature{background:transparent;padding:35px clamp(18px,3vw,46px) 43px;transition:background .3s}
.feature:first-child{padding-left:0}
.feature:last-child{padding-right:0}
.feature+.feature{border-left:1px solid #e6e6e6}
.feature:hover{background:transparent}
.feature-circle{background:transparent}
.hint{background:#090909;color:#fff;padding:115px clamp(26px,7vw,135px);max-width:none;margin:0}
.hint-box{max-width:1430px;margin:0 auto;background:transparent;border-radius:0;padding:0;overflow:visible}
.hint-layout{gap:clamp(45px,8vw,140px)}
.hint-box h2{font-size:clamp(42px,4.4vw,70px)}
.rings{right:0;top:-65px;opacity:.65;pointer-events:none}
.footer{max-width:none;margin:0;padding:0 clamp(26px,7vw,135px) 40px;background:#fff}
.footer-inner{max-width:1430px;margin:auto;padding-top:38px}
.legal-grid{max-width:1320px;margin:auto;padding:105px clamp(26px,5vw,80px) 135px}
.legal-notice{border-radius:0}
@media(min-width:1600px){.hero-text h1{font-size:100px}}
@media(max-width:1050px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero-content{padding:90px clamp(26px,7vw,80px) 50px}.hero-art{height:480px;min-height:480px;overflow:hidden}.visual{padding:0 35px}.section-heading,.hint-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:700px){.hero-wrap,.legal-wrap{padding:0}.topbar{padding:22px 25px}.hero-content{padding:75px 25px 20px}.hero-art{height:340px;min-height:340px}.visual{padding:0 15px}.section{padding:78px 25px}.features{grid-template-columns:1fr;margin-top:35px}.feature,.feature:first-child,.feature:last-child{padding:26px 0 30px}.feature+.feature{border-left:0;border-top:1px solid #e6e6e6}.feature h3{margin-top:24px}.hint{padding:82px 25px}.hint-box{padding:0}.rings{right:-50px;top:-30px}.footer{padding:0 25px 32px}.legal-grid{padding:65px 25px 95px}.legal-shell .topbar .logo>span:last-child{display:inline}}

/* Minimal one-screen homepage */
body.homepage{margin:0;background:#fff;color:#111;font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}
.homepage *{box-sizing:border-box}
.homepage .home-layout{width:100%;min-height:100svh;display:flex;flex-direction:column;padding:0 clamp(26px,5.1vw,96px)}
.homepage .minimal-header{height:108px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.homepage .minimal-brand{display:inline-flex;align-items:center;justify-content:center;width:34px;height:40px;color:#777;transition:color .25s ease,transform .25s ease}
.homepage .minimal-brand:hover{color:#111;transform:translateY(-2px)}
.homepage .minimal-header nav{display:flex;align-items:center;gap:clamp(22px,3.2vw,54px)}
.homepage .minimal-header nav a{font-size:15px;color:#868686;text-decoration:none;position:relative;padding:8px 0;transition:color .25s ease}
.homepage .minimal-header nav a:hover,.homepage .minimal-header nav a.active{color:#111}
.homepage .minimal-header nav a.active::after{content:'';position:absolute;height:2px;bottom:2px;left:20%;right:20%;background:#111;border-radius:5px}
.homepage .minimal-hero{width:100%;flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:clamp(28px,5vw,110px);padding:20px 0 38px}
.homepage .minimal-copy{padding-bottom:2vh;animation:minimal-enter .9s .1s both}
.homepage .minimal-eyebrow{margin:0 0 25px;font-size:clamp(18px,1.9vw,28px);font-weight:400;color:#969696;line-height:1.4}
.homepage .minimal-copy h1{font-size:clamp(42px,5vw,82px);line-height:1.09;letter-spacing:-.052em;font-weight:600;margin:0 0 28px;white-space:nowrap}
.homepage .minimal-copy h1 span{color:#9a9a9a}
.homepage .minimal-description{color:#858585;font-size:clamp(17px,1.65vw,24px);line-height:1.55;font-weight:400;letter-spacing:-.017em;margin:0}
.homepage .minimal-art{min-width:0;display:flex;align-items:center;justify-content:center;animation:minimal-enter 1s .22s both}
.homepage .minimal-art-inner{width:100%;max-width:590px;transform:translate(var(--mx,0px),var(--my,0px));transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.homepage .minimal-art img{display:block;width:100%;height:auto;max-height:min(65vh,610px);object-fit:contain}
.homepage .minimal-footer{min-height:104px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 0 38px;gap:24px;color:#919191;font-size:13px}
.homepage .minimal-footer div{display:flex;gap:25px}
.homepage .minimal-footer a{color:#858585;text-decoration:none;transition:color .2s}
.homepage .minimal-footer a:hover{color:#111}
@keyframes minimal-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.homepage .home-layout{padding-left:clamp(65px,6vw,145px);padding-right:clamp(65px,6vw,145px)}}
@media(max-width:950px){.homepage .minimal-hero{grid-template-columns:1fr 1fr;gap:24px}.homepage .minimal-copy h1{font-size:clamp(35px,4.7vw,54px)}.homepage .minimal-description br{display:none}}
@media(max-width:680px){.homepage .home-layout{padding:0 25px}.homepage .minimal-header{height:83px}.homepage .minimal-header nav{gap:18px}.homepage .minimal-header nav a{font-size:13px}.homepage .minimal-hero{grid-template-columns:1fr;align-content:center;gap:18px;padding:35px 0 20px}.homepage .minimal-copy{padding-bottom:0}.homepage .minimal-eyebrow{font-size:18px;margin-bottom:16px}.homepage .minimal-copy h1{font-size:clamp(42px,8vw,64px);margin-bottom:20px}.homepage .minimal-description{font-size:18px;max-width:440px}.homepage .minimal-art-inner{max-width:390px}.homepage .minimal-art img{max-height:41vh}.homepage .minimal-footer{font-size:12px;min-height:88px;padding-bottom:24px}.homepage .minimal-footer div{gap:14px}}
@media(max-width:390px){.homepage .minimal-copy h1{font-size:39px}.homepage .minimal-header nav{gap:12px}.homepage .minimal-header nav a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.homepage .minimal-copy,.homepage .minimal-art{animation:none}.homepage .minimal-art-inner{transition:none}}

/* Hero-only layout: no header, no containers */
.homepage .minimal-hero { min-height: 0; padding-top: 6vh; }
.homepage .minimal-art-inner { position: relative; isolation: isolate; will-change: transform; transition: transform .65s cubic-bezier(.18,.8,.24,1), filter .65s ease; }
.homepage .minimal-art:hover .minimal-art-inner { filter: drop-shadow(0 18px 18px rgb(0 0 0 / .045)); }

/* Legal pages — same clean, unboxed language as the homepage */
body.legal-page {background:#fff;color:#111;font-family:Inter,Arial,Helvetica,sans-serif;min-height:100vh}
.legal-layout {min-height:100svh;display:flex;flex-direction:column;padding:0 clamp(26px,5.1vw,96px)}
.legal-main {width:100%;max-width:1160px;margin:auto;flex:1;padding:clamp(80px,12vh,150px) 0 90px;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1fr);gap:clamp(42px,8vw,160px)}
.legal-heading {align-self:start;position:sticky;top:54px}
.legal-heading .legal-kicker{font-size:clamp(16px,1.8vw,24px);color:#999;margin:0 0 22px}
.legal-heading h1{font-size:clamp(48px,5.4vw,84px);font-weight:600;letter-spacing:-.065em;line-height:1.04;margin:0 0 25px}
.legal-heading p:not(.legal-kicker){font-size:16px;color:#858585;line-height:1.75;max-width:300px}
.legal-home-link{display:inline-flex;align-items:center;gap:13px;margin-top:26px;font-size:14px;color:#777;transition:color .2s}
.legal-home-link:hover{color:#000}.legal-home-link span{font-size:19px}
.legal-text{max-width:640px;padding-top:7px}
.legal-text h2{font-weight:600;font-size:17px;letter-spacing:-.025em;margin:42px 0 12px;line-height:1.4}
.legal-text h2:first-of-type{margin-top:0}
.legal-text p{font-size:15px;line-height:1.85;color:#777;margin:0 0 18px}
.legal-text strong{color:#222;font-weight:600}
.legal-text .legal-note{border-left:1px solid #d7d7d7;padding:4px 0 4px 18px;margin:0 0 48px;color:#999;font-size:13px;line-height:1.8}
.legal-page .minimal-footer{min-height:88px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 0 34px;color:#999;font-size:13px}
.legal-page .minimal-footer div{display:flex;gap:25px}
.legal-page .minimal-footer a{color:#858585}.legal-page .minimal-footer a:hover,.legal-page .minimal-footer a[aria-current=page]{color:#111}
@media(max-width:760px){.legal-main{grid-template-columns:1fr;gap:50px;padding:72px 0 80px}.legal-heading{position:static}.legal-heading h1{font-size:clamp(48px,11vw,70px)}.legal-heading p:not(.legal-kicker){max-width:550px}.legal-text{padding:0}.legal-page .minimal-footer{font-size:12px;gap:14px}.legal-page .minimal-footer div{gap:14px}}
@media(max-width:420px){.legal-page .minimal-footer{flex-wrap:wrap}}

/* Hero image remains stationary: remove mouse-based translation. */
.homepage .minimal-art-inner,
.homepage .minimal-art:hover .minimal-art-inner {
  transform: none;
  will-change: auto;
}

/* Updated hero: artwork scales with available width only, never viewport height. */
.homepage .minimal-hero {
  min-height: 660px;
}
.homepage .minimal-art,
.homepage .minimal-art-inner {
  flex-shrink: 0;
}
.homepage .minimal-art img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
@media (max-width: 680px) {
  .homepage .minimal-hero { min-height: 0; }
  .homepage .minimal-art { flex-shrink: 1; }
  .homepage .minimal-art img { max-height: none; }
}

/* Sticky legal title: only the document column scrolls past it on desktop. */
@media (min-width: 761px) {
  .legal-main { align-items: start; }
  .legal-heading { position: sticky; top: clamp(28px, 9vh, 100px); align-self: start; height: max-content; }
}
