:root{color-scheme:dark;--black:#050505;--paper:#e4e4e2;--gutter:clamp(24px,6vw,110px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled){cursor:pointer}a,button{touch-action:manipulation}[hidden]{display:none!important}
:focus-visible{outline:2px solid #d5d5d5;outline-offset:6px}::selection{background:#999;color:#050505}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;left:24px;top:-100px;z-index:10;background:#eee;color:#111;padding:14px}.skip-link:focus{top:20px}
/* The only clipping boundary is the full viewport, never an inner artwork box. */
.hero{position:relative;width:100%;height:100svh;min-height:360px;background:#050505;isolation:isolate;overflow:hidden}
.art-stage{position:absolute;inset:0;width:100%;height:100%;padding:0;overflow:visible;touch-action:pan-y;cursor:default!important}
.art-stage:focus-visible{outline-offset:-8px}
.art-position{position:absolute;left:4%;top:50%;width:92%;transform:translateY(-50%);display:block;pointer-events:none}
.art-zoom{display:block;transform-origin:54.8% 49%;will-change:transform}
#brand-art{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.fluid-surface{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.fluid-ready #brand-art{opacity:0}
.hero-controls{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;z-index:2;gap:24px}
.scroll-link{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem;letter-spacing:.02em;color:#a5a5a5;padding:10px 0}
.scroll-link{margin-left:auto;gap:22px}.scroll-link span{font-size:1.3rem}.scroll-link:hover{color:#eee}
.intro-active .hero-controls{opacity:.25;transition:opacity .5s}.hero-controls{transition:opacity .6s}
.belief-section,.light-section,.gray-section{padding:clamp(80px,11vw,170px) var(--gutter)}
.statement{font-size:clamp(2.2rem,5.6vw,6.2rem);line-height:1.14;font-weight:400;letter-spacing:-.045em;margin:0;max-width:1200px;text-wrap:balance}
.belief-section{background:#090909}.meanings{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:860px;margin-top:clamp(60px,8vw,110px)}
.meanings h3{font-weight:400;font-family:Georgia,'Times New Roman',serif;font-size:2rem;letter-spacing:-.03em;margin:0 0 20px}.meanings p{font-size:1rem;line-height:1.8;color:#9d9d9d;margin:0}
.light-section{background:#d8d8d5;color:#1a1a1a;min-height:65svh;display:flex;align-items:center}.light-section .statement{font-family:Georgia,'Times New Roman',serif;font-style:italic}
.gray-section{background:#29292b;min-height:60svh;display:flex;align-items:center;color:#ddd}
.site-footer{background:#090909;padding:0 var(--gutter)}
.footer-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;padding:30px 0;color:#999;font-size:.875rem}.footer-meta a{padding:12px 0}.footer-meta a:hover{color:#eee}
.footer-social{display:flex;flex-direction:column;align-items:flex-end;gap:12px;padding-top:12px}
.social-links{display:flex;align-items:center;gap:8px}
.footer-meta .social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:11px;color:#b9b9bd;border-radius:50%;transition:color .25s,background .25s,filter .25s,transform .25s}
.social-links svg{display:block;width:22px;height:22px}
.footer-meta .social-links a:hover,.footer-meta .social-links a:focus-visible{color:#ed867f;background:#af27271f;filter:drop-shadow(0 0 8px #c7373759)}
@media(max-width:700px){.footer-meta{flex-direction:column}.footer-social{align-items:flex-start;padding-top:0}}
.closing-line{margin:0;padding:clamp(60px,10vw,140px) 0;font:italic clamp(2rem,5.2vw,5.5rem)/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.035em;text-align:center;color:#c2c2c0;text-wrap:balance}
.reveal{opacity:1;transform:none;transition:opacity .9s ease,transform .9s ease}.will-reveal{opacity:0;transform:translateY(24px)}
@media(max-width:700px){.art-position{left:3%;width:94%}.hero-controls{bottom:max(20px,env(safe-area-inset-bottom))}.belief-section,.light-section,.gray-section{padding:76px var(--gutter)}.statement{font-size:clamp(2.15rem,8.7vw,3.8rem);line-height:1.18}.meanings{grid-template-columns:1fr;gap:40px;margin-top:55px}.meanings h3{font-size:1.75rem;margin-bottom:12px}.light-section,.gray-section{min-height:55svh}.footer-meta{font-size:.8125rem;gap:12px}.closing-line{padding:60px 0 80px}}
@media(orientation:landscape) and (max-height:550px){.hero{min-height:280px}.art-position{left:12%;width:76%}.hero-controls{bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}

/* A stronger red-and-gray response throughout the experience. */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#c32923,#d2d2d2);transform:scaleX(var(--page-progress,0));transform-origin:left;z-index:9;pointer-events:none}
.belief-section,.light-section,.gray-section,.site-footer{position:relative;isolation:isolate;--pointer-x:50%;--pointer-y:50%}
.belief-section:before,.gray-section:before,.site-footer:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 380px 260px at var(--pointer-x) var(--pointer-y),#a921202c,transparent 75%);opacity:0;transition:opacity .55s}
.belief-section:hover:before,.gray-section:hover:before,.site-footer:hover:before,.touch-active:before{opacity:1}
.light-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle 190px at var(--pointer-x) var(--pointer-y),#121213 0%,#38383a 58%,transparent 100%);opacity:0;transition:opacity .6s}
.light-section:hover:before,.light-section.touch-active:before{opacity:1}
.light-section .statement{color:#fff;mix-blend-mode:difference}
.statement .word{display:inline-block;opacity:var(--lit,1);transition:color .3s,transform .35s,opacity .35s}
.belief-section .word:hover,.gray-section .word:hover,.word.word-touched{color:#e15a50;transform:translateY(-3px)}
.light-section .word:hover,.light-section .word.word-touched{color:#fff;transform:translateY(-3px)}
.meanings h3{transition:color .4s,letter-spacing .4s}.meanings>div:hover h3{color:#d45147;letter-spacing:.03em}
.scroll-link,.footer-meta a{transition:transform .25s ease,color .25s ease}.scroll-link:hover,.footer-meta a:hover{color:#e1766d}
@media(max-width:700px){.light-section:before{background:radial-gradient(circle 130px at var(--pointer-x) var(--pointer-y),#121213 0%,#38383a 55%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.statement .word{opacity:1!important;transform:none!important}.scroll-link,.footer-meta a{transform:none!important}}

/* A luminous closing signature, revealed by scrolling on desktop and touch screens. */
.closing-line{--arrival:1;position:relative;isolation:isolate;padding-top:clamp(80px,11vw,160px);padding-bottom:clamp(90px,12vw,170px)}
.closing-line:before{content:"";position:absolute;inset:12% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 38% 48%,#dc292b42,transparent 60%),radial-gradient(ellipse at 67% 52%,#d4d8e41c,transparent 58%);filter:blur(24px);opacity:var(--arrival);transform:scale(calc(.8 + var(--arrival)*.2));transition:opacity .3s,transform .3s}
.closing-title{display:block;font-size:clamp(3.3rem,10.5vw,9rem);line-height:1.15;letter-spacing:-.055em;color:#ed867f;background:linear-gradient(110deg,#be252c 3%,#f36d64 25%,#ffe6df 45%,#e5e8ed 56%,#a9adb5 71%,#d43b3b 92%);background-size:240% 100%;background-position:0 50%;opacity:calc(.35 + var(--arrival)*.65);transform:translateY(calc((1 - var(--arrival))*24px)) scale(calc(.96 + var(--arrival)*.04));filter:drop-shadow(0 0 7px rgb(255 81 71 / calc(.12 + var(--arrival)*.3))) drop-shadow(0 0 28px rgb(222 39 38 / calc(var(--arrival)*.4)));transition:opacity .25s,transform .25s,filter .3s}
@supports (background-clip:text) or (-webkit-background-clip:text){.closing-title{-webkit-background-clip:text;background-clip:text;color:transparent}}
.closing-rest{display:block;margin-top:20px;font-size:clamp(1.5rem,3vw,3rem);line-height:1.35;letter-spacing:-.025em;color:#d7d8dd;opacity:calc(.3 + var(--arrival)*.7);text-shadow:0 0 14px rgb(225 230 245 / calc(var(--arrival)*.35)),0 0 35px rgb(191 201 225 / calc(var(--arrival)*.2));transform:translateY(calc((1 - var(--arrival))*16px));transition:opacity .3s,transform .3s,text-shadow .3s}
.closing-in-view .closing-title{animation:closing-shimmer 7s ease-in-out infinite}
@keyframes closing-shimmer{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@media(max-width:700px){.closing-line{padding:80px 0 100px}.closing-title{font-size:clamp(3.2rem,13vw,5.5rem)}.closing-rest{margin-top:16px}.closing-line:before{filter:blur(18px)}}
@media(prefers-reduced-motion:reduce){.closing-title,.closing-rest{opacity:1;transform:none}.closing-title{animation:none!important}.closing-line:before{opacity:1;transform:none}}
