/* Components & responsive layout. Visual values are in theme.css. */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-3))}body{margin:0;background:var(--color-page);color:var(--color-text);font:var(--weight-body) var(--text-body)/var(--line-body) var(--font-body)}body.locked{overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-heading);letter-spacing:-.045em;line-height:var(--line-heading);text-wrap:balance}h1{font-size:var(--text-display)}h2{font-size:var(--text-heading)}h3{font-size:var(--text-subheading)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.65}button,a,input,textarea,summary{touch-action:manipulation}button{border:0}img{display:block;max-width:100%;height:auto}svg{display:block;flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:var(--focus-ring);outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(100%,var(--content-width));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-space)}.muted{color:var(--color-muted)}.eyebrow{font-size:var(--text-small);letter-spacing:.08em;margin-bottom:var(--space-3)}.accent{color:var(--color-accent)}.icon{width:24px;height:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--button-height);padding:var(--space-2) var(--space-3);border-radius:var(--button-radius);background:var(--button-fill);color:var(--button-text);font-size:var(--text-ui);font-weight:var(--button-weight);line-height:1.3;text-align:center;transition:background var(--transition)}.button:hover{background:var(--button-hover)}.button .icon{width:20px;height:20px}.button--quiet{background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-line)}.button--quiet:hover{background:var(--color-surface)}.text-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;color:var(--color-accent);font-size:var(--text-small)}.skip{position:fixed;left:var(--space-3);top:-100px;z-index:100;background:var(--color-accent);color:var(--color-on-accent);padding:var(--space-2)}.skip:focus{top:var(--space-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-header{height:var(--header-height);position:sticky;top:0;z-index:30;background:var(--color-header);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-line)}.header-row{height:100%;display:flex;align-items:center;gap:var(--space-4)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-size:1rem;letter-spacing:.1em;white-space:nowrap;flex-shrink:0}.brand .icon{width:28px;height:28px;color:var(--color-accent)}.brand b{font-weight:var(--weight-heading);color:var(--color-accent)}.site-nav{display:flex;align-items:center;gap:var(--space-4);margin-left:auto;font-size:var(--text-small);color:var(--color-muted)}.site-nav a{display:flex;align-items:center;min-height:44px}.site-nav a:hover{color:var(--color-text)}.header-cta{min-height:44px;font-size:var(--text-small)}
/* Language buttons: compact visible pills, fixed geometry, 44px-high targets. */
.language-switch{display:inline-flex;align-items:center;justify-content:center;flex:0 0 76px;width:76px;height:44px;gap:4px;isolation:isolate}.language-switch button{position:relative;display:grid;place-items:center;flex:0 0 36px;width:36px;height:44px;padding:0;background:transparent;border:0;border-radius:var(--radius-control);font-size:var(--text-caption);font-weight:var(--weight-heading);line-height:1;letter-spacing:.03em;color:var(--color-muted);white-space:nowrap}.language-switch button:before{content:"";position:absolute;inset:8px 0;border-radius:var(--radius-control);background:transparent;z-index:-1;transition:background var(--transition)}.language-switch button[aria-pressed=true]{color:var(--color-on-accent)}.language-switch button[aria-pressed=true]:before{background:var(--color-accent)}.language-switch button:not([aria-pressed=true]):hover:before{background:var(--color-surface-raised)}
.hero-shell{background:var(--background-hero)}.hero{padding-top:var(--space-5)}.hero-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-5);align-items:end;margin-bottom:var(--space-4)}.hero h1>span{display:block}.hero-intro{max-width:38ch}.hero-intro p{color:var(--color-muted);margin-bottom:var(--space-3)}.hero .eyebrow{display:flex;align-items:center;gap:var(--space-2)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.image-panel{border:1px solid var(--color-line);border-radius:var(--radius-panel);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-image)}.comparator{position:relative;aspect-ratio:1619/971;--split:48%;isolation:isolate;overflow:hidden}.comparator img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.compare-after{z-index:1}.compare-before{z-index:2;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-divider{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:var(--color-accent);z-index:3;pointer-events:none}.compare-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);display:grid;place-items:center}.compare-range{position:absolute;inset:0;z-index:4;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;touch-action:pan-y}.comparator:focus-within{outline:var(--focus-ring);outline-offset:-4px}.image-tag{position:absolute;top:var(--space-3);left:var(--space-3);z-index:5;padding:var(--space-1) var(--space-2);background:var(--color-image-label);border-radius:var(--radius-control);font-size:var(--text-caption);pointer-events:none}.image-tag--right{left:auto;right:var(--space-3);color:var(--color-accent)}.figure-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-small);color:var(--color-muted)}.comparison-info{font-size:var(--text-caption);color:var(--color-muted);margin-top:var(--space-1);max-width:90ch}.comparison-info summary{cursor:pointer;min-height:32px;display:flex;align-items:center;width:fit-content;gap:var(--space-2)}.comparison-info summary:after{content:'+'}.comparison-info[open] summary:after{content:'−'}.comparison-info p{padding-bottom:var(--space-2)}.value-strip{display:flex;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-4);border-bottom:1px solid var(--color-line)}.value-strip>p{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-ui)}.value-strip .icon{color:var(--color-accent)}
.studio-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.65fr);gap:var(--space-5);align-items:center}.section-copy h2{margin-bottom:var(--space-3)}.section-copy>p:not(.eyebrow){color:var(--color-muted);max-width:38ch}.topic-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);padding:0;list-style:none;font-size:var(--text-small)}.topic-list li{padding-bottom:var(--space-1);border-bottom:1px solid var(--color-line)}.studio-ui{background:var(--background-studio)}.studio-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-line)}.studio-name{display:flex;gap:var(--space-2);align-items:center;font-size:var(--text-caption);letter-spacing:.08em}.studio-name .icon{width:18px;height:18px;color:var(--color-accent)}.view-switch{display:inline-flex;gap:4px}.view-switch button{min-height:44px;padding:var(--space-2);background:transparent;border-radius:var(--radius-control);color:var(--color-muted);font-size:var(--text-small)}.view-switch button[aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent)}.studio-image{position:relative;aspect-ratio:2048/1228;background:var(--color-surface)}.studio-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.studio-foot{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);gap:var(--space-2);font-size:var(--text-caption);color:var(--color-muted)}.studio-foot .icon{width:16px;height:16px;color:var(--color-accent)}
.extension-section{padding-top:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.section-head p{max-width:36ch;color:var(--color-muted)}.badge{display:inline-block;border:1px solid var(--color-line);border-radius:var(--radius-control);padding:.25rem .5rem;font-size:var(--text-caption);line-height:1.4;font-weight:var(--weight-body);letter-spacing:0;color:var(--color-accent)}.extension-stage{position:relative;aspect-ratio:2048/845;background:var(--color-surface);overflow:hidden}.extension-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.extension-stage .original-frame{width:68%;left:16%}.extension-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.extension-toolbar p{font-size:var(--text-caption);color:var(--color-muted)}.future-details{border-bottom:1px solid var(--color-line);margin-top:var(--space-4)}.future-details summary{display:flex;justify-content:space-between;align-items:center;min-height:60px;gap:var(--space-3);cursor:pointer;list-style:none;font-size:var(--text-ui)}summary::-webkit-details-marker{display:none}.future-details summary:after{content:'+';color:var(--color-accent);font-size:1.5rem}.future-details[open] summary:after{content:'−'}.future-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);padding-block:var(--space-3) var(--space-4)}.future-list h3{font-size:var(--text-ui);letter-spacing:-.01em;line-height:1.4;margin-bottom:var(--space-2)}.future-list p{font-size:var(--text-small);color:var(--color-muted)}
.ownership-section{border-top:1px solid var(--color-line)}.ownership-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5);align-items:stretch}.trust-intro h2{margin-bottom:var(--space-4);max-width:15ch}.trust-items{display:grid;gap:var(--space-4)}.trust-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-3)}.trust-item>.icon{color:var(--color-accent)}.trust-item h3{font-size:var(--text-ui);letter-spacing:-.015em;line-height:1.4;margin-bottom:var(--space-1)}.trust-item p{font-size:var(--text-small);color:var(--color-muted);max-width:40ch}.catalogue-card{background:var(--background-catalogue);border:1px solid var(--color-line);border-radius:var(--radius-panel);padding:var(--space-4);display:flex;flex-direction:column;align-items:start;gap:var(--space-3)}.catalogue-card h3{font-size:clamp(1.75rem,3vw,2.75rem);max-width:16ch}.catalogue-card p{font-size:var(--text-ui);color:var(--color-muted);max-width:46ch}.catalogue-route{width:100%;padding-top:var(--space-3);margin-top:auto;border-top:1px solid var(--color-line);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-small)}.catalogue-route .icon{color:var(--color-accent);width:20px;height:20px}.catalogue-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-caption);color:var(--color-muted)}
.contact-section{background:var(--background-invitation);border-block:1px solid var(--color-line)}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5)}.contact-copy p{color:var(--color-muted);margin-top:var(--space-3);max-width:34ch}.contact-form{display:grid;gap:var(--space-3)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.contact-form label{display:grid;gap:var(--space-1);font-size:var(--text-small)}.contact-form input,.contact-form textarea{width:100%;min-width:0;min-height:48px;padding:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font-size:1rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-muted)}.contact-form textarea{min-height:90px;resize:vertical}.optional-message summary{font-size:var(--text-small);color:var(--color-muted);min-height:32px;cursor:pointer}.optional-message textarea{margin-top:var(--space-2)}.form-note{font-size:var(--text-caption);color:var(--color-muted)}.form-note button,.footer-links button{border:0;background:none;color:inherit;padding:0;font:inherit;text-decoration:underline}.form-note button{min-height:28px}.form-message{padding:var(--space-2);border:1px solid currentColor;border-radius:var(--radius-control);font-size:var(--text-small);color:var(--color-success)}.form-message.error{color:var(--color-error)}.hp-field{display:none}.footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding-block:var(--space-4);font-size:var(--text-caption);color:var(--color-muted)}.footer-links{display:flex;gap:var(--space-3)}.footer-links button{min-height:44px;text-decoration:none}.footer-links button:hover{color:var(--color-text)}dialog{width:min(680px,calc(100% - 2.5rem));max-height:85dvh;padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-panel);background:var(--color-surface);color:var(--color-text)}dialog::backdrop{background:var(--color-overlay);backdrop-filter:blur(8px)}dialog h2{font-size:2rem;margin-bottom:var(--space-3)}dialog h3{font-size:var(--text-ui);margin-block:var(--space-3) var(--space-2)}dialog p{font-size:var(--text-small);color:var(--color-muted)}dialog p+p{margin-top:var(--space-2)}dialog a{color:var(--color-accent);text-decoration:underline}.dialog-close{margin:0 0 var(--space-3) auto;display:grid;place-items:center;background:var(--color-surface-raised);width:44px;height:44px;border-radius:var(--radius-control)}.noscript{padding:var(--space-3);background:var(--color-surface-raised)}
@media(max-width:1000px){.header-row{gap:var(--space-3)}.site-nav{gap:var(--space-3)}.hero-head{grid-template-columns:1.2fr 1fr;gap:var(--space-4)}.studio-layout{grid-template-columns:1fr;gap:var(--space-4)}.section-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-4)}.section-copy h2{grid-row:1/3}.section-copy .topic-list{margin-top:var(--space-2)}.studio-ui{width:100%}.ownership-layout{gap:var(--space-4)}}
@media(max-width:760px){.site-nav{display:none}.language-switch{margin-left:auto}.hero-head{grid-template-columns:1fr;gap:var(--space-3)}.hero-intro{max-width:52ch}.hero-intro p{max-width:42ch}.hero h1{max-width:13ch}.section-head{display:block}.section-head p{margin-top:var(--space-3)}.ownership-layout,.contact-layout{grid-template-columns:1fr}.trust-intro h2{max-width:none}.trust-items{grid-template-columns:1fr 1fr;gap:var(--space-3)}.future-list{grid-template-columns:1fr;gap:var(--space-3)}.future-list h3{margin-bottom:var(--space-1)}.catalogue-card{gap:var(--space-3)}.catalogue-card h3{max-width:22ch}.catalogue-route{margin-top:var(--space-2)}.contact-copy p{max-width:42ch}.value-strip{gap:var(--space-2)}.value-strip>p{font-size:var(--text-small)}.value-strip .icon{width:20px;height:20px}.section-copy{display:block}.section-copy h2{max-width:18ch}.section-copy>p:not(.eyebrow){max-width:46ch}}
@media(max-width:600px){.header-cta{display:none}.header-row{gap:var(--space-2)}.brand{font-size:.9375rem}.brand .icon{width:25px;height:25px}.hero{padding-top:var(--space-4)}.hero .eyebrow{font-size:var(--text-caption);margin-bottom:var(--space-2)}.hero-intro .button{width:100%}.hero-head{margin-bottom:var(--space-3)}.comparator{aspect-ratio:1619/971}.image-tag{top:var(--space-2);left:var(--space-2);padding:.25rem .45rem;font-size:var(--text-caption)}.image-tag--right{left:auto;right:var(--space-2)}.compare-grip{width:36px;height:36px}.compare-grip .icon{width:20px;height:20px}.figure-footer{padding:var(--space-2);font-size:var(--text-caption)}.desktop-note{display:none}.value-strip{padding-block:var(--space-3);justify-content:space-between;align-items:start}.value-strip>p{flex-direction:column;align-items:start;gap:var(--space-1);max-width:11ch;line-height:1.4}.value-strip .icon{width:18px;height:18px}.topic-list{display:none}.studio-top{padding:var(--space-2);gap:var(--space-2)}.studio-name span{display:none}.view-switch button{font-size:var(--text-caption);padding:var(--space-2)}.studio-foot{padding:var(--space-2)}.extension-toolbar{padding:var(--space-2);flex-wrap:wrap}.extension-toolbar>p{display:none}.extension-toolbar .view-switch{width:100%}.extension-toolbar .view-switch button{flex:1;font-size:var(--text-small)}.extension-stage{aspect-ratio:2048/845}.future-details{margin-top:var(--space-3)}.future-details summary{font-size:var(--text-small);min-height:52px}.trust-items{grid-template-columns:1fr;gap:var(--space-3)}.trust-item{gap:var(--space-2)}.catalogue-card{padding:var(--space-3)}.catalogue-card p{font-size:var(--text-small)}.form-row{grid-template-columns:1fr;gap:var(--space-3)}.contact-layout{gap:var(--space-4)}.footer{gap:var(--space-2)}.footer-links{gap:var(--space-3)}.comparison-info{font-size:var(--text-caption)}dialog{padding:var(--space-3)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.confirmation-page{min-height:100dvh;display:grid;place-items:center;padding:var(--gutter);background:var(--background-hero)}.confirmation{width:min(100%,680px);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-panel)}.confirmation .language-switch{float:right}.confirmation h1{font-size:var(--text-heading);margin-block:var(--space-4)}.confirmation p{color:var(--color-muted);margin-block:var(--space-3)}.confirmation .button{margin-top:var(--space-3)}

/* v05 — comparisons and continuous extension, shared across viewport sizes. */
.studio-hint{font-size:var(--text-small);color:var(--color-muted)}
.bridge-comparator{aspect-ratio:2048/1228}
.extension-stage{--crop-left:19.14%;--crop-right:16.80%;--crop-top:6.63%;isolation:isolate}
.extension-grid{position:absolute;inset:0;background-color:var(--color-page);background-image:linear-gradient(var(--color-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-line) 1px,transparent 1px);background-size:32px 32px;opacity:.45}
.extension-stage .extension-image{clip-path:inset(var(--crop-top) var(--crop-right) 0 var(--crop-left));pointer-events:none}
.crop-frame{position:absolute;left:var(--crop-left);right:var(--crop-right);top:var(--crop-top);bottom:0;border:var(--crop-line) solid var(--color-accent);z-index:3;pointer-events:none}
.source-boundary{position:absolute;left:19.14%;right:16.80%;top:6.63%;bottom:0;border:1px dashed #ffffffb3;opacity:0;pointer-events:none;z-index:2}
.is-extended .source-boundary{opacity:1}
.crop-handle{position:absolute;width:36px;height:36px;pointer-events:auto;touch-action:none;display:grid;place-items:center;transform:translate(-50%,-50%)}
.crop-handle:after{content:"";width:var(--crop-handle-size);height:var(--crop-handle-size);background:var(--color-accent);border:2px solid var(--color-page);border-radius:2px;box-shadow:0 0 0 1px var(--color-accent)}
.h-nw{left:0;top:0;cursor:nwse-resize}.h-n{left:50%;top:0;cursor:ns-resize}.h-ne{left:100%;top:0;cursor:nesw-resize}.h-e{left:100%;top:50%;cursor:ew-resize}.h-se{left:100%;top:100%;cursor:nwse-resize}.h-s{left:50%;top:100%;cursor:ns-resize}.h-sw{left:0;top:100%;cursor:nesw-resize}.h-w{left:0;top:50%;cursor:ew-resize}
.extension-stage{overflow:visible;margin:var(--space-3);aspect-ratio:2048/845}
.extension-control{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}
.extension-control label{font-size:var(--text-small);color:var(--color-muted)}
.extension-control input{width:min(240px,40vw);min-width:70px;min-height:44px;accent-color:var(--color-accent)}
.extension-toolbar .button{min-height:44px;font-size:var(--text-small)}
@media(max-width:600px){.extension-control{flex-direction:column;align-items:stretch;gap:0}.extension-control input{width:100%}.extension-toolbar{flex-wrap:nowrap;gap:var(--space-3)}.extension-toolbar .button{max-width:45%}.studio-hint{font-size:var(--text-caption)}.bridge-comparator{aspect-ratio:2048/1228}.extension-stage{margin:var(--space-2)}.crop-handle{width:32px;height:32px}}
/* Trial intake boundary — backend remains owned by NADKA LAB. */
.login-link{font-size:var(--text-small);white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.trial-notice{font-size:var(--text-small);color:var(--color-muted)}
#trialFields{display:grid;gap:var(--space-3);border:0;padding:0;margin:0;min-width:0}
#trialFields:disabled{opacity:.55}
#turnstileMount{min-width:0}
.contact-form button:disabled{cursor:not-allowed}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){.header-cta{display:none}.login-link{margin-left:auto}.language-switch{margin-left:0}}
@media(max-width:400px){.brand .icon{display:none}.brand{font-size:.8rem;gap:6px}.header-row{gap:8px}.login-link{font-size:.8rem}}
