/* Shared production tokens — studio and reptile. */
:root {
  --pb-background: #fff;
  --pb-text: #161c21;
  --pb-text-muted: #626a70;
  --pb-border: #d4d9dc;
  --pb-surface-subtle: #f5f6f7;
  --pb-brand-blue: #88d4fa;
  --pb-focus: #126393;
  --pb-footer: #191f24;
  --pb-footer-text: #fff;
  --pb-footer-muted: #b7c0c7;
  --pb-error: #aa2222;
  --pb-font-body: 'Noto Sans KR', Arial, sans-serif;
  --pb-font-wordmark: 'Barlow Condensed', Impact, sans-serif;
  --pb-radius: 0px;
  --pb-shadow: none;
  --pb-border-width: 1px;
  --pb-space-1: 4px;
  --pb-space-2: 8px;
  --pb-space-3: 12px;
  --pb-space-4: 16px;
  --pb-space-5: 24px;
  --pb-space-6: 32px;
  --pb-space-7: 40px;
  --pb-space-8: 48px;
  --pb-space-9: 56px;
  --pb-space-10: 64px;
  --pb-space-11: 72px;
  --pb-space-12: 96px;
  --pb-content-max: 1440px;
  --pb-copy-max: 680px;
  --pb-page-gutter: 48px;
  --pb-header-height: 100px;
  --pb-section-padding: 96px;
  --pb-page-start: 64px;
  --pb-grid-column-gap: 24px;
  --pb-grid-row-gap: 40px;
  --pb-control-height: 48px;
  --pb-touch-min: 44px;
  --pb-type-hero: 64px;
  --pb-type-page: 48px;
  --pb-type-section: 32px;
  --pb-type-card: 22px;
  --pb-type-body: 16px;
  --pb-type-meta: 14px;
  --pb-type-label: 12px;
  --pb-type-control: 14px;
}
@media (min-width: 768px) and (max-width: 1199px) {
  :root {
    --pb-page-gutter: 32px;
    --pb-header-height: 84px;
    --pb-section-padding: 72px;
    --pb-page-start: 48px;
    --pb-grid-row-gap: 32px;
  }
}
@media (max-width: 767px) {
  :root {
    --pb-page-gutter: 20px;
    --pb-header-height: 76px;
    --pb-section-padding: 56px;
    --pb-page-start: 40px;
    --pb-grid-column-gap: 16px;
    --pb-grid-row-gap: 32px;
    --pb-type-hero: 36px;
    --pb-type-page: 32px;
    --pb-type-section: 26px;
    --pb-type-card: 20px;
    --pb-type-control: 16px;
  }
}

