:root { --ink:#172019; --muted:#6d756f; --line:#dce1dd; --soft:#f2f5f2; --accent:#214534; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fbfcfb; font:14px/1.6 Inter, Pretendard, system-ui, sans-serif; }
a { color:inherit; }
.site-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; min-height:64px; padding:0 4vw; border-bottom:1px solid rgba(220,225,221,.8); background:rgba(251,252,251,.92); backdrop-filter:blur(14px); }
.logo { display:flex; align-items:center; text-decoration:none; }
.logo strong { color:#13233f; font-size:18px; font-weight:850; letter-spacing:.12em; }
nav { display:flex; gap:24px; margin-left:auto; }
nav a { color:var(--muted); font-size:12px; text-decoration:none; }
.locale-switch { display:flex; margin-left:28px; }
.locale-switch button { border:0; padding:6px; color:#929994; background:transparent; font-size:11px; cursor:pointer; }
.locale-switch button.active { color:var(--ink); font-weight:800; }
main { overflow:hidden; }
.hero { max-width:1220px; min-height:640px; margin:0 auto; padding:150px 4vw 110px; }
.brand-promise { margin:0 0 18px; color:var(--accent); font-size:clamp(19px,2vw,26px); font-weight:750; letter-spacing:-.025em; }
.eyebrow { margin:0 0 12px; color:#758079; font-size:10px; font-weight:800; letter-spacing:.15em; }
h1 { max-width:900px; margin:0; font-size:clamp(40px,6vw,74px); line-height:1.12; letter-spacing:-.055em; }
.hero-copy { max-width:590px; margin:27px 0 34px; color:var(--muted); font-size:17px; }
.hero-actions { display:flex; gap:9px; }
.hero-actions a { border-radius:8px; padding:11px 16px; font-weight:750; text-decoration:none; }
.primary { color:var(--white); background:var(--accent); }
.secondary { border:1px solid var(--line); background:var(--white); }
.app-directory { max-width:1220px; margin:0 auto 90px; padding:28px 4vw; }
.app-directory>div:first-child { display:grid; grid-template-columns:1fr 2fr; }
.app-directory>div:first-child p:last-child { grid-column:2; margin:10px 0 28px; color:var(--muted); }
.app-links { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.app-links a { display:grid; gap:3px; border:1px solid var(--line); border-radius:12px; padding:18px; background:var(--white); text-decoration:none; transition:transform .15s,border-color .15s; }
.app-links a:hover { transform:translateY(-2px); border-color:#9eaaa2; }
.app-links span { font-weight:800; }
.app-links small { color:var(--muted); }
.app-links strong { margin-top:18px; font-size:11px; }
.section { max-width:1220px; margin:0 auto; padding:100px 4vw; border-top:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:1fr 2fr; align-items:start; margin-bottom:42px; }
h2 { max-width:720px; margin:0; font-size:clamp(27px,4vw,43px); line-height:1.2; letter-spacing:-.04em; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.service-grid article { min-height:300px; border:1px solid var(--line); border-radius:14px; padding:23px; background:var(--white); }
.index { color:#8b948e; font:11px ui-monospace,monospace; }
h3 { margin:55px 0 13px; font-size:19px; }
.service-grid p { min-height:70px; color:var(--muted); }
.service-grid a { display:inline-block; margin-top:22px; font-size:12px; font-weight:750; text-decoration:none; }
.approach ol { margin:0 0 0 33.333%; padding:0; list-style:none; }
.approach li { display:grid; grid-template-columns:190px 1fr; gap:25px; border-top:1px solid var(--line); padding:23px 0; }
.approach li span { color:var(--muted); }
.contact-section { margin-top:80px; padding:100px max(4vw,calc((100vw - 1120px)/2)); color:var(--white); background:var(--accent); }
.contact-section .eyebrow { color:#b7c7bd; }
.contact-section a { display:inline-block; margin-top:35px; font-size:17px; }
footer { display:flex; justify-content:space-between; gap:20px; padding:20px 4vw; color:#89918c; font-size:10px; }
.header-sign-in,.back-home{margin-left:18px;border-left:1px solid var(--line);padding-left:18px;color:var(--ink);font-size:11px;font-weight:750;text-decoration:none}.back-home{margin-left:auto}.identity-shell{min-height:calc(100vh - 64px);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:8vw;max-width:1180px;margin:auto;padding:70px 4vw}.identity-card{border:1px solid var(--line);border-radius:16px;padding:30px;background:white;box-shadow:0 20px 70px #1b30240d}.identity-card h2{margin:0 0 22px;font-size:26px}.identity-card label{display:grid;gap:6px;margin:13px 0;color:var(--muted);font-size:11px}.identity-card input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;font:inherit}.identity-card button{width:100%;border:0;padding:12px;margin:8px 0 17px;cursor:pointer}.identity-card small{color:var(--muted)}.form-error{border:1px solid #e8b4b4;border-radius:8px;padding:10px;color:#9e2929;background:#fff7f7}
.identity-menu{position:relative;margin-left:18px}.identity-menu summary{max-width:230px;overflow:hidden;padding:8px 0;cursor:pointer;font-size:11px;font-weight:750;list-style:none;text-overflow:ellipsis;white-space:nowrap}.identity-menu summary::after{content:"⌄";margin-left:7px;color:var(--muted)}.identity-menu>div{position:absolute;z-index:30;top:calc(100% + 10px);right:0;display:grid;width:230px;border:1px solid var(--line);border-radius:12px;padding:7px;background:white;box-shadow:0 18px 50px #17201920}.identity-menu a,.identity-menu button{border:0;border-radius:7px;padding:10px;color:var(--ink);background:transparent;font:inherit;font-size:12px;text-align:left;text-decoration:none;cursor:pointer}.identity-menu a:hover,.identity-menu button:hover{background:var(--soft)}
.product-name{display:grid;gap:1px;margin-left:18px;border-left:1px solid var(--line);padding-left:18px}.product-name strong{font-size:12px}.product-name span{color:var(--muted);font-size:10px}.account-page{background:#f7f9f7}.account-shell{max-width:1260px;margin:auto;padding:64px 4vw 100px;overflow:visible}.account-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.account-heading h1{font-size:clamp(38px,5vw,58px)}.account-heading .hero-copy{margin:12px 0 0;font-size:14px}.account-summary{display:grid;min-width:150px;border:1px solid var(--line);border-radius:14px;padding:17px;background:white}.account-summary strong{font-size:28px}.account-summary span{color:var(--muted);font-size:11px}.inline-alert{position:sticky;top:78px;z-index:20;margin:0 0 14px;border:1px solid #b8d8c3;border-radius:10px;padding:11px 14px;color:#1f6038;background:#eef9f1}.inline-alert.warning{border-color:#ead09c;color:#7a5100;background:#fff9e9}.inline-alert.error{border-color:#e5b8b8;color:#9e2929;background:#fff2f2}.account-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 190px 150px auto auto;gap:10px;align-items:end;margin-bottom:14px;border:1px solid var(--line);border-radius:14px;padding:14px;background:white}.account-toolbar label,.account-dialog label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:750}.account-toolbar input,.account-toolbar select,.account-dialog input,.account-dialog select{width:100%;height:40px;border:1px solid var(--line);border-radius:8px;padding:0 11px;color:var(--ink);background:white;font:inherit}.account-toolbar .primary,.account-toolbar .secondary{display:grid;place-items:center;height:40px;border-radius:8px;padding:0 15px;font-weight:750;white-space:nowrap;cursor:pointer}.import-button{position:relative;overflow:hidden}.import-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.account-table-card,.audit-card{border:1px solid var(--line);border-radius:14px;background:white}.table-heading{display:flex;align-items:start;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.table-heading h2{font-size:18px}.table-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}.text-action{border:0;padding:6px;color:var(--accent);background:transparent;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:11px 16px;color:var(--muted);background:#fafbfa;font-size:10px;letter-spacing:.04em;text-transform:uppercase}td{border-top:1px solid #edf0ed;padding:14px 16px;font-size:12px;vertical-align:middle}td:first-child strong,td:first-child small{display:block}td:first-child small{margin-top:3px;color:var(--muted);font-size:9px}.role-select{border:1px solid var(--line);border-radius:7px;padding:6px;background:white;font:inherit;font-size:11px}.state-badge{display:inline-block;border-radius:99px;padding:4px 8px;color:#23613d;background:#eaf5ed;font-size:9px;font-weight:800;text-transform:uppercase}.state-badge.pending{color:#785300;background:#fff5d9}.state-badge.inactive{color:#707770;background:#ecefed}.row-menu{position:relative}.row-menu summary{cursor:pointer;list-style:none;font-weight:800;letter-spacing:2px}.row-menu>div{position:absolute;z-index:5;top:25px;right:0;display:grid;width:175px;border:1px solid var(--line);border-radius:9px;padding:5px;background:white;box-shadow:0 12px 35px #1720191c}.row-menu button{border:0;border-radius:6px;padding:9px;background:transparent;font:inherit;font-size:11px;text-align:left;cursor:pointer}.row-menu button:hover{background:var(--soft)}.danger-text{color:#9e2929!important}.empty-state{padding:32px;color:var(--muted);text-align:center}.audit-card{margin-top:14px}.audit-card>summary{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;list-style:none}.audit-card>summary span:first-child{display:grid;gap:3px}.audit-card>summary small{color:var(--muted)}#audit-list{border-top:1px solid var(--line);padding:8px 22px 15px}#audit-list article{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #edf0ed;padding:10px 0;font-size:11px}#audit-list small{color:var(--muted)}.account-dialog{width:min(500px,calc(100% - 30px));border:1px solid var(--line);border-radius:16px;padding:0;background:white;box-shadow:0 24px 80px #17201935}.account-dialog::backdrop{background:#1320198f;backdrop-filter:blur(2px)}.account-dialog form{display:grid;gap:14px;padding:25px}.dialog-heading{display:flex;justify-content:space-between}.dialog-heading h2{font-size:25px}.dialog-heading p:last-child{margin:5px 0;color:var(--muted)}.icon-close{width:32px;height:32px;border:0;border-radius:50%;background:var(--soft);font-size:20px;cursor:pointer}.account-dialog fieldset{display:grid;gap:7px;margin:0;border:0;padding:0}.account-dialog legend{margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:750}.radio-row{display:flex!important;grid-template-columns:auto 1fr;align-items:center;color:var(--ink)!important;font-size:12px!important}.radio-row input{width:16px!important;height:16px!important}.account-dialog label small{font-weight:400}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:7px}.dialog-actions button{border-radius:8px;padding:10px 16px;font-weight:750;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media (max-width:800px) { nav { display:none; } .hero { min-height:560px; padding-top:110px; } .app-directory>div:first-child { grid-template-columns:1fr; }.app-directory>div:first-child p:last-child{grid-column:1}.app-links{grid-template-columns:1fr}.section-heading { grid-template-columns:1fr; gap:10px; } .service-grid { grid-template-columns:1fr; } .service-grid article { min-height:230px; } h3 { margin-top:35px; } .approach ol { margin-left:0; } }
@media (max-width:520px) { .hero { padding-left:20px; padding-right:20px; } h1 { font-size:39px; } .section { padding:75px 20px; } .approach li { grid-template-columns:1fr; gap:6px; } footer { flex-direction:column; } }
@media(max-width:760px){.identity-shell{grid-template-columns:1fr;padding-top:45px}}
.account-table-card + .account-table-card{margin-top:14px}.account-link-output{padding:14px 22px 20px}.account-link-output input{width:100%;height:40px;border:1px solid var(--line);border-radius:8px;padding:0 11px;background:#fafbfa;font:inherit;font-size:11px}
@media(max-width:900px){.account-toolbar{grid-template-columns:1fr 1fr}.search-control{grid-column:1/-1}.account-heading{align-items:start}.product-name span{display:none}}
@media(max-width:620px){.site-header{padding:0 18px}.product-name{display:none}.identity-menu summary{max-width:125px}.account-shell{padding:38px 18px 70px}.account-heading{align-items:start;flex-direction:column}.account-toolbar{grid-template-columns:1fr}.search-control{grid-column:auto}.account-toolbar .primary,.account-toolbar .secondary{width:100%}.table-heading{padding:16px}td,th{padding:11px}.account-summary{width:100%}#audit-list article{flex-direction:column;gap:2px}}
.identity-help-link{align-self:flex-end;font-size:.86rem;color:var(--muted);text-decoration:none}.identity-help-link:hover{text-decoration:underline}.email-provider-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.provider-privacy-note{max-width:760px!important;margin-top:9px!important}.provider-privacy-note a{font-weight:750}.legal-shell{max-width:880px;margin:0 auto;padding:90px 4vw 120px;overflow:visible}.legal-shell>h1{font-size:clamp(40px,6vw,64px)}.legal-updated{margin:16px 0 60px;color:var(--muted)}.legal-shell section{padding:32px 0;border-top:1px solid var(--line)}.legal-shell section h2{margin-bottom:14px;font-size:24px;letter-spacing:-.025em}.legal-shell section p,.legal-shell section li{color:#505b53;font-size:15px}.legal-shell section ul{display:grid;gap:9px;padding-left:21px}.legal-shell code{overflow-wrap:anywhere;border-radius:4px;padding:2px 5px;background:var(--soft);font-size:12px}
@media(max-width:620px){.legal-shell{padding:55px 20px 80px}.legal-updated{margin-bottom:40px}.legal-shell section{padding:25px 0}.legal-shell section h2{font-size:21px}}
.brand-assets-shell{min-height:calc(100vh - 120px)}.brand-asset-card{display:grid!important;grid-template-columns:190px 1fr;gap:34px;align-items:center}.brand-asset-preview{display:grid;place-items:center;width:190px;height:190px;border:1px solid var(--line);border-radius:18px;background:#fff}.brand-asset-preview img{display:block;width:120px;height:120px;object-fit:contain}.brand-download{display:inline-block;margin-top:12px;border-radius:8px;padding:10px 15px;text-decoration:none}.brand-asset-card h2{margin-top:0}.brand-asset-card p{max-width:580px}@media(max-width:620px){.brand-asset-card{grid-template-columns:1fr}.brand-asset-preview{width:100%}}

/* Approved Continuous Ribbon identity on the corporate service entry. */
.site-header .corporate-ribbon{display:block;object-fit:contain;margin-right:9px}.site-header .logo strong{letter-spacing:-.035em;font-size:23px;font-weight:750;color:#20242c}#studio-service-summary .hero-actions a{font-weight:500}#studio-service-summary .studio-feature{border-radius:4px}

.identity-card .identity-login-options{display:flex;gap:12px 20px;flex-wrap:wrap;margin:12px 0 6px}
.identity-card .identity-login-options label{display:flex;align-items:center;gap:8px;margin:0;min-height:32px;cursor:pointer;font-size:12px}
.identity-card .identity-login-options input{width:17px;height:17px;margin:0;padding:0;accent-color:var(--ink);flex:none}
.identity-card #sign-in-remember-hint{display:block;line-height:1.6;margin-bottom:12px}
