@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+KR:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');
@import url('/art.css');
@import url('/motion.css');
:root{--paper:#f4f3ed;--ink:#092a52;--blue:#073fc4;--ice:#cfe9f1;--orange:#ff8239;--line:#bac3c7;--mono:'IBM Plex Mono',monospace;--sans:'Space Grotesk','Noto Sans KR',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:6px}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;position:relative;z-index:20;background:var(--paper)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:22px;letter-spacing:-1px}.brand img{width:21px;height:31px;object-fit:contain}.brand>span{font-size:10px;align-self:flex-start;padding-top:4px}nav{display:flex;gap:7px}nav a{font-size:13px;padding:11px 17px;border:1px solid transparent;border-radius:30px}nav a:hover,nav a[aria-current]{border-color:var(--ink)}.menu{display:none}.skip{position:absolute;left:20px;top:-70px;z-index:30;background:white;padding:15px}.skip:focus{top:0}.hero{min-height:850px;height:calc(100svh - 108px);max-height:1120px;margin:0 18px;position:relative;overflow:hidden;background:var(--ice);border-radius:5px;padding:0 3.3%;isolation:isolate}.hero-word{font-size:clamp(80px,15.6vw,280px);line-height:1.12;font-weight:700;letter-spacing:-.085em;white-space:nowrap;position:relative;z-index:2}.hero-copy{position:absolute;bottom:104px;left:3.6%;right:3.6%;display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:end;z-index:4}.hero h1{font-size:clamp(36px,4.1vw,72px);letter-spacing:-.065em;line-height:1.26;margin:0;font-weight:700}.hero-copy>div{max-width:470px;margin-left:auto}.hero p{font-size:15px;line-height:1.95;word-break:keep-all}.actions{display:flex;gap:10px;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid currentColor;border-radius:30px;padding:14px 21px;font-size:13px;background:transparent;cursor:pointer;transition:background .25s,color .25s}.button:hover{background:var(--ink);color:var(--paper)}.button svg{width:17px;height:17px}.hero .button:first-child{background:var(--ink);color:white;border-color:var(--ink)}.hero-bottom{position:absolute;bottom:25px;left:3.6%;right:3.6%;display:flex;justify-content:space-between;border-top:1px solid #092a5233;padding-top:16px;font:10px var(--mono);letter-spacing:1px}.sculpture{position:absolute;width:490px;height:490px;top:17%;left:46%;transform:rotate(-23deg);perspective:800px;z-index:1;filter:drop-shadow(18px 28px 24px #164da633);animation:float 12s ease-in-out infinite}.orbital{position:absolute;border-radius:50%;border:58px solid transparent;background:linear-gradient(125deg,#b9f9ff,#1d71ec 25%,#062d91 48%,#ff993d 68%,#fff4b9 82%,#397ef1) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;box-shadow:inset 10px 7px 14px #fff8,15px 12px 28px #143d7580;inset:30px;transform:rotateY(35deg)}.o2{inset:90px 5px;transform:rotateZ(60deg) rotateY(40deg);border-width:43px}.o3{inset:0 115px;transform:rotateZ(-40deg) rotateY(35deg);border-width:29px}.spark{position:absolute;right:0;top:25%;font-size:110px;color:#fffde2;text-shadow:0 0 30px #ffc256;transform:rotate(23deg)}@keyframes float{50%{transform:translateY(-23px) rotate(-12deg)}}.section{padding:110px 5.7%}.section-label{display:flex;gap:45px;font:11px var(--mono);letter-spacing:1px;text-transform:uppercase;margin-bottom:56px}.section-label span:last-child{margin-left:auto}.section h2,.statement h2,.photo-feature h2{font-size:clamp(32px,4.2vw,65px);font-weight:500;line-height:1.25;letter-spacing:-.055em;margin:0 0 55px;word-break:keep-all}.ax-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding:40px 0 75px;border-bottom:1px solid var(--line)}.ax-type{font-size:240px;font-weight:500;letter-spacing:-24px;line-height:1}.ax-type>span{font-size:80px;vertical-align:top;display:inline-block;padding:20px}.ax-feature h3{font-size:30px;font-weight:500;line-height:1.4;letter-spacing:-1px}.ax-feature p{max-width:380px}.product-row{display:grid;grid-template-columns:50px 1fr 1.2fr 40px;gap:25px;align-items:start;padding:48px 0;border-bottom:1px solid var(--line);transition:padding .3s}.product-row:hover{padding-left:15px;padding-right:15px}.row-no{font:11px var(--mono);padding-top:13px}.product-row h2{font-size:48px;margin:0;letter-spacing:-2px}.product-row h3{font-size:20px;line-height:1.55;font-weight:500;margin:0 0 15px;word-break:keep-all}.product-row p,p{font-size:15px;line-height:1.9;word-break:keep-all;color:inherit}.product-row p{opacity:.72}.row-arrow svg{width:30px;height:30px}.photo-feature{background:#092844;color:#f0f2e7;margin:0 18px;padding:75px 4.4% 100px;border-radius:5px;overflow:hidden}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.photo-grid p{max-width:440px;margin-bottom:35px;color:#bbced5}.lens{aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#0c365a 0 3px,#396780 4px,#091f3c 7px,#103250 10px);padding:22%;position:relative;box-shadow:0 0 70px #6098ff20;transform:rotate(-15deg)}.lens>div{height:100%;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e5faff,#64bde3 10%,#154480 35%,#09152d 63%,#fb8643 95%);box-shadow:0 0 40px #286ed8}.lens span{position:absolute;bottom:10%;left:42%;font:12px var(--mono);letter-spacing:2px}.page-hero{padding:65px 5.7% 100px;background:var(--ice);margin:0 18px;min-height:650px;position:relative;overflow:hidden}.page-hero h1{font-size:clamp(38px,5.5vw,82px);letter-spacing:-.06em;font-weight:600;line-height:1.23;margin:0;position:relative;z-index:1;max-width:1000px}.hero-description{margin:40px 0 0 auto;width:42%;position:relative;z-index:1}.ghost-word{position:absolute;bottom:-65px;left:3%;font-size:220px;letter-spacing:-15px;font-weight:700;opacity:.055;white-space:nowrap}.steps,.features{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.steps article,.features article{border-top:1px solid var(--ink);padding-top:25px}.steps span,.features span{font:12px var(--mono)}.steps h3{font-size:32px;margin:45px 0 20px;font-weight:500}.features{grid-template-columns:repeat(3,1fr)}.features h2{font-size:30px;margin:50px 0 20px}.statement{background:var(--ink);color:var(--paper);padding:80px 5.7%;margin:0 18px}.statement p{max-width:620px;color:#bed0db}.statement .button{margin-top:25px}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:start}.split h2{margin:0}.record-flow{display:flex;justify-content:space-around;align-items:center;padding:70px 20px;background:#d8e7e8;margin-top:60px;font:17px var(--mono)}.record-flow i{font-style:normal}.qa-list details{border-top:1px solid var(--line);padding:29px 0}.qa-list summary{list-style:none;display:flex;align-items:center;gap:40px;font-size:23px;cursor:pointer;word-break:keep-all}.qa-list summary::-webkit-details-marker{display:none}.qa-list summary span{font:12px var(--mono)}.qa-list summary b{margin-left:auto;font-weight:400}.qa-list details[open] summary b{transform:rotate(45deg)}.qa-list details p{max-width:760px;margin:25px 0 10px 65px;color:#456079}.cleaner{background:var(--ink);color:var(--paper);padding:45px;margin-top:65px;border-radius:4px}.cleaner h2{font-size:42px;margin-bottom:28px}.cleaner h3{font-size:25px;font-weight:500}.availability{display:inline-block;border:1px solid #8093a5;padding:10px 17px;border-radius:30px;font-size:12px;margin:20px 0}.cleaner small{display:block;color:#abbccc;font-size:11px}blockquote{margin:60px 0 0;padding:48px;background:var(--ink);color:white;font-size:27px;line-height:1.65;border-radius:5px}.country-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:70px}.country-list article{border-top:1px solid var(--ink);padding:25px 0}.country-list span,.country-list small{font:11px var(--mono)}.country-list h3{font-size:28px;margin-top:55px;letter-spacing:-1px}.blog-list article{border-top:1px solid var(--line);padding:35px 0 45px}.blog-list article>span{font:11px var(--mono)}.blog-list h2{font-size:35px;margin:25px 0 10px}.contact-form{max-width:900px;margin:auto}.contact-form label{display:block;margin-bottom:20px}.contact-form textarea{width:100%;padding:20px;border:1px solid var(--line);background:transparent;color:var(--ink);resize:vertical;line-height:1.8;margin-bottom:20px}.contact p{max-width:500px;margin-top:35px}footer{padding:90px 5.7% 30px}.footer-top{display:flex;justify-content:space-between;align-items:center}.footer-top p{font-size:24px}.footer-word{display:block;font-size:clamp(55px,12vw,220px);letter-spacing:-.08em;font-weight:600;line-height:1.5;border-bottom:1px solid var(--line);white-space:nowrap}.footer-word span{font-weight:400;margin-left:30px}.footer-meta{display:flex;justify-content:space-between;font:10px var(--mono);padding-top:25px;gap:15px}.reveal{animation:appear .8s both}@keyframes appear{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(min-width:1800px){body{max-width:2000px;margin:auto}}@media(max-width:900px){nav{gap:0}nav a{padding:10px;font-size:11px}.hero{min-height:800px}.sculpture{width:390px;height:390px;left:43%;top:15%}.hero-copy{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:37px}.hero p{font-size:13px}.ax-type{font-size:170px}.ax-type>span{font-size:50px}.product-row{grid-template-columns:30px 1fr 1.3fr 25px;gap:15px}.product-row h2{font-size:33px}.steps{grid-template-columns:repeat(2,1fr)}.country-list h3{font-size:20px}}
@media(max-width:620px){header{height:75px;padding:0 22px}.brand{font-size:19px}.menu{display:block;border:1px solid var(--ink);background:transparent;border-radius:20px;font-size:12px;padding:8px 15px}nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:20px;flex-wrap:wrap;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{font-size:15px;padding:13px 18px}.hero{margin:0 8px;min-height:820px;height:auto;padding:14px 18px}.hero-word{font-size:16vw;letter-spacing:-.075em}.sculpture{width:300px;height:300px;left:calc(50% - 135px);top:105px}.orbital{border-width:36px}.o2{border-width:28px}.o3{border-width:20px}.spark{font-size:70px}.hero-copy{left:24px;right:24px;bottom:80px;display:block}.hero h1{font-size:35px}.hero-copy>div{margin:22px 0 0;max-width:none}.hero p{font-size:13px;line-height:1.8}.hero-bottom{font-size:8px;left:24px;right:24px}.actions{margin-top:20px}.button{padding:12px 16px;gap:20px;font-size:12px}.section{padding:65px 25px}.section-label{font-size:9px;gap:23px;margin-bottom:36px}.section h2,.statement h2,.photo-feature h2{font-size:33px;margin-bottom:30px}.ax-feature{display:block;padding-top:0}.ax-type{font-size:145px;letter-spacing:-15px}.ax-type>span{font-size:50px}.ax-feature h3{font-size:24px}.product-row{grid-template-columns:25px 1fr 25px;padding:30px 0;gap:12px}.product-row h2{font-size:35px;margin:0}.product-row>div{grid-column:2;grid-row:2}.row-arrow{grid-column:3;grid-row:1}.product-row h3{font-size:17px}.product-row p{font-size:13px}.photo-feature{margin:0 8px;padding:40px 25px 55px}.photo-grid{grid-template-columns:1fr;gap:40px}.lens{max-width:300px;width:100%;margin:auto}.page-hero{margin:0 8px;padding:45px 25px 65px;min-height:500px}.page-hero h1{font-size:37px}.hero-description{width:100%;margin-top:30px}.ghost-word{font-size:120px;bottom:-25px;letter-spacing:-8px}.steps,.features,.split,.country-list{grid-template-columns:1fr;gap:35px}.steps h3{margin-top:25px}.features h2{margin-top:30px}.statement{margin:0 8px;padding:45px 25px}.record-flow{padding:35px 12px;font-size:11px}.qa-list summary{font-size:17px;gap:18px}.qa-list details p{margin-left:32px;font-size:14px}.cleaner{padding:28px}.cleaner h3{font-size:21px}blockquote{padding:25px;font-size:20px}.country-list{gap:15px}.country-list h3{margin-top:25px;font-size:26px}.footer-top{display:block}.footer-top p{font-size:21px}.footer-word{font-size:13vw;padding:30px 0 15px}.footer-word span{margin-left:10px}.footer-meta{flex-direction:column;line-height:1.5}footer{padding:65px 25px 30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Locale selection is intentionally independent from the copy until translations are approved. */
.language-switcher{position:relative;margin-left:4px}.language-trigger{height:38px;min-width:62px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:12px var(--mono);cursor:pointer}.language-trigger svg{width:12px;height:12px}.language-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:92px;padding:6px;background:var(--paper);border:1px solid var(--ink);border-radius:4px;box-shadow:0 12px 26px #092a5220}.language-menu button{display:block;width:100%;padding:9px 10px;border:0;background:transparent;color:var(--ink);text-align:left;font:12px var(--mono);cursor:pointer}.language-menu button:hover,.language-menu button[aria-current="true"]{background:var(--ice)}
.header-actions{display:flex;align-items:center;gap:10px}.language-switcher{margin-left:0}@media(max-width:620px){.header-actions{margin-left:auto;gap:8px}.language-switcher{width:auto;margin:0}.language-trigger{height:40px;min-width:68px}.language-menu{left:0;right:auto;top:calc(100% + 5px)}}
@media(max-width:620px){header{flex-wrap:nowrap}.header-actions{position:absolute;top:17px;right:22px;display:flex!important;flex-flow:row nowrap!important;align-items:center;gap:8px;width:max-content}.header-actions>*{flex:0 0 auto}.header-actions .language-switcher{order:0;width:auto;margin:0}.header-actions .menu{order:1;white-space:nowrap;flex:0 0 auto;padding:8px 12px}.header-actions .language-trigger{min-width:60px}}
@media(max-width:350px){header{padding:0 16px}.brand{gap:7px;font-size:17px}.brand img{width:18px;height:28px}.header-actions{right:16px;gap:6px}.header-actions .menu{padding:8px 10px;font-size:11px}.header-actions .language-trigger{min-width:56px;font-size:11px}}
/* LePhoto is a concentric circular record: never allow its central surface to stretch into an ellipse. */
.photo-grid .lens{width:min(100%,560px);height:auto;aspect-ratio:1/1;justify-self:center;align-self:center;padding:0}.photo-grid .lens>div{position:absolute;inset:22%;width:auto;height:auto;aspect-ratio:1/1;border-radius:50%}
/* Contact is form-first. The selected language, not visitor location, chooses one chat route. */
.contact-form form{display:grid;gap:24px}.contact-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-form label{display:grid;gap:10px;margin:0;font-size:14px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);padding:15px;font:inherit;line-height:1.6}.contact-form textarea{margin:0}.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.contact-send{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-send>section{border-top:1px solid var(--line);padding-top:18px}.contact-send p{margin:20px 0 0;font-size:13px;line-height:1.7;color:#456079}.contact-send .contact-send-label{margin:0 0 20px;font:11px var(--mono);letter-spacing:1px;color:var(--ink)}.contact-channel{display:inline-flex}.contact-channel[hidden]{display:none!important}#contact-status{margin:0;color:#456079;font-size:13px}#contact-status:empty{display:none}.contact-form .button{font-family:var(--sans)}.contact-form .button:disabled{cursor:wait;opacity:.65}
@media(min-width:901px){.ax-page .hero-description{transform:translateY(-68px)}.ax-page .ghost-word{bottom:22px;left:5.7%;font-size:clamp(72px,8.6vw,128px);letter-spacing:-.07em;line-height:1}}
.hero .button:first-child:hover,.hero .button:first-child:focus-visible{background:var(--paper);color:var(--ink);border-color:var(--ink)}
.photo-feature .button:hover,.photo-feature .button:focus-visible,.statement .button:hover,.statement .button:focus-visible,.cleaner .button:hover,.cleaner .button:focus-visible{background:var(--paper);color:var(--ink);border-color:var(--paper)}
@media(max-width:620px){.contact-fields,.contact-send{grid-template-columns:1fr}.contact-send .button{width:100%}}
.country-list small a{text-decoration:underline;text-underline-offset:3px}
/* The language menu uses ordinary links so it also works without JavaScript. */
.language-menu a{display:block;width:100%;padding:9px 10px;color:var(--ink);text-align:left;font:12px var(--mono);cursor:pointer}.language-menu a:hover,.language-menu a[aria-current="true"]{background:var(--ice)}
/* English and Indonesian need more breathing room than Korean at every breakpoint. */
html[lang="en"] body,html[lang="id"] body{word-break:normal}html[lang="en"] .hero h1,html[lang="id"] .hero h1{letter-spacing:-.055em;max-width:12ch}html[lang="en"] .page-hero h1,html[lang="id"] .page-hero h1{letter-spacing:-.052em;max-width:13ch}html[lang="en"] .hero-copy>div,html[lang="id"] .hero-copy>div{max-width:520px}html[lang="en"] .product-row h3,html[lang="id"] .product-row h3{line-height:1.42}html[lang="en"] .qa-list summary,html[lang="id"] .qa-list summary{line-height:1.35}
@media(max-width:900px){html[lang="en"] .hero h1,html[lang="id"] .hero h1{font-size:clamp(32px,4.8vw,48px)}html[lang="en"] .page-hero h1,html[lang="id"] .page-hero h1{font-size:clamp(34px,5vw,56px)}}
@media(max-width:620px){html[lang="en"] .hero h1,html[lang="id"] .hero h1{font-size:31px;line-height:1.2;max-width:11ch}html[lang="en"] .page-hero h1,html[lang="id"] .page-hero h1{font-size:34px;line-height:1.15;max-width:12ch}html[lang="en"] .hero p,html[lang="id"] .hero p{line-height:1.65}html[lang="en"] .actions,html[lang="id"] .actions{gap:7px}html[lang="en"] .actions .button,html[lang="id"] .actions .button{gap:10px;padding-inline:13px}html[lang="en"] .record-flow,html[lang="id"] .record-flow{gap:8px;justify-content:space-between}html[lang="en"] .footer-word,html[lang="id"] .footer-word{font-size:12vw}}

/* Footer legal links and their dedicated readable documents. */
.footer-meta{align-items:center}.footer-legal{display:flex;gap:18px}.footer-legal a{padding:0;border:0;border-radius:0;text-decoration:underline;text-underline-offset:3px}.footer-legal a:hover,.footer-legal a:focus-visible{border-color:transparent;color:var(--blue)}.legal-page{max-width:1020px;margin:0 auto;padding-top:80px}.legal-heading{border-bottom:1px solid var(--line);padding-bottom:52px}.legal-heading .section-label{margin-bottom:32px}.legal-heading h1{font-size:clamp(44px,6vw,80px);line-height:1.08;letter-spacing:-.06em;margin:0}.legal-updated{margin:26px 0 0;font:11px var(--mono);letter-spacing:.04em}.legal-content{max-width:760px;padding-top:62px}.legal-content section{border-top:1px solid var(--line);padding:34px 0}.legal-content h2{font-size:25px;line-height:1.35;letter-spacing:-.035em;margin:0 0 20px}.legal-content p{margin:0 0 16px;white-space:pre-line}.legal-content .legal-intro{font-size:19px;line-height:1.75;margin:0 0 48px}
@media(max-width:620px){.footer-meta{align-items:flex-start}footer .footer-legal{position:static;top:auto;right:auto;bottom:auto;left:auto;display:flex;padding:0;background:transparent;border:0;flex-wrap:wrap;gap:14px}footer .footer-legal a{padding:0;font-size:10px}.legal-page{padding-top:58px}.legal-heading{padding-bottom:38px}.legal-content{padding-top:45px}.legal-content h2{font-size:21px}.legal-content .legal-intro{font-size:17px}.legal-content section{padding:28px 0}}

/* LePhoto's public QR destination explains app-side file verification only. */
.app-download{border-top:1px solid var(--line)}.app-download h2{margin-bottom:18px}.app-download p{max-width:560px}.store-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.store-button{display:inline-flex;align-items:center;min-height:48px;padding:12px 20px;border:1px solid var(--line);border-radius:999px;color:#456079;font-size:13px;cursor:not-allowed;user-select:none}
@media(max-width:620px){.store-buttons{display:grid;grid-template-columns:1fr}.store-button{justify-content:center}}

.legal-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em;color:var(--blue)}
.legal-content a:hover,.legal-content a:focus-visible{color:var(--ink)}
