@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT,WONK@9..144,600,80,1;9..144,750,80,1&family=Manrope:wght@200;400;500;600;700&display=swap');
:root{--ink:#17131a;--paper:#fff;--pink:#ecc6df;--rose:#93406c;--muted:#b7adb9;--line:#39323e;--font:'Manrope',Arial,sans-serif;--display:'Fraunces','Cooper Black',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ink);color:#faf8fa;font-family:var(--font);font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #b1cf56;outline-offset:6px}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--display);font-weight:750;font-variation-settings:'SOFT' 80,'WONK' 1}em{font-family:var(--display);font-weight:inherit}::selection{background:var(--pink);color:var(--ink)}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--pink);color:var(--ink);padding:12px}.skip-link:focus{top:15px}.site-header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}/* Crop the supplied concept card in layout so the approved lettering stays exact.
   Invert + screen renders its black ink in white on the dark header/footer. */
.wordmark{position:relative;display:block;width:260px;aspect-ratio:1260/310;flex:none;overflow:hidden;mix-blend-mode:screen}
.wordmark img{position:absolute;width:121.904762%;max-width:none;height:auto;left:-11.111111%;top:-114.516129%;filter:grayscale(1) contrast(10) invert(1)}
.site-header nav{display:flex;gap:32px;align-items:center;font-size:.875rem}.site-header nav a{padding:8px 0}.site-header nav a:hover{color:var(--pink)}.nav-inquire{border-bottom:1px solid var(--pink)}.nav-inquire span{margin-left:22px}
.hero{position:relative;aspect-ratio:16/9;isolation:isolate;background:#100c13;overflow:hidden}.hero-media{position:absolute;inset:0}.hero video{display:block;width:100%;height:100%;object-fit:contain}.hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#100c138c,transparent 55%,#100c1326)}.hero-content{position:relative;z-index:1;padding:4% 5%;pointer-events:none}.hero h1{font-size:clamp(4rem,7.6vw,8.5rem);line-height:.97;letter-spacing:-.06em;text-shadow:0 2px 22px #0003}.hero h1 em{color:#ffd6eb;letter-spacing:-.055em}.hero-content>p{font-size:clamp(.8rem,1.2vw,1.05rem);margin-top:24px;text-shadow:0 1px 10px #0009}.hero-content>p span{margin:0 6px}.motion-toggle{position:absolute;bottom:25px;right:5%;z-index:3;background:#17131ac9;color:white;border:1px solid #ffffff85;border-radius:100px;font-size:.8rem;padding:10px 16px;backdrop-filter:blur(8px)}.motion-toggle:hover{background:var(--ink)}.hero-down{position:absolute;bottom:22px;left:5%;z-index:2;width:46px;height:46px;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;background:#17131a55}
.section-pad{padding:96px 6%}h2{font-size:clamp(2.8rem,4.3vw,4.8rem);line-height:1.1;letter-spacing:-.05em}h2 em{color:var(--pink);letter-spacing:-.04em}.intro{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:minmax(0,1fr) 220px;column-gap:70px;align-items:center}.intro h2 em{color:var(--rose)}.intro-copy{max-width:680px;margin-top:30px;color:#5c525e;font-size:1.05rem;line-height:1.8}.intro-copy p+p{margin-top:12px}.specs{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:28px;border-top:1px solid #ddd7dd;padding-top:26px;margin-top:36px}.specs h3{font-size:.95rem;line-height:1.5;font-weight:600}.specs p{font-size:.8rem;line-height:1.6;color:#716674;margin-top:6px;max-width:240px}.artist-credit{border-left:1px solid #ddd7dd;padding:28px 0 28px 38px}.artist-credit p{font-size:.65rem;letter-spacing:.13em;color:#716674;white-space:nowrap;margin-bottom:20px}.artist-credit img{width:180px;height:auto}
.gallery{padding-top:84px;padding-bottom:84px}.gallery>h2{margin-bottom:46px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery-wide{grid-column:1/-1}.image-button{width:100%;position:relative;display:block;border:0;padding:0;background:#28212c;overflow:hidden}.image-button img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;transition:transform .5s}.image-button:hover img{transform:scale(1.012)}.expand{position:absolute;right:16px;bottom:16px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#17131ad9;color:white;font-size:1.25rem}
.inquiry{background:var(--pink);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:60px;padding-top:76px;padding-bottom:76px}.inquiry h2 em{color:#85294e}.inquiry p{max-width:460px;margin-top:24px;color:#542d40}.inquiry-link{display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--ink);padding:12px 0;white-space:nowrap;font-size:1rem}.inquiry-link span{font-size:1.6rem}.inquiry-link:hover{color:#85294e}footer{padding:36px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .wordmark{width:240px}footer p{font-size:.875rem;color:var(--muted)}
dialog{max-width:min(1280px,94vw);max-height:94svh;width:100%;border:1px solid var(--line);padding:20px;background:var(--ink);color:#fff;overflow:auto}dialog::backdrop{background:#070409eb;backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.dialog-top h2{font-family:var(--display);font-size:1.1rem;letter-spacing:0;line-height:1.4}#close-dialog{display:flex;gap:18px;align-items:center;background:none;color:white;border:0;padding:8px 0 8px 16px;font-size:.875rem}#close-dialog span{font-size:1.75rem;line-height:1}#dialog-image{max-height:78svh;width:100%;object-fit:contain}
@media(min-width:1700px){.section-pad{padding-left:max(6%,calc((100% - 1500px)/2));padding-right:max(6%,calc((100% - 1500px)/2))}}
@media(max-width:1050px){.section-pad{padding:70px 6%}.intro{grid-template-columns:minmax(0,1fr) 180px;gap:35px}.artist-credit{padding-left:25px}.artist-credit img{width:150px}.artist-credit p{white-space:normal;line-height:1.8}.specs{gap:20px}.inquiry{gap:30px}.hero-content{padding-top:3%}.hero h1{font-size:7.6vw}.hero-content>p{margin-top:18px}}
@media(max-width:700px){.site-header{height:74px;padding:0 6%}.wordmark{width:180px}.site-header nav{gap:18px;font-size:.8rem}.site-header nav>a:first-child{display:none}.nav-inquire span{margin-left:10px}.hero{display:flex;flex-direction:column;aspect-ratio:auto;overflow:visible}.hero-content{order:0;padding:32px 6% 28px}.hero h1{font-size:clamp(3.7rem,13vw,5.8rem);line-height:1.02}.hero-content>p{font-size:.8rem;margin-top:20px;max-width:300px}.hero-media{order:1;position:relative;inset:auto;aspect-ratio:16/9;width:100%}.hero-shade,.hero-down{display:none}.motion-toggle{bottom:12px;right:12px;font-size:.7rem;padding:8px 12px}.section-pad{padding:55px 6%}h2{font-size:clamp(2.45rem,8.8vw,3.7rem)}.intro{display:block}.intro-copy{font-size:1rem;margin-top:24px}.specs{grid-template-columns:1fr;gap:0;padding-top:0;margin-top:28px}.specs>div{padding:16px 0;border-bottom:1px solid #ddd7dd}.specs p{max-width:100%;font-size:.85rem}.artist-credit{border-left:0;padding:0;margin-top:32px;display:flex;gap:28px;align-items:center}.artist-credit p{font-size:.65rem;max-width:120px;margin:0}.artist-credit img{width:135px}.gallery>h2{margin-bottom:28px}.gallery-grid{grid-template-columns:1fr;gap:18px}.gallery-wide{grid-column:auto}.expand{width:34px;height:34px;right:12px;bottom:12px}.inquiry{display:block}.inquiry p{font-size:.95rem;margin-top:20px}.inquiry-link{display:inline-flex;margin-top:24px;gap:44px;font-size:.95rem}footer{padding:30px 6%;flex-wrap:wrap;gap:16px}footer p{font-size:.8rem}dialog{padding:12px}.dialog-top{gap:10px}.dialog-top h2{font-size:.95rem}#close-dialog{gap:8px}#dialog-image{max-height:74svh}}
.intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px}
.intro .specs{grid-template-columns:1fr}.intro .specs>div:first-child{grid-column:1/-1}.intro .specs p{max-width:430px}
.intro-art{min-width:0}.flower-stage{position:relative;aspect-ratio:1;margin:0 auto;width:94%;max-width:570px;isolation:isolate}.flower-stage>img{width:100%;height:auto}.flower-neon{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
@property --glow-angle{syntax:'<angle>';inherits:true;initial-value:0deg}
.flower-neon path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.neon-trace{opacity:0;filter:brightness(1.7) drop-shadow(0 0 8px #ff8ed0)}
.neon-trace path{stroke-dasharray:1000 1000;stroke-dashoffset:1000}
.neon-halo{stroke:#f05bb5;stroke-width:20;filter:url(#neon-soft)}.neon-core{stroke:#ffb0df;stroke-width:5}
.flower-flow{position:absolute;inset:0;opacity:0;pointer-events:none;--glow-angle:0deg}
.flower-flow>span{position:absolute;inset:0}.flower-flow>span>i{position:absolute;inset:0;background:conic-gradient(from var(--glow-angle),#f680d5 0deg,#c17bf5 80deg,#729dff 180deg,#b584fa 270deg,#f680d5 360deg);-webkit-mask:url('/assets/hibiscus-outline-mask.svg') center/100% 100% no-repeat;mask:url('/assets/hibiscus-outline-mask.svg') center/100% 100% no-repeat}
.flower-flow .flow-halo{filter:blur(6px) brightness(1.7);opacity:1}.flower-flow .flow-core{filter:blur(.6px) brightness(1.7) drop-shadow(0 0 8px #bc8cff)}
/* Bright outline builds, then one continuous 4.5-second color sweep, 3-second hold, pulse and fade. */
.flower-stage.chase-run .neon-trace{animation:neon-finale 1.8s ease 12.3s both}
.flower-stage.chase-run .neon-trace path{animation:neon-draw 4.8s linear forwards}
.flower-stage.chase-run .flower-flow{animation:flow-show 4.5s linear 4.8s both,flow-drift 4.5s linear 4.8s both}
@keyframes neon-draw{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes flow-drift{from{--glow-angle:0deg}to{--glow-angle:360deg}}
@keyframes flow-show{0%,100%{opacity:0}8%,92%{opacity:1}}
@keyframes neon-finale{0%{opacity:1;filter:brightness(1.7) drop-shadow(0 0 8px #ff8ed0)}25%{opacity:1;filter:brightness(2.1) drop-shadow(0 0 13px #ff8ed0)}40%{opacity:1;filter:brightness(1.7) drop-shadow(0 0 8px #ff8ed0)}100%{opacity:0;filter:brightness(1.7) drop-shadow(0 0 8px #ff8ed0)}}
.intro-art .artist-credit{border:0;padding:0;margin:28px 0 0;display:flex;align-items:center;justify-content:center;gap:22px}.intro-art .artist-credit p{margin:0;font-size:.6rem;white-space:normal;max-width:110px;line-height:1.8}.intro-art .artist-credit img{width:120px;height:auto}
@media(max-width:1050px) and (min-width:701px){.intro{gap:30px}.intro h2{font-size:clamp(2.7rem,5vw,3.8rem)}}
@media(max-width:700px){.intro{display:flex;flex-direction:column;gap:38px}.intro-main,.intro-art{width:100%}.flower-stage{width:94%;max-width:440px}.intro .specs{grid-template-columns:1fr}.intro .specs>div:first-child{grid-column:auto}.intro-art .artist-credit{margin-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.flower-neon,.flower-flow{display:none}}

@media(max-width:700px){.site-header{height:auto;min-height:108px;padding:16px 6%;flex-direction:column;align-items:flex-start;gap:10px}.site-header nav{width:100%;justify-content:space-between;gap:20px}.site-header nav>a:first-child{display:block}}

/* Shared navigation type and rhythm with Naupaka. */
.site-header nav{gap:35px;font-family:var(--font);font-size:12px;font-weight:500;letter-spacing:.01em}
.site-header nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:#c8b9d9;text-underline-offset:7px;text-decoration-thickness:2px}
@media(max-width:700px){.site-header nav{gap:20px;font-size:12px}}

/* Shared Afterglow Studio closing section. */
.studio-close{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(36px,6vw,100px);background:var(--ink);color:#faf8f4;padding-top:96px;padding-bottom:96px}
.studio-about .eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;margin:0 0 24px;color:#d5c9d6}
.studio-about h2{font-size:clamp(32px,3.6vw,52px);line-height:1.08;letter-spacing:-.035em;margin:0 0 30px}
.studio-about>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:540px;margin:0 0 18px;color:#e1dadf}
.contact-card{border:1px solid #ffffff30;border-radius:4px;padding:clamp(24px,3vw,40px);background:#ffffff06;min-width:0}
.contact-card h3{font-size:clamp(27px,2.6vw,38px);line-height:1.12;letter-spacing:-.025em;margin:0 0 16px;font-weight:600}
.contact-card .contact-intro{font-size:13px;line-height:1.7;color:#e1dadf;margin:0 0 28px;max-width:340px}
.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-card label{display:block;font-size:11px;font-weight:500;line-height:1.5;margin-bottom:22px;color:#f1eaf0}
.contact-card input,.contact-card textarea{display:block;box-sizing:border-box;width:100%;min-width:0;border:0;border-bottom:1px solid #ffffff50;border-radius:0;background:transparent;color:#faf8f4;padding:12px 0;font:inherit;font-size:13px;line-height:1.5;outline:none;color-scheme:dark;margin-top:5px}
.contact-card input::placeholder,.contact-card textarea::placeholder{color:#bdb3be;opacity:1}
.contact-card input:focus,.contact-card textarea:focus{border-color:#ecc6df;box-shadow:0 1px #ecc6df}
.contact-card textarea{resize:vertical;min-height:90px}
.contact-submit{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:48px;padding:13px 18px;border:0;background:#e5d5e8;color:#241d29;font:inherit;font-size:13px;font-weight:600;cursor:pointer;border-radius:2px}
.contact-submit:hover{background:#f0e4f1}.contact-submit:disabled{opacity:.6;cursor:wait}
.contact-card .contact-note{font-size:10px;line-height:1.65;color:#c9becb;margin:14px 0 0}
.contact-note:empty{display:none}.contact-email{display:inline-block;margin-top:16px;font-size:12px;color:#ead9ec;text-underline-offset:4px}
.contact-success p{font-size:14px;line-height:1.7}.contact-success .contact-submit{margin-top:24px}
@media(max-width:800px){.studio-close{grid-template-columns:1fr;gap:36px;padding-top:64px;padding-bottom:64px}.studio-about>p:not(.eyebrow){max-width:620px}.contact-card{width:100%;box-sizing:border-box}}
@media(max-width:440px){.contact-row{grid-template-columns:1fr;gap:0}.studio-about h2{font-size:34px}.contact-card{padding:24px 20px}}

/* Shared Afterglow Studio wordmark. */
.afterglow-logo{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:max-content;color:inherit;text-decoration:none;line-height:1}
.afterglow-logo .afterglow-name{display:block;font-family:'Manrope',Arial,sans-serif;font-size:48px;font-weight:200;letter-spacing:-.055em;line-height:1}
.afterglow-logo .afterglow-studio{display:block;font-family:'Manrope',Arial,sans-serif;font-size:9px;font-weight:400;letter-spacing:.5em;line-height:1.3;margin-top:9px;padding-left:.5em}
@media(max-width:700px){.afterglow-logo .afterglow-name{font-size:36px}.afterglow-logo .afterglow-studio{font-size:7px;margin-top:7px}}
