:root{--bg:#faf8f4;--surface:#f2f0eb;--fg:#111215;--muted:#616366;--border:#e8e6e3;--accent:#55647d;--accent-soft:color-mix(in oklch,var(--accent) 14%,transparent);--fg-soft:color-mix(in oklch,var(--fg) 6%,transparent);--font-display:"Iowan Old Style","Palatino Linotype","Book Antiqua",Charter,Georgia,"Times New Roman",serif;--font-body:system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--fs-h1:clamp(64px,10vw,136px);--fs-h2:clamp(36px,4.4vw,56px);--fs-lead:19px;--fs-body:16px;--fs-meta:12px;--gap-xs:8px;--gap-sm:12px;--gap-md:20px;--gap-lg:32px;--gap-xl:56px;--gap-2xl:96px;--container:1280px;--gutter:48px;--radius:4px;--ph:#e4e1da;--ph-line:#cfcbc2}.studio{--bg:#181e21;--surface:#1d2326;--fg:#faf8f4;--muted:#9c9fa1;--border:#383e41;--accent:#a0c8b6;--ph:#232a2e;--ph-line:#383e41;background:var(--bg);color:var(--fg)}.lab-dark{--bg:#14161a;--fg:#faf8f4;--muted:#a7a9ad;--border:#2c2f35;--ph:#1d2026;--ph-line:#3a3e46;background:var(--bg);color:var(--fg)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}p{text-wrap:pretty;margin:0}h1,h2,h3{text-wrap:balance;margin:0;font-weight:400}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}h1{font-family:var(--font-display);font-size:var(--fs-h1);letter-spacing:-.035em;line-height:.95}h2{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.025em;line-height:1.04}.sub{margin-top:var(--gap-md);font-size:clamp(20px,2vw,24px);line-height:1.3}.lead{font-size:var(--fs-lead);color:var(--muted);max-width:46ch;margin-top:var(--gap-md);line-height:1.6}.idx{align-items:center;gap:var(--gap-sm);font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.08em;color:var(--muted);margin-bottom:var(--gap-lg);display:flex}.idx:after{content:"";border-top:1px solid var(--muted);width:40px}.meta{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.btn{border-radius:var(--radius);border:1px solid #0000;align-items:center;gap:12px;min-height:48px;padding:0 24px;font-size:15px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn svg{width:16px;height:16px;transition:transform .15s}.btn:hover svg{transform:translate(3px)}.btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn-primary:hover{background:color-mix(in oklch,var(--accent) 82%,black)}.studio .btn-primary{color:#181e21}.studio .btn-primary:hover{background:color-mix(in oklch,var(--accent) 88%,white)}.btn-secondary{color:var(--fg);border-color:var(--fg);background:0 0}.btn-secondary:hover{background:var(--fg);color:var(--bg)}.link{border-bottom:1px solid;align-items:center;gap:10px;min-height:44px;padding-block:0;font-size:15px;display:inline-flex}.link svg{width:16px;height:16px;transition:transform .15s}.link:hover svg{transform:translate(3px)}.link:hover{border-bottom-width:2px}.topnav{z-index:5;position:absolute;inset:0 0 auto}.topnav-inner{grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;display:grid}.brand{color:var(--fg);align-items:center;min-height:44px;display:inline-flex}.brand svg{width:auto;height:40px}.topnav nav{gap:var(--gap-lg);display:flex}.topnav nav a{border-bottom:1px solid #0000;align-items:center;min-height:44px;font-size:14px;display:inline-flex}.topnav nav a:hover,.topnav nav a[aria-current]{border-bottom-color:var(--fg)}.nav-end{justify-content:flex-end;align-items:center;gap:var(--gap-md);color:var(--muted);font-size:13px;display:flex}.nav-end .btn{min-height:44px;padding:0 20px}.placed-img{object-fit:cover;width:100%;height:100%;display:block}.hero-img{object-position:center}.shot{border-radius:var(--radius);position:relative;overflow:hidden}.shot>.placed-img{position:absolute;inset:0}.band-media{overflow:hidden}.band-media>.placed-img{position:absolute;inset:0}.band-overlay{z-index:1;position:absolute;inset:0}.thumbs>.placed-img{aspect-ratio:3/2;border-radius:var(--radius)}.core-media>.placed-img{width:auto;max-width:none;height:100%;position:absolute;inset:0 0 0 50%;transform:translate(-50%)}.ph{background:var(--ph);border:1px solid var(--ph-line);border-radius:var(--radius);width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.ph:before,.ph:after{content:"";pointer-events:none;background:linear-gradient(to top right,transparent calc(50% - .5px),var(--ph-line) 50%,transparent calc(50% + .5px));position:absolute;inset:0}.ph:after{transform:scaleX(-1)}.ph-tag{z-index:2;background:var(--bg);max-width:calc(100% - 24px);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.04em;padding:8px 12px;font-size:11px;line-height:1.5;position:absolute;bottom:12px;left:12px;box-shadow:0 2px 8px #1112151f}.ph-tag b{font-weight:700}.ph-tag span{color:var(--muted);display:block}.hero{border-bottom:1px solid var(--border);align-items:center;min-height:min(100vh,860px);display:grid;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0 0 0 38%}.hero-media .ph{border:0;border-left:1px solid var(--border);border-radius:0}.hero .container{z-index:2;width:100%;padding-block:150px 120px;position:relative}.hero-copy{max-width:520px}.scroll{left:var(--gutter);z-index:2;flex-direction:column;gap:12px;display:flex;position:absolute;bottom:32px}.scroll i{background:var(--muted);width:1px;height:40px;display:block}.vert{right:var(--gutter);z-index:3;writing-mode:vertical-rl;letter-spacing:.3em;color:var(--fg);background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);padding:16px 8px;font-size:14px;position:absolute;top:140px}.cap{right:var(--gutter);z-index:3;text-align:right;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;position:absolute;bottom:32px;box-shadow:0 2px 8px #1112151f}.chars{gap:var(--gap-lg);padding-block:var(--gap-xl);grid-template-columns:88px 3fr 1fr;align-items:stretch;display:grid}.rail{flex-direction:column;justify-content:center;gap:4px;display:flex}.rail a{min-height:44px;color:var(--muted);border-bottom:1px solid #0000;align-items:center;gap:12px;font-size:13px;display:flex}.rail a:hover,.rail a[aria-current]{color:var(--fg);border-bottom-color:var(--fg)}.rail svg{flex:none;width:18px;height:18px}.chars-main{gap:var(--gap-lg);grid-template-columns:2.2fr 1fr;align-items:center;display:grid}.chars-main .shot{aspect-ratio:3/2}.thumbs{gap:var(--gap-sm);padding-left:var(--gap-lg);border-left:1px solid var(--border);grid-template-rows:repeat(3,1fr);display:grid}.thumbs .ph{aspect-ratio:3/2}.chat{z-index:2;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:min(240px,100% - 32px);padding:12px 14px;font-size:13px;position:absolute;top:16px;right:16px;box-shadow:0 2px 8px #1112151f}.chat b{font-family:var(--font-display);font-size:18px;font-weight:400;display:block}.chat span{color:var(--muted)}.band{grid-template-columns:5fr 7fr;min-height:480px;display:grid}.band-copy{padding:var(--gap-2xl) var(--gap-xl) var(--gap-2xl) max(var(--gutter),calc((100vw - var(--container))/2 + var(--gutter)));background:var(--bg);color:var(--fg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);--muted:#616366;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.band-copy .lead{max-width:34ch}.band-copy .link{margin-top:var(--gap-lg)}.band-media{min-height:420px;position:relative}.band-media .ph{border:0;border-radius:0}.feat{z-index:2;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;margin:0;padding:20px 24px;list-style:none;display:flex;position:absolute;top:50%;left:32px;transform:translateY(-50%);box-shadow:0 2px 8px #0000004d}.feat li{align-items:center;gap:16px;min-height:44px;font-size:14px;display:flex}.feat svg{flex:none;width:18px;height:18px}.band-media .ph-tag{left:auto;right:12px}.core-sec{border-bottom:1px solid var(--border);min-height:620px;position:relative;overflow:hidden}.core{z-index:2;gap:var(--gap-xl);min-height:620px;padding-block:var(--gap-2xl);grid-template-columns:5fr 7fr;align-items:center;display:grid;position:relative}.core-media{aspect-ratio:auto;border-left:1px solid var(--border);z-index:0;position:absolute;inset:0 0 0 42%}.core-media .ph{border:0;border-radius:0}.core-copy{z-index:1;max-width:480px;position:relative}.core-list{right:var(--gutter);bottom:var(--gap-xl);z-index:2;text-align:right;border-right:1px solid var(--border);padding-right:var(--gap-md);flex-direction:column;align-items:flex-end;margin:0;display:flex;position:absolute}.core-list span{justify-content:flex-end;align-items:center;min-height:36px;display:flex}.core-wrap{gap:var(--gap-lg);grid-template-columns:1fr 160px;align-items:end;display:grid}.core-wrap .core-list{margin:0}.core-body{grid-template-columns:minmax(0,1fr);display:grid}.studio-sec{padding-block:var(--gap-2xl)}.studio-grid{gap:var(--gap-xl);grid-template-columns:5fr 7fr;align-items:center;display:grid}.studio-nav{gap:var(--gap-lg);margin-bottom:var(--gap-md);flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:13px;display:flex}.studio-nav div{gap:var(--gap-lg);display:flex}.studio-nav a{min-height:44px;color:var(--muted);border-bottom:1px solid #0000;align-items:center;display:inline-flex}.studio-nav a:hover,.studio-nav a[aria-current]{color:var(--fg);border-bottom-color:var(--fg)}.ui{color:#111215;border-radius:var(--radius);border:1px solid var(--border);background:#faf8f4;grid-template-columns:150px 1fr 200px;min-height:380px;font-size:12px;display:grid;overflow:hidden}.ui-side{border-right:1px solid #e8e6e3;flex-direction:column;gap:2px;padding:16px 12px;display:flex}.ui-side .ap{align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:700;display:flex}.ui-side .ap i{background:#a0c8b6;border-radius:4px;width:18px;height:18px;display:block}.ui-side a{color:#616366;border-radius:4px;padding:8px}.ui-side a[aria-current]{color:#111215;background:#e4e8ee}.ui-main{padding:16px 16px 8px}.ui-main h4{font-family:var(--font-display);margin:0 0 12px;font-size:18px;font-weight:400}.ui-tabs{color:#616366;border-bottom:1px solid #e8e6e3;flex-wrap:wrap;gap:12px;margin-bottom:4px;padding-bottom:8px;display:flex}.ui-tabs b{color:#111215;border-bottom:2px solid #111215;padding-bottom:6px}.ui-row{border-bottom:1px solid #e8e6e3;grid-template-columns:1fr auto;gap:8px;padding:11px 0;display:grid}.ui-row small{color:#616366;display:block}.ui-row em{font-style:normal;font-family:var(--font-mono);color:#616366;font-size:11px}.ui-detail{background:#f2f0eb;border-left:1px solid #e8e6e3;padding:16px}.ui-detail .ph{aspect-ratio:3/2;--ph:#e4e1da;--ph-line:#cfcbc2;height:auto}.ui-detail .ph-tag{display:none}.ui-detail h5{margin:12px 0 2px;font-size:13px;font-weight:700}.bars{align-items:flex-end;gap:4px;height:64px;margin-top:16px;display:flex}.bars i{background:#55647d;border-radius:2px 2px 0 0;flex:1;display:block}.studio-note{margin-top:var(--gap-sm)}.pagefoot{padding-block:var(--gap-xl);border-top:1px solid var(--border)}.pagefoot .container{justify-content:space-between;align-items:flex-end;gap:var(--gap-lg);flex-wrap:wrap;display:flex}.pagefoot svg.logo{width:auto;height:40px;color:var(--fg)}.pagefoot p{color:var(--muted);margin-top:12px;font-size:13px}.pagefoot nav{gap:var(--gap-lg);flex-wrap:wrap;display:flex}.pagefoot nav a{border-bottom:1px solid #0000;align-items:center;min-height:44px;font-size:13px;display:inline-flex}.pagefoot nav a:hover{border-bottom-color:var(--fg)}.social{gap:4px;display:flex}.social a{border-radius:var(--radius);width:44px;height:44px;font-family:var(--font-mono);border:1px solid var(--border);place-items:center;font-size:12px;display:grid}.social a:hover{background:var(--fg);color:var(--bg)}@media (width<=1100px){.chars{grid-template-columns:1fr}.rail{gap:var(--gap-md);flex-flow:wrap}.thumbs{padding:var(--gap-md) 0 0;border-left:0;border-top:1px solid var(--border);grid-template-rows:none;grid-template-columns:repeat(3,1fr)}.ui{grid-template-columns:140px 1fr}.ui-detail{display:none}}@media (width<=920px){:root{--gutter:20px}.topnav-inner{justify-content:space-between;gap:var(--gap-sm);display:flex}.nav-end{gap:var(--gap-xs)}.nav-end .btn{min-height:40px;padding:0 14px;font-size:14px}.topnav nav,.nav-end span{display:none}.hero{flex-direction:column;min-height:0;display:flex}.hero-media{order:2;height:380px;position:relative;inset:auto}.hero .container{padding-block:120px 48px}.scroll,.vert{display:none}.cap{bottom:12px;right:12px}.chars-main,.band,.core,.studio-grid,.core-wrap{grid-template-columns:1fr}.band-copy{padding:var(--gap-xl) var(--gutter)}.band-media{min-height:380px}.feat{max-width:min(320px,100% - 24px);top:12px;left:12px;right:auto;transform:none}.band-media .ph-tag{left:12px;right:auto}.core{min-height:0;padding-block:56px}.core-sec{min-height:0}.core-media{aspect-ratio:auto;border-left:0;border-top:1px solid var(--border);grid-area:2/1;height:320px;position:relative;inset:auto}.core-list{align-items:flex-end;margin:0;bottom:20px;right:20px}.ui{grid-template-columns:1fr}.ui-side{display:none}}.mt-xl{margin-top:var(--gap-lg)}.notfound{padding-block:200px 120px}.notfound h1{margin-top:var(--gap-md)}.contact-sec{padding-block:var(--gap-2xl);border-top:1px solid var(--border);background:var(--surface)}.contact-grid{gap:var(--gap-xl);grid-template-columns:5fr 7fr;align-items:start;display:grid}.contact-direct{margin-top:var(--gap-lg)}.contact-direct .link{margin-left:var(--gap-xs);text-transform:none;letter-spacing:0;font-family:var(--font-body);font-size:14px}.contact-form{gap:var(--gap-md);flex-direction:column;display:flex}.field-row{gap:var(--gap-md);grid-template-columns:1fr 1fr;display:grid}.field{gap:var(--gap-xs);flex-direction:column;display:flex}.field input,.field select,.field textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:48px;padding:12px 14px;font-size:15px}.field textarea{resize:vertical;min-height:140px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#b3261e}.field-error{color:#b3261e;min-height:1em;font-size:13px}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-foot{align-items:center;gap:var(--gap-md);flex-wrap:wrap;display:flex}.form-foot .btn:disabled{opacity:.6;cursor:wait}.form-status{color:var(--muted);font-size:14px}.form-status[data-state=ok]{color:#2e7d4f}.form-status[data-state=error]{color:#b3261e}@media (width<=920px){.contact-grid,.field-row{grid-template-columns:1fr}}.band-media>.placed-img{object-position:right}.brand{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:0}.brand-sub{letter-spacing:.14em;border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);background:var(--bg);padding:4px 7px;font-size:10px;line-height:1}.nav-studio{display:none}@media (width<=920px){.nav-studio{display:inline-flex}}.consent{gap:var(--gap-sm);color:var(--muted);cursor:pointer;align-items:flex-start;font-size:14px;display:flex}.consent input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:4px 0 0}.consent a{color:var(--fg);border-bottom:1px solid}.ai-notice{color:var(--muted);margin-top:var(--gap-xs);max-width:40ch;font-size:12px}.legal-nav{gap:var(--gap-lg);display:flex}.legal{max-width:760px;padding-block:160px 120px}.legal h1{margin-top:var(--gap-md);font-size:clamp(44px,6vw,64px)}.legal-updated{margin-top:var(--gap-sm)}.legal-body{margin-top:var(--gap-xl);font-size:16px;line-height:1.7}.legal-body h2{font-family:var(--font-body);letter-spacing:0;margin:var(--gap-xl) 0 var(--gap-sm);font-size:19px;font-weight:600}.legal-body p{margin:0 0 var(--gap-md)}.legal-body ul{margin:0 0 var(--gap-md);padding-left:20px}.legal-body li{margin-bottom:var(--gap-xs)}.legal-body a{border-bottom:1px solid}
