/* Public landing page. Existing demo styles remain in style.css. */
:root{--primary:#1E3A8A;--ink:#1F2937;--muted:#657084;--brand-tint:#DBEAFE}html{scroll-padding-top:100px}body{background:#fff;color:var(--ink)}.wrap{width:min(1200px,calc(100% - 64px))}.header{position:sticky;top:0;z-index:20;height:84px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.header-inner{width:min(1320px,calc(100% - 64px))}.brand{font-size:18px}.brand b{font-size:25px}.landing-nav{display:flex;gap:30px;font-size:14px;font-weight:600;color:#556075}.landing-nav a:hover,.footer-links a:hover{color:var(--primary)}.landing-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:56px;padding:15px 23px;background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:9px;font-size:16px;font-weight:700;transition:background .2s,transform .2s}.landing-button:hover{background:#182E6E;transform:translateY(-2px)}.landing-button span{font-size:21px;line-height:1}.header-cta{min-height:43px;padding:10px 17px;font-size:13px;gap:20px}.landing-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;padding-top:86px;padding-bottom:88px}.landing-eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750;color:var(--primary);letter-spacing:.09em;margin-bottom:23px}.status-dot{display:inline-block;width:7px;height:7px;background:#182E6E;border-radius:50%;flex-shrink:0}.landing-hero h1{font-size:clamp(44px,4.6vw,64px);line-height:1.2;letter-spacing:-.06em;color:var(--ink);font-weight:800}.landing-hero h1 span{color:var(--primary)}.hero-description{font-size:18px;line-height:1.85;color:var(--muted);margin-top:25px}.hero-actions{display:flex;gap:12px;margin-top:32px}.landing-button.outline{color:var(--ink);background:#fff;border-color:#E2E8F0}.landing-button.outline:hover{background:#f4f6fa}.hero-footnote{font-size:12px;color:#7b8494;margin-top:17px}.hero-footnote span{margin:0 8px}.hero-visual{background:#f0f3f9;border:1px solid #E2E8F0;border-radius:20px;padding:26px;box-shadow:0 24px 65px -30px #33477744;transform:rotate(-1deg)}.visual-topline,.visual-topline>span,.visual-title,.visual-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px}.visual-topline{font-size:13px;padding-bottom:24px;border-bottom:1px solid #E2E8F0}.example-pill{display:inline-block;font-size:10px;color:#657184;background:#e5eaf2;border-radius:5px;padding:4px 8px;font-weight:500}.visual-title{padding:27px 0}.visual-title small{font-size:11px;color:#7b8595}.visual-title h2{font-size:29px;letter-spacing:-.055em;margin-top:8px}.visual-check{width:63px;height:63px;border-radius:50%;background:var(--brand-tint);font-size:31px;color:#182E6E;display:grid;place-items:center;transform:rotate(12deg);flex-shrink:0}.checkin-ticket{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #E2E8F0;border-radius:10px;padding:18px 15px;box-shadow:0 6px 15px #192e4710}.ticket-avatar{background:#eaf0fc;color:var(--primary);display:grid;place-items:center;width:41px;height:41px;border-radius:50%;font-size:17px}.checkin-ticket strong{font-size:14px}.checkin-ticket strong small{font-size:10px;color:#8b94a3;font-weight:500;margin-left:7px}.checkin-ticket p{font-size:11px;color:#7d8999;margin-top:3px}.success-pill{font-size:10px;border-radius:5px;color:#182E6E;background:#EFF6FF;padding:5px 8px;margin-left:auto;white-space:nowrap}.flow-line{display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;color:#6e7da0;height:58px}.flow-line span{width:28px;height:1px;background:#b9c6df}.visual-docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.visual-document{background:white;border:1px solid #E2E8F0;border-radius:9px;padding:13px 11px}.visual-document>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.document-symbol{font-size:22px;color:var(--primary)}.doc-number{font-size:9px;color:#a5afbf}.visual-document strong{font-size:13px;display:block}.visual-document small{font-size:9px;color:#8893a5;display:block;margin-top:5px}.visual-document i{display:block;height:4px;background:#eff2f7;margin-top:10px;width:85%}.visual-document i+i{width:65%;margin-top:5px}.doc-connected{display:block;border-top:1px solid #E2E8F0;padding-top:9px;margin-top:20px;font-size:9px;color:#536ba2}.visual-bottom{justify-content:center;font-size:10px;color:#7b879b;padding-top:23px;gap:7px}.visual-bottom .status-dot{width:5px;height:5px}.landing-band{background:#f5f7f9;border-top:1px solid #E2E8F0;border-bottom:1px solid #E2E8F0}.band-inner{display:flex;justify-content:space-around;align-items:center;padding-block:23px;font-size:15px;font-weight:600;color:#4d5b70}.band-inner b{font-size:20px;font-weight:400;color:#a5b2c4}.landing-section{padding-block:98px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px}.landing-section h2,.demo-intro h2,.manager-copy h2,.faq-section h2,.signup-section h2{font-size:38px;line-height:1.35;letter-spacing:-.055em}.section-heading p,.demo-intro p,.manager-copy>p{font-size:16px;color:var(--muted);line-height:1.85}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.feature-card{border:1px solid #E2E8F0;border-radius:14px;padding:29px;background:#fafbfc}.feature-index{font-size:11px;font-weight:600;color:#8a93a1;letter-spacing:.02em}.feature-icon{display:grid;place-items:center;width:44px;height:44px;margin-block:26px 20px;border-radius:10px;background:#eaf0ff;font-size:28px;color:var(--primary)}.feature-card:nth-child(2){background:#f0f3fb}.feature-card:nth-child(3) .feature-icon{background:#DBEAFE;color:#182E6E}.feature-card h3{font-size:24px;line-height:1.4}.feature-card p{font-size:14px;line-height:1.85;margin-top:17px;color:var(--muted)}.feature-card a{display:flex;justify-content:space-between;font-size:12px;font-weight:650;margin-top:30px;padding-top:20px;border-top:1px solid #E2E8F0;color:var(--primary)}.demo-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-block:16px 32px}.demo-intro p{margin-top:18px}.demo-intro-note{display:grid;gap:10px;font-size:12px;color:#6d7c91}.demo-intro-note span:before{content:'✓';color:#182E6E;margin-right:10px}.demo-shell{border:1px solid #E2E8F0;border-radius:14px;background:#f5f7fb;overflow:hidden;scroll-margin-top:20px}.demo-shell>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:26px 30px}.demo-shell>summary::-webkit-details-marker{display:none}.demo-shell>summary b{font-size:17px}.demo-shell>summary small{display:block;color:#7d8797;font-size:12px;margin-top:6px}.demo-toggle{display:flex;align-items:center;gap:15px;font-size:13px;font-weight:650;color:var(--primary);white-space:nowrap}.demo-toolbar{padding:8px 28px;border-top:1px solid #E2E8F0;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#738097}.demo-shell .workbench{border-radius:0;border-width:1px 0 0;box-shadow:none}.demo-shell .workspace{min-width:0}.demo-shell .preview-column{min-width:0}.bottom-strip{padding-block:28px}.manager-section{display:grid;grid-template-columns:1.05fr 1fr;gap:85px;align-items:center;padding-block:85px 100px}.manager-art{background:#f6f8fb;border:1px solid #E2E8F0;border-radius:16px;padding:26px}.manager-art-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:650;margin-bottom:22px}.review-row{display:flex;gap:13px;align-items:center;padding:21px 17px;margin-bottom:10px;background:white;border:1px solid #E2E8F0;border-radius:8px}.review-row>span{font-size:11px;color:#9ba7b9}.review-row b{display:block;font-size:14px}.review-row small{display:block;font-size:11px;color:#8b97a8;margin-top:4px}.review-row i{margin-left:auto;font-style:normal;color:#182E6E}.manager-art-foot{text-align:center;font-size:11px;color:#8390a3;margin-top:24px}.manager-copy>p{margin-top:22px}.document-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:23px;max-width:370px}.document-chips span{font-size:11px;background:#f3f5f8;border:1px solid #E2E8F0;border-radius:5px;padding:6px 9px;color:#6f7c91}.text-link{display:inline-block;font-size:13px;font-weight:650;color:var(--primary);margin-top:25px}.faq-section{display:grid;grid-template-columns:1fr 1.6fr;gap:65px;border-top:1px solid #E2E8F0;padding-block:70px 100px}.faq-list details{border-bottom:1px solid #E2E8F0}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;padding:23px 0;cursor:pointer;font-size:16px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:23px;font-weight:400;color:#7d8da3;flex-shrink:0}.faq-list details[open] summary:after{content:'−'}.faq-list p{padding-bottom:24px;color:var(--muted);font-size:14px;line-height:1.8}.signup-section{background:#1E3A8A;color:white;border-radius:18px;padding:48px 55px;display:flex;align-items:center;justify-content:space-between;gap:30px}.signup-section .landing-eyebrow{color:#c5d4fc;font-size:10px}.signup-section p{font-size:14px;color:#c7d2ec;line-height:1.8;margin-top:19px}.light-button{background:var(--brand-tint);border-color:var(--brand-tint);color:#1E3A8A;flex-shrink:0}.light-button:hover{background:#DBEAFE;color:#1E3A8A}.landing-footer{display:flex;align-items:start;justify-content:space-between;padding-block:49px 42px;border:none;margin-top:15px;gap:20px}.landing-footer p{font-size:12px;margin-top:15px;color:#778296}.landing-footer small{display:block;font-size:10px;color:#9ca5b3;margin-top:8px}.footer-links{display:flex;gap:24px;font-size:12px;color:#667388;padding-top:14px}summary:focus-visible{outline:3px solid #658ce2;outline-offset:-3px}
@media(min-width:851px){.demo-shell .workspace{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.demo-shell .input-column{padding:0 25px 28px}.demo-shell .preview-column{padding:27px 24px}.demo-shell .steps{padding-inline:25px}.demo-shell .steps ol{gap:38px}}
@media(max-width:1050px){.landing-hero{gap:30px}.landing-hero h1{font-size:49px}.hero-visual{padding:20px}.landing-nav{gap:18px}.manager-section{gap:40px}.feature-card{padding:23px}.visual-document{padding:11px 8px}.section-heading p{font-size:14px}}
@media(max-width:850px){.wrap,.header-inner{width:calc(100% - 40px)}.header{height:72px}.landing-nav{display:none}.landing-hero{grid-template-columns:1fr;gap:44px;padding-block:48px 55px}.landing-hero h1{font-size:52px}.hero-visual{width:100%;max-width:540px;margin-inline:auto;transform:none;padding:24px}.hero-description{font-size:17px}.hero-actions{margin-top:26px}.landing-section{padding-block:65px}.section-heading{display:block}.section-heading p{margin-top:20px}.feature-grid{gap:12px}.feature-card{padding:19px}.feature-card h3{font-size:20px}.feature-card p{font-size:12px}.landing-section h2,.demo-intro h2,.manager-copy h2,.faq-section h2,.signup-section h2{font-size:32px}.demo-intro{align-items:start}.demo-intro-note{font-size:10px;padding-top:32px}.manager-section{gap:35px;padding-block:55px 65px}.manager-art{padding:18px}.review-row{padding:16px 12px}.review-row b{font-size:12px}.review-row small{font-size:10px}.manager-copy>p{font-size:14px}.faq-section{gap:28px;grid-template-columns:1fr 1.4fr;padding-block:50px 65px}.faq-list summary{font-size:14px}.signup-section{padding:35px}.footer-links{gap:15px}.band-inner{font-size:12px}.demo-shell .workbench{margin:0;width:100%}.demo-shell .preview-column{padding:24px 22px}.demo-shell .input-column{padding:0 22px 25px}}
@media(max-width:600px){.wrap,.header-inner{width:calc(100% - 36px)}.brand{gap:7px;font-size:13px}.brand img{width:33px;height:33px}.brand b{font-size:20px}.brand small{font-size:8px}.header-cta{font-size:11px;padding:9px 12px;gap:11px;min-height:39px}.landing-hero{padding-top:42px}.landing-hero h1{font-size:44px}.landing-eyebrow{font-size:10px;margin-bottom:18px}.hero-description{font-size:15px;line-height:1.9}.hero-actions{gap:9px}.hero-actions .landing-button{font-size:13px;padding:12px 16px;gap:18px;min-height:49px}.hero-footnote{font-size:10px}.hero-visual{padding:19px}.visual-title h2{font-size:27px}.visual-docs{gap:7px}.visual-document strong{font-size:12px}.visual-document small{font-size:8px}.visual-bottom{font-size:9px}.band-inner{font-size:10px;padding-block:18px;gap:7px}.band-inner b{font-size:14px}.feature-grid{grid-template-columns:1fr}.feature-card{padding:24px}.feature-icon{margin-block:20px 16px}.feature-card h3{font-size:24px}.feature-card p{font-size:14px}.feature-card a{margin-top:20px}.section-heading{margin-bottom:26px}.demo-intro{display:block;padding-top:0}.demo-intro p{font-size:14px}.demo-intro-note{padding-top:20px;gap:8px;font-size:11px}.demo-shell>summary{padding:20px 16px;align-items:start}.demo-shell>summary b{font-size:13px}.demo-shell>summary small{font-size:10px}.demo-toggle{font-size:10px;gap:6px;padding-top:1px}.demo-toolbar{padding:8px 16px;font-size:10px}.demo-toolbar .text-button{font-size:11px}.demo-toolbar .text-button span{font-size:16px}.bottom-strip{gap:15px;padding-block:20px;flex-direction:column;align-items:start}.bottom-strip>div{width:100%}.manager-section{grid-template-columns:1fr;gap:30px;padding-top:40px}.manager-copy{grid-row:1}.manager-art{padding:23px}.review-row b{font-size:13px}.review-row small{font-size:11px}.faq-section{grid-template-columns:1fr;gap:20px}.faq-section h2 br{display:none}.faq-list summary{font-size:14px;padding-block:20px}.faq-list p{font-size:13px}.signup-section{padding:30px 25px;display:block}.signup-section .landing-button{margin-top:27px;font-size:14px;min-height:50px}.signup-section h2{font-size:31px}.signup-section .landing-eyebrow{font-size:8px}.landing-footer{flex-direction:column;padding-block:35px;gap:18px}.footer-links{font-size:12px;padding-top:0;gap:25px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing-button{transition:none}.landing-button:hover{transform:none}}
@media(max-width:360px){.landing-hero h1{font-size:30px}.hero-actions .landing-button{font-size:12px;padding:12px;gap:9px;white-space:nowrap}.hero-actions .landing-button span{font-size:17px}.hero-footnote{font-size:9px}.hero-footnote span{margin-inline:4px}.demo-shell>summary{flex-wrap:wrap}}

/* Official brand palette and background-specific original marks. */
:root{--primary:#1E3A8A;--secondary:#F8FAFC;--accent:#182E6E;--text:#1F2937;--ink:#1F2937;--line:#E2E8F0;--green:#182E6E;--brand-tint:#DBEAFE;--danger:#DC2626}
body,.landing-band,.feature-card,.hero-visual,.manager-art,.demo-shell{background:var(--secondary)}
.header,.checkin-ticket,.visual-document,.review-row,.landing-button.outline{background:#fff}
.feature-card:nth-child(2),.preview-column{background:#EFF6FF}
.landing-section h2,.demo-intro h2,.manager-copy h2,.faq-section h2,.feature-card h3,.visual-title h2{color:var(--primary)}
.landing-button:hover,.primary-button:hover{background:var(--accent)}
.landing-button.outline:hover{background:#EFF6FF}
.light-button{background:#fff;border-color:#fff;color:var(--primary)}
.light-button:hover{background:#DBEAFE;border-color:#DBEAFE;color:var(--accent)}
.brand img,.visual-topline img{object-fit:contain;transform:scale(1.45)}
.brand{gap:12px}.visual-topline>span{gap:12px}
.signup-brand{gap:14px!important;letter-spacing:.06em!important}.signup-brand img{object-fit:contain;transform:scale(1.4);flex-shrink:0}
.field-error{color:var(--danger)}input[aria-invalid="true"],select[aria-invalid="true"],.signature-box.invalid{border-color:var(--danger)}
@media(max-width:600px){.signup-brand img{width:38px;height:38px}.signup-brand{font-size:8px!important;gap:8px!important}}

/* Requested spacing and interactive controls. */
.landing-hero h1{font-size:clamp(30px,3.4vw,46px);word-break:keep-all;line-height:1.35}
.demo-shell .input-column{padding-top:28px;align-self:start}
.demo-shell .preview-column{height:var(--attendance-height,auto);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.demo-shell .preview-column> :not(.paper-stage){flex-shrink:0}
.demo-shell .preview-column .source-stage{flex:1 1 0;min-height:120px;max-height:none;overflow:auto}
.demo-shell>summary .demo-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:164px;min-height:56px;padding:14px 22px;border:2px solid var(--primary);border-radius:10px;background:var(--primary);color:#fff;font-size:18px;font-weight:750;box-shadow:0 4px 12px #1e3a8a24;transition:background .18s,box-shadow .18s,transform .18s}
.demo-shell>summary .demo-toggle b{font-size:24px}
.demo-shell>summary:hover .demo-toggle,.demo-shell>summary:focus-visible .demo-toggle{background:var(--accent);border-color:var(--accent);box-shadow:0 5px 16px #1e3a8a38}
.demo-shell>summary:active .demo-toggle{transform:translateY(1px)}
.demo-shell[open]>summary .demo-toggle{background:#DBEAFE;color:var(--accent)}
.demo-shell[open]>summary:hover .demo-toggle{background:#BFDBFE}
.demo-toolbar{padding:0 28px;gap:12px;min-height:40px;line-height:1.3}
.demo-toolbar .text-button{padding:4px 0;min-height:36px;font-size:12px;white-space:nowrap}
.demo-toolbar .text-button span{font-size:18px;vertical-align:middle;margin-left:6px}
.signup-section{padding-block:24px}
.signup-section .signup-brand{margin-bottom:10px}
.signup-section .signup-brand img{width:30px;height:30px}
.signup-section h2{font-size:32px;line-height:1.25}
.signup-section p{margin-top:10px;line-height:1.5}
.free-emphasis{display:inline-block;font-size:1.22em;font-weight:850;color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
@media(max-width:850px){.landing-hero h1{font-size:clamp(30px,5.4vw,44px)}.signup-section{padding-block:18px}.signup-section h2{font-size:30px}}
@media(max-width:600px){.landing-hero h1{font-size:clamp(25px,6.9vw,38px)}.demo-shell>summary{flex-wrap:wrap;gap:16px}.demo-shell>summary .demo-toggle{min-height:50px;min-width:150px;font-size:16px;padding:10px 18px}.demo-toolbar{padding-inline:16px;font-size:11px;gap:8px}.demo-toolbar .text-button{font-size:11px}.signup-section{padding:20px 25px}.signup-section h2{font-size:26px}.signup-section .landing-button{margin-top:16px;min-height:44px;padding-block:10px}}

/* 기존 서비스 로그인 및 사업자 안내 연결 */
.header-account{display:flex;align-items:center;gap:16px;flex-shrink:0}
.header-login{font-size:13px;font-weight:600;color:#1e3a8a;white-space:nowrap}
.header-login:focus-visible{outline:2px solid #1e3a8a;outline-offset:4px}
.footer-links{flex-wrap:wrap}
.business-details{line-height:1.8}
@media(max-width:600px){.header-account{gap:9px}.header-login{font-size:11px}.header-inner{gap:8px}.header-cta{padding-inline:9px;gap:5px}}
@media(max-width:360px){.header-account .header-cta span{display:none}.header-account{gap:7px}.header-cta{font-size:10px;padding-inline:7px}.brand small{font-size:7px}}