/* Canonical cross-site components. Page-specific artwork stays in each app. */
:root{--ink:var(--pb-text);--muted:var(--pb-text-muted);--line:var(--pb-border);--paper:var(--pb-background);--blue:var(--pb-brand-blue)}
body{background:var(--pb-background);color:var(--pb-text);font-family:var(--pb-font-body);font-size:var(--pb-type-body);-webkit-font-smoothing:antialiased;max-width:none}
button,input,textarea,select{border-radius:var(--pb-radius);font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pb-focus);outline-offset:4px}p{line-height:1.85}h1,h2,h3,h4{letter-spacing:-.04em}a,button{-webkit-tap-highlight-color:transparent}
.pb-studio .header,.pb-reptile header{margin:0;min-height:var(--pb-header-height);height:auto;padding:24px max(var(--pb-page-gutter),calc((100% - var(--pb-content-max))/2));background:#fff;border-bottom:1px solid var(--pb-border);gap:24px}
.pb-studio .wordmark,.pb-reptile .brand>span,footer .wordmark{display:inline-block;font-family:var(--pb-font-wordmark);font-size:29px;font-weight:800;line-height:.9;letter-spacing:-.04em}
.pb-studio .wordmark span,.pb-reptile .brand small,footer .wordmark span{display:block;font:10px/1 Arial,sans-serif;letter-spacing:.54em;margin-top:9px}
.pb-reptile .brand{color:var(--pb-text)}.pb-studio .header nav,.pb-reptile header nav{gap:32px;font-size:14px;font-weight:500}.pb-reptile nav a{font-size:14px}.pb-reptile .register{margin-left:0}
.pb-studio .section{padding:var(--pb-section-padding) max(var(--pb-page-gutter),calc((100% - var(--pb-content-max))/2));--section-inset:var(--pb-section-padding)}
.pb-studio .section[id]{scroll-margin-top:calc(32px - var(--section-inset))}
.pb-studio .section-heading h2,.pb-studio .featured-work .section-heading h2{font-size:var(--pb-type-page);line-height:1.25;font-weight:700}.pb-studio .section-heading>p{font-size:16px}.pb-studio .brand-caption p,.pb-studio .brand-caption .brand-platforms,.pb-studio .game-platforms,.pb-studio .landing-note,.pb-studio .service-state{font-size:14px}.pb-studio .eyebrow,.pb-studio .visual-meta,.pb-studio .visual-foot{font-size:12px}.pb-studio .about h3,.pb-studio .studio-teaser h2,.pb-studio .reptile-brand-content h3{font-size:var(--pb-type-section);line-height:1.4}
.pb-studio .landing-intro{padding-top:var(--pb-page-start);padding-bottom:48px}.pb-studio .landing-intro h1{font-size:var(--pb-type-page);line-height:1.25;font-weight:700}.pb-studio .landing-intro h2,html[lang=en] .pb-studio .landing-intro h2{font-size:var(--pb-type-section);line-height:1.4}
.pb-studio.editorial-brand .brand-intro,.pb-studio .brand-scenes{max-width:none}.pb-studio.editorial-brand .brand-intro{padding-top:var(--pb-page-start);padding-bottom:64px}.pb-studio .brand-scenes{padding-top:0;padding-bottom:32px}.pb-studio .brand-scene{gap:48px;padding:48px 0}.pb-studio .scene-copy h2{font-size:var(--pb-type-section)}
.pb-studio .space-grid,.pb-studio .portfolio-grid{padding-top:0;gap:40px 24px}.pb-studio .brand-grid,.pb-studio .featured-work-grid{gap:40px 24px}.pb-studio .practice-row{gap:32px;padding-block:32px}.pb-studio .practice-name h4,.pb-studio .brand-caption h3,.pb-studio .space-grid h3{font-size:var(--pb-type-card);font-weight:600}
.pb-studio .equipment,.pb-studio .picnic,.pb-studio .reptile-brand{background:#fff}.pb-studio .reptile-brand-art,.pb-studio .logo-visual{background:var(--pb-brand-blue)}.pb-studio .reptile-brand-art{padding:32px}.pb-studio .reptile-brand-art img{width:min(100%,280px)}
.pb-studio .hero{margin:0;padding:32px max(var(--pb-page-gutter),calc((100% - var(--pb-content-max))/2))}.pb-studio .hero h1,html[lang=en] .pb-studio .hero h1{font-size:var(--pb-type-hero);line-height:1.25}.pb-studio .hero-copy p{font-size:16px}.pb-studio .hero .solid-link{background:#fff;color:var(--pb-focus);border-color:#fff}
.pb-studio #contact{padding-top:32px;scroll-margin-top:0;min-height:calc(100svh - var(--site-footer-height,280px))}
.pb-studio .solid-link,.pb-reptile .button,.pb-reptile .register{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid var(--pb-text);background:#fff;color:var(--pb-text);font-size:var(--pb-type-control);font-weight:500;gap:16px}
.pb-reptile .form-submit button[type=submit],.pb-reptile #login-submit{background:var(--pb-text);color:#fff}.pb-reptile .button.secondary{border-color:var(--pb-border)}.pb-studio .text-link{font-size:14px;padding:12px 0;min-height:44px}.pb-studio .language-switch{min-height:44px;font-size:12px}.pb-reptile .logout-button{font-size:14px;min-height:44px}
.pb-reptile main{width:calc(100% - var(--pb-page-gutter)*2);max-width:var(--pb-content-max);margin:auto;padding:0;min-height:55vh}.pb-reptile .preview-bar{padding:12px max(var(--pb-page-gutter),calc((100% - var(--pb-content-max))/2));font-size:12px;gap:16px}
.pb-reptile .intro{padding:var(--pb-page-start) 0 40px;gap:32px}.pb-reptile .intro h1{font-size:var(--pb-type-page);font-weight:700;line-height:1.25}.pb-reptile .intro p{font-size:16px;max-width:420px}.pb-reptile .brand-signature{display:flex;align-items:center;gap:32px}.pb-reptile .brand-signature img{display:block;width:160px;height:160px;background:var(--pb-brand-blue);padding:8px;flex-shrink:0}.pb-reptile .eyebrow{font-size:12px;color:var(--pb-text);letter-spacing:.08em;margin-bottom:16px}
.pb-reptile .grid{gap:40px 24px;padding-bottom:64px}.pb-reptile .photo{aspect-ratio:4/3;background:var(--pb-surface-subtle)}.pb-reptile .empty-photo img{display:none}.pb-reptile .empty-photo span{font-size:14px}.pb-reptile .photo .id{background:#fff;color:var(--pb-text);padding:4px 8px;font-size:12px;left:12px;top:12px}.pb-reptile .badge{top:auto;bottom:12px;right:12px;background:#fff;color:var(--pb-text);font-size:12px;border:1px solid var(--pb-border);padding:4px 8px}
.pb-reptile .card h2{font-size:var(--pb-type-card);font-weight:600}.pb-reptile .card .description,.pb-reptile .card-foot,.pb-reptile .species,.pb-reptile .list-meta,.pb-reptile .helper,.pb-reptile .error{font-size:14px}.pb-reptile .card-foot{gap:16px;margin-top:16px;padding-top:12px}.pb-reptile .list-meta{padding:24px 0;gap:16px}.pb-reptile .empty-result{padding:48px 0;font-size:16px}.pb-reptile .note{padding:32px 0 56px;gap:32px}.pb-reptile .note p{font-size:16px}.pb-reptile .note h2{font-size:var(--pb-type-card)}
.pb-reptile .tabs{gap:24px}.pb-reptile .tabs button{font-size:14px;min-height:56px;padding:16px 0}.pb-reptile .filters input,.pb-reptile .filters select,.pb-reptile .field input,.pb-reptile .field select,.pb-reptile .field textarea{min-height:48px;padding:12px 16px;font-size:var(--pb-type-control);border:1px solid #879098;background:#fff;color:var(--pb-text)}.pb-reptile .field{font-size:14px;gap:8px}.pb-reptile .form-fields{gap:24px}.pb-reptile .form-title h1,.pb-reptile .detail h1{font-size:var(--pb-type-page);line-height:1.25;font-weight:700}.pb-reptile .detail{gap:48px}.pb-reptile .detail .photo{aspect-ratio:4/3}.pb-reptile .detail .photo>img{object-fit:contain}.pb-reptile dt{font-size:14px}.pb-reptile dd{font-size:16px}.pb-reptile .details-bottom p{font-size:16px}.pb-reptile .upload{padding:40px 24px;background:#fff;border:1px dashed #879098}.pb-reptile .upload small,.pb-reptile .form-title p,.pb-reptile .editor-bottom{font-size:14px}.pb-reptile .upload .plus{color:var(--pb-text-muted)}.pb-reptile .rich-detail>.rich-content{max-width:var(--pb-copy-max)}.pb-reptile .ql-editor{font-size:16px;line-height:1.85;padding:32px}.pb-reptile .ql-toolbar.ql-snow{background:#fff;padding:16px}.pb-reptile .ql-toolbar.ql-snow button{width:36px;height:36px}.pb-reptile .ql-snow .ql-picker{font-size:14px}.pb-reptile .publish-option{font-size:16px}.pb-reptile .publish-option input{accent-color:var(--pb-text)}
.pb-reptile.auth-page{background:#fff}.pb-reptile .auth-wrap{width:calc(100% - var(--pb-page-gutter)*2);max-width:480px;padding:64px 0;min-height:75vh}.pb-reptile .auth-card{padding:32px}.pb-reptile .auth-card h1{font-size:var(--pb-type-section);font-weight:600}.pb-reptile .auth-intro,.pb-reptile .auth-note,.pb-reptile .text-button,.pb-reptile #auth-message{font-size:14px}.pb-reptile .password-wrap{border-color:#879098}.pb-reptile .password-wrap input{border:0}.pb-reptile .password-wrap button{min-width:44px;font-size:14px}
footer{display:block;padding:48px max(var(--pb-page-gutter),calc((100% - var(--pb-content-max))/2)) 24px;background:var(--pb-footer);color:#fff;border:0;font-size:14px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:48px;gap:24px}.footer-top p{font-size:14px;color:#c0c7cc;line-height:1.85}.footer-top>a:last-child{font-size:14px}.business-info{display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--pb-footer-muted);font-size:14px;line-height:1.8;padding-bottom:32px}.business-info address{font-style:normal;flex-basis:100%}.business-info a{border-bottom:1px solid #ffffff45}.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid #ffffff30;color:var(--pb-footer-muted);font:12px/1.6 Arial,sans-serif;letter-spacing:.04em}
@media(max-width:1199px){.pb-studio .header nav,.pb-reptile header nav{gap:20px}.pb-reptile .intro{grid-template-columns:1fr}.pb-reptile .intro p{justify-self:start;max-width:none}.pb-reptile .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-reptile .detail{gap:32px}}
@media(max-width:767px){.pb-studio .header,.pb-reptile header{padding-top:16px;padding-bottom:16px;gap:16px;flex-wrap:wrap}.pb-studio .wordmark,.pb-reptile .brand>span,footer .wordmark{font-size:26px}.pb-reptile .brand small{font-size:10px}.pb-reptile header nav{display:none}.pb-reptile .register{margin-left:auto;padding:12px 16px;font-size:14px}.pb-reptile .logout-button{margin-left:auto}.pb-studio .header nav{gap:16px}.pb-studio .header-note{display:none}.pb-studio .section[id]{scroll-margin-top:calc(24px - var(--section-inset))}.pb-studio .hero{padding-top:24px;padding-bottom:24px}.pb-studio .hero-grid{grid-template-columns:1fr;min-height:0}.pb-studio .hero-art{height:260px}.pb-studio .hero-art img{width:280px;height:280px}.pb-studio .hero-copy{padding:24px 0}.pb-studio .practice-row{gap:16px}.pb-studio .landing-intro{padding-bottom:40px}.pb-studio.editorial-brand .brand-intro{grid-template-columns:1fr;gap:32px;padding-bottom:40px}.pb-studio .brand-scene,.pb-studio .brand-scene:nth-child(even){grid-template-columns:1fr;gap:24px;padding:32px 0}.pb-studio .brand-scene:nth-child(even)>figure{order:0}.pb-studio .brand-scenes{padding-bottom:0}.pb-studio #contact{padding-top:24px}.pb-studio .reptile-brand-content{grid-template-columns:1fr;gap:32px}.pb-studio .space-grid,.pb-studio .portfolio-grid,.pb-studio .featured-work-grid,.pb-studio .featured-work-grid.two-works{grid-template-columns:1fr;gap:32px}.pb-studio .practice-category + .practice-category{margin-top:48px}
.pb-reptile .preview-bar{flex-wrap:wrap;gap:4px 12px}.pb-reptile .intro{padding-bottom:32px}.pb-reptile .brand-signature{align-items:flex-start;flex-direction:column;gap:24px}.pb-reptile .list-meta{flex-wrap:wrap;gap:8px}.pb-reptile .tabs{gap:12px;flex-wrap:wrap;justify-content:flex-start}.pb-reptile .tabs button{font-size:14px}.pb-reptile .filters{flex-wrap:wrap}.pb-reptile .filters input{width:100px;flex:1;min-width:120px}.pb-reptile .filters select{max-width:none}.pb-reptile .grid{gap:32px 16px}.pb-reptile .card-foot{gap:8px}.pb-reptile .card .description{font-size:14px}.pb-reptile .note,.pb-reptile .detail,.pb-reptile form,.pb-reptile .details-bottom{grid-template-columns:1fr;gap:32px}.pb-reptile .auth-wrap{padding:40px 0}.pb-reptile .auth-card{padding:24px}.pb-reptile .ql-editor{padding:20px}.pb-reptile .form-fields{gap:24px 16px}.pb-reptile .editor-bottom{flex-wrap:wrap}.pb-reptile .actions{flex-wrap:wrap}.footer-top{flex-wrap:wrap;padding-bottom:32px}.footer-top p{order:3;width:100%}.footer-bottom{flex-wrap:wrap}.business-info{font-size:14px;gap:12px 16px}}
@media(max-width:420px){.pb-reptile .grid{grid-template-columns:1fr}.pb-reptile .form-fields{grid-template-columns:1fr}}

/* Small original mascot beside the existing wordmark. */
.pb-studio .header .header-brand-logo,.pb-reptile .header-brand-logo{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;flex-shrink:0;width:auto;height:auto;background:transparent;line-height:1;padding:0}
.header-symbol{display:block;width:44px;height:44px;padding:3px;background:var(--pb-brand-blue);flex-shrink:0}
.pb-studio .header .header-wordmark,.pb-reptile .header-wordmark{display:block;font:800 29px/.9 var(--pb-font-wordmark);letter-spacing:-.04em;margin:0}
.pb-studio .header .header-wordmark small,.pb-reptile .header-wordmark small{display:block;font:10px/1 Arial,sans-serif;letter-spacing:.54em;margin-top:9px}
@media(max-width:767px){.header-symbol{width:36px;height:36px}.pb-studio .header .header-wordmark,.pb-reptile .header-wordmark{font-size:24px}.pb-studio .header .header-brand-logo,.pb-reptile .header-brand-logo{gap:8px}.pb-studio .header .header-wordmark small,.pb-reptile .header-wordmark small{font-size:9px;margin-top:8px}}
