/* lensservice / BS Web Standard
   Single active stylesheet. Base → layout → components → responsive variants → preferences.
   Change shared tokens here; do not append page-specific correction sheets. */
:root {
 --ink:#202428;--muted:#58616a;--line:#dce0e4;--pale:#f5f6f7;--paper:#fff;
 --dark:#202528;--on-dark:#b4bdc3;--focus:#246390;--error:#9b3029;
 --max:1200px;--gutter:48px;--section-space:3.5rem;--column-gap:3rem;
 --text-body:1rem;--text-support:.875rem;--text-nav:1rem;
 --heading-1:clamp(2rem,1.35rem + 2.4vw,3.5rem);
 --heading-2:clamp(1.75rem,1.4rem + 1vw,2.25rem);
 --radius:6px;--target:44px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font:var(--text-body)/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-optical-sizing:auto;font-kerning:normal;-webkit-font-smoothing:antialiased}
main{overflow-wrap:anywhere}
p,h1,h2,h3,figure{margin:0}p{color:var(--muted)}
h1,h2,h3{font-weight:400;text-wrap:balance}
h1{font-size:var(--heading-1);line-height:1.12;letter-spacing:-.035em}
h2{font-size:var(--heading-2);line-height:1.2;letter-spacing:-.025em}
h3{font-size:1.375rem;font-weight:500;line-height:1.25;letter-spacing:-.015em}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}
a,button,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
img{display:block;width:100%;height:auto}svg{width:22px;height:22px;flex-shrink:0}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:absolute;left:10px;top:-100px;z-index:30;background:white;padding:12px}.skip:focus{top:10px}
.wrap{width:calc(100% - 2 * var(--gutter));max-width:var(--max);margin-inline:auto}
.section{padding-block:var(--section-space)}.pale{background:var(--pale)}
.index{display:block;color:var(--muted);font-size:var(--text-support);line-height:1.5;letter-spacing:.035em}
/* Shared navigation: the dropdown is anchored to the header's right edge, beneath Menu. */
.header{position:relative;z-index:20;min-height:80px;padding-block:16px;display:flex;align-items:center;flex-wrap:wrap;gap:24px;border-bottom:1px solid #e7e9eb}
.header>*{min-width:0}
.logo{display:flex;align-items:baseline;gap:10px;line-height:1.2;white-space:nowrap}
.logo strong{font-size:1.875rem;font-weight:500;letter-spacing:-1.35px;line-height:1}
.logo em{font-style:normal;font-weight:300;letter-spacing:-1.1px}
.logo>span{font-size:var(--text-support);letter-spacing:0;color:#62686d}
.header nav{display:flex;align-items:center;flex-wrap:nowrap;margin-left:auto;gap:16px;font-size:var(--text-nav);line-height:1.5}
.header nav a,.menu{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target);min-width:var(--target)}
.header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.header-phone{display:inline-flex;align-items:center;min-height:var(--target);border-left:1px solid var(--line);padding-left:24px;font-size:var(--text-support);font-variant-numeric:tabular-nums}
.menu{display:none;font-size:var(--text-nav);line-height:1.5;font-weight:400;border:0;background:none;color:var(--ink);cursor:pointer}
.menu:focus-visible{outline-offset:-2px}
.header nav .locale{display:inline-flex;align-items:center;flex:0 0 auto;gap:0;white-space:nowrap;line-height:1}
.header nav .locale a{padding:0;line-height:1;justify-content:center}
.locale>span{display:flex;align-items:center;justify-content:center;flex:0 0 .5rem;color:var(--muted);line-height:1}
.locale a[aria-current=page]{font-weight:600;text-decoration:underline;text-underline-offset:6px}
/* Shared actions and disclosures. */
.button,.quiet-cta{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;gap:24px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:white;font-size:.9375rem;font-weight:500;line-height:1.3;cursor:pointer;transition:background .18s}
.button:hover,.quiet-cta:hover{background:#41484e;border-color:#41484e}
.text-link{display:inline-flex;align-items:center;gap:28px;min-height:var(--target);margin-top:25px;font-size:var(--text-support);font-weight:550;color:var(--ink)}
details{border-bottom:1px solid #cbd3d9}
summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;min-height:var(--target);padding:20px 0;font-size:1.125rem;font-weight:500;line-height:1.35;cursor:pointer}
summary::-webkit-details-marker{display:none}
details p{font-size:1rem;line-height:1.55;max-width:58ch;padding-bottom:18px}
details[open] summary svg{transform:rotate(90deg)}
/* Home hero and lens panorama. Images retain the approved composition. */
.panorama-intro{text-align:center;padding:36px 20px 32px}
.panorama-intro h1{max-width:22ch;margin:auto}.panorama-intro h1>span{display:block;color:inherit}
.panorama-intro p{font-size:1.0625rem;line-height:1.55;margin:16px auto 0}
.quiet-cta{margin-top:24px;padding:12px 22px;gap:20px;line-height:1.4}.quiet-cta span{font-size:1.1875rem}
.scroll-scene,.scene-sticky{position:relative;height:auto}
.lens-panorama{position:relative;overflow:hidden;--reveal:0%;background:#202123}
.panorama-stage{position:relative;aspect-ratio:3/1;overflow:hidden}
.lens-layer{position:absolute;inset:0}.lens-layer img{width:100%;height:100%;object-fit:cover}
.fujinon-layer{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}
.wipe-line{position:absolute;left:var(--reveal);top:8%;bottom:8%;border-left:1px solid #ffffff55;pointer-events:none;opacity:0}
.lens-panorama.in-progress .wipe-line{opacity:1}
.panorama-bottom{display:flex;position:relative;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;min-height:64px;padding:8px max(var(--gutter),calc((100vw - var(--max))/2));border-top:1px solid #ffffff12;color:var(--on-dark);font-size:var(--text-support)}
.brand-controls{display:flex;align-items:center;gap:12px}
.brand-controls button{min-width:64px;min-height:var(--target);padding:8px 4px;border:0;border-bottom:2px solid transparent;background:none;color:var(--on-dark);font-size:1rem;font-weight:400;line-height:1.4;cursor:pointer}
.brand-controls button[aria-pressed=true]{color:white;border-bottom-color:white;font-weight:600}
.brand-controls>span{color:var(--on-dark)}
/* Shared section grid and home content. */
.section-title,.symptom-layout,.process,.documentation,.model-service,.model-context,.safe-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--column-gap)}
:where(.section-title,.model-context,.safe-section,.documentation,.model-service)>*{min-width:0}
:where(.section-title,.model-context,.safe-section,.documentation,.model-service) p{max-width:65ch;line-height:1.55}
.section-title{align-items:start;margin-bottom:32px}.section-title h2,.model-service>h2{max-width:23ch}.section-title>p{font-size:1rem;max-width:58ch}
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.services article{border-top:1px solid var(--line);padding-top:18px}.services h3{margin:16px 0 8px}.services p{max-width:40ch;font-size:1rem;line-height:1.55}
.symptom-layout>div>p{margin-top:16px;font-size:1rem;line-height:1.55;max-width:58ch}
.symptom-list{border-top:1px solid #cbd3d9}.symptom-list summary{font-size:1.0625rem;line-height:1.35}.symptom-list details p{padding-bottom:12px}
.symptom-list .text-link{background:transparent;border:0;padding:0 0 16px;font:inherit;font-weight:500;cursor:pointer}
.model-teaser{display:block;color:var(--ink)}.model-picture{background:var(--dark)}.model-picture img{height:380px;object-fit:contain}
.model-teaser>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:8px var(--column-gap);align-items:center;padding-top:24px}
.model-teaser .index,.model-teaser h3{grid-column:1}.model-teaser h3{font-size:2.125rem;margin:8px 0 0;letter-spacing:-.04em}
.model-teaser p{grid-column:2;grid-row:1/3;font-size:1rem;line-height:1.55}.model-teaser .text-link{grid-column:2;margin:0}
#objektyvai>.text-link{margin-top:20px}
.process{border-top:1px solid var(--line);align-items:start}
.process-photo img{aspect-ratio:1.15;object-fit:cover}.process-photo p{font-size:var(--text-support);margin-top:12px}
.steps{list-style:none;margin:16px 0 0;padding:0}.steps li{display:flex;gap:20px;padding-block:18px;border-bottom:1px solid var(--line)}
.steps li>span{flex:0 0 2ch;font-variant-numeric:tabular-nums;font-size:var(--text-support);color:var(--muted);padding-top:4px}
.steps h3{font-size:1.125rem;line-height:1.4;margin-bottom:7px}.steps p{font-size:1rem;line-height:1.55;max-width:58ch}
/* Model pages. */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding-block:12px;color:var(--muted);font-size:var(--text-support);line-height:1.5}
.breadcrumb a{display:inline-flex;align-items:center;min-height:32px}.breadcrumb a:hover{text-decoration:underline}
.full-product{position:relative;background:var(--dark);color:#f4f5f6}
.product-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 24px;padding-top:32px;text-align:left}
.product-heading>span{grid-column:1/-1;font-size:var(--text-support);letter-spacing:.025em;color:var(--on-dark)}
.product-heading h1{font-size:var(--heading-1);overflow-wrap:anywhere}
.product-heading p{font-size:1rem;margin:0 0 4px;max-width:26ch;color:var(--on-dark)}
.full-product>img{height:clamp(250px,28vw,390px);padding:0 20px;object-fit:contain}
.product-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:16px 0 20px;border-top:1px solid #ffffff24;color:var(--on-dark);font-size:var(--text-support)}
.product-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-block:24px}
.product-summary>div{flex:1}.product-summary p{max-width:72ch;font-size:1rem;line-height:1.55}.product-summary>.button{flex-shrink:0}
.model-context{border-top:1px solid var(--line)}.model-context .text-link{margin-top:12px}
.version-list{margin-top:16px;line-height:1.6;color:#4c545b;max-width:45ch;overflow-wrap:anywhere}
.fault-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px var(--column-gap);margin-bottom:28px}
.fault-intro>.index{grid-column:1}.fault-intro h2{grid-column:1;grid-row:2/4;align-self:start;max-width:23ch}
.fault-intro>p{grid-column:2;max-width:65ch;font-size:1rem;line-height:1.55}.fault-intro>p:first-of-type{grid-row:1/3}
.fault-intro>p:last-of-type a{display:inline-flex;align-items:center;min-height:var(--target);font-size:var(--text-support);text-decoration:underline;text-underline-offset:4px}
.fault-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--column-gap);align-items:start}
.fault{border-top:1px solid #cbd3d9;border-bottom:0;min-width:0}
.fault summary{min-height:80px;padding-block:20px;gap:16px}.fault summary h3{font-size:1.0625rem;line-height:1.45;font-weight:500;text-wrap:pretty;letter-spacing:-.02em}
.fault summary>span{flex-shrink:0;font-size:1.4375rem;font-weight:300}.fault[open] summary>span{transform:rotate(45deg)}
.fault-copy{padding:0 0 20px}.fault-copy p{font-size:1rem;line-height:1.55;max-width:65ch;padding:0;margin:0 0 14px}.fault-symptom{color:var(--ink)}
.fault-copy button{display:inline-flex;align-items:center;min-height:var(--target);background:none;border:0;border-bottom:1px solid #7b858e;padding:0 0 4px;margin:0;font:inherit;font-size:.9375rem;line-height:1.4;text-align:left;cursor:pointer}
.safe-section{border-bottom:1px solid var(--line)}.safe-section h2{max-width:16ch}.safe-section p+p{margin-top:20px}
.safe-section .button{margin-top:24px;background:transparent;border-color:#7e8892;color:var(--ink)}.safe-section .button:hover{background:var(--pale)}
.documentation>div>p{margin-top:20px;font-size:1rem}.model-docs{margin-top:20px}
.documentation a{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #cbd3d9;padding-block:20px}
.model-docs>a{border-bottom:1px solid var(--line);font-size:1rem;line-height:1.5;padding-block:18px}
.documentation a span{color:var(--muted);font-size:.75rem;margin-top:5px}
.documentation .doc-note{font-size:var(--text-support);line-height:1.55}
.model-service{border-top:1px solid var(--line)}.model-service .steps{margin:0}.model-service .steps li:first-child{padding-top:0}.model-service .steps p{max-width:60ch}
.related-models>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.related-models>div a{display:flex;align-items:center;justify-content:space-between;min-height:var(--target);gap:12px;padding-block:16px;border-top:1px solid var(--line);font-size:1rem;overflow-wrap:anywhere}
.related-models>p{font-size:var(--text-support);line-height:1.55;max-width:70ch;margin-top:28px}
/* Catalogues share one card and filtering layout, including brand pages. */
.catalog-intro{padding-top:38px;padding-bottom:32px}.catalog-intro>.index{margin-bottom:14px}.catalog-intro h1{max-width:820px}
.catalog-intro>p{font-size:1.0625rem;max-width:66ch;margin-top:22px}
.catalog-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:24px}.catalog-filters>*{min-width:0}
.result-count{font-size:var(--text-support);margin:4px 0 20px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.catalog-card{display:block;min-width:0}.catalog-card img{aspect-ratio:4/3;object-fit:contain;background:var(--dark)}
.catalog-card>div{padding-top:16px}.catalog-card h2{font-size:1.5rem;margin:8px 0 10px;overflow-wrap:anywhere}.catalog-card p{font-size:1rem;line-height:1.55}
.catalog-card .index{color:#5c6369}.catalog-card .text-link{font-size:var(--text-support);margin-top:12px}
.catalog-help{font-size:.9375rem;margin:32px 0 48px;line-height:1.7}.catalog-help a{text-decoration:underline;text-underline-offset:3px}
.catalog-empty{font-size:1rem;line-height:1.55;max-width:60ch;margin:16px 0 24px}.catalog-empty a{display:inline-flex;align-items:center;min-height:var(--target);text-decoration:underline;text-underline-offset:4px}
/* Contact and enquiry component — one instance per page. */
.contact-section{background:var(--pale);border-top:1px solid var(--line)}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--column-gap);align-items:start;padding-block:var(--section-space)}.contact>*{min-width:0}
.contact-lead{max-width:40ch;font-size:1rem;line-height:1.55;margin:16px 0 24px}
.contact-number{display:inline-flex;align-items:center;min-height:var(--target);font-size:1.75rem;line-height:1.35;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.contact-email{display:flex;align-items:center;min-height:var(--target);font-size:1rem;margin:0 0 20px;overflow-wrap:anywhere}
.contact address{font-style:normal;font-size:1rem;line-height:1.6}.hours{font-size:1rem;line-height:1.6;margin-top:12px}.hours strong{font-weight:500;color:var(--ink)}
form{scroll-margin-top:24px}form h3{font-size:1.5rem;font-weight:500;margin:0 0 8px}
.form-intro{font-size:1rem;line-height:1.55;margin-bottom:20px;max-width:54ch}
.enquiry-fields{border:0;min-width:0;padding:0;margin:0}.required-note{font-size:var(--text-support);line-height:1.5;margin:0 0 16px}
.form-section h4{margin:0 0 16px;font-size:1rem;font-weight:600;line-height:1.4;letter-spacing:0}
.form-section+.form-section{border-top:1px solid var(--line);padding-top:20px;margin-top:4px}
label{display:block;font-size:var(--text-support);font-weight:500;line-height:1.5;margin:0 0 16px}
input,textarea,select{display:block;width:100%;min-width:0;min-height:48px;background:white;color:var(--ink);border:1px solid #7e8892;border-radius:var(--radius);padding:11px 12px;font-size:1rem;line-height:1.5;margin-top:6px}
textarea{min-height:120px;resize:vertical}input:hover,textarea:hover{border-color:#58616a}input::placeholder,textarea::placeholder{color:#66717b;opacity:1}
.catalog-filters select{margin-top:7px;padding:8px;border-color:#c3cbd0;border-radius:5px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-end{display:flex;align-items:center;gap:22px}
.enquiry-extra{margin:0 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.enquiry-extra summary{min-height:52px;padding-block:16px;gap:16px;font-size:.9375rem;line-height:1.5}.enquiry-extra[open] summary span{transform:rotate(45deg)}
.enquiry-extra .form-grid{margin-top:4px}.field-help{font-size:var(--text-support);line-height:1.55;padding:0 0 14px}
#photo-list{overflow-wrap:anywhere}.photo-field input{font-size:var(--text-support);border-style:dashed;padding:8px;background:transparent}
.photo-field input::file-selector-button{font:inherit;min-height:32px;border:0;background:#e4e7e9;color:#1c252b;padding:6px 10px;margin-right:12px;cursor:pointer}
.enquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:var(--text-support);line-height:1.55;max-width:58ch;margin:0 0 20px}.form-note a{text-decoration:underline;text-underline-offset:3px}
.local-form-note{font-size:var(--text-support);line-height:1.5;padding:10px 12px;background:#e9edf0;margin:0 0 20px;border-left:2px solid #6e7880}
.field-group{min-width:0}.field-error{display:block;color:var(--error);font-size:var(--text-support);font-weight:400;line-height:1.5;margin-top:8px}.field-group>.field-error:not([hidden]){margin:-8px 0 16px}
[aria-invalid=true]{border:2px solid var(--error)}
.enquiry-fields:disabled input,.enquiry-fields:disabled textarea{background:#eceff1;color:#52606b}
.enquiry-fields:disabled .button{background:#e3e7ea;color:#52606b;border-color:#a8b0b7;cursor:default}
form[aria-busy=true] .button::before{content:'';width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:form-progress .8s linear infinite}
@keyframes form-progress{to{transform:rotate(360deg)}}
#form-status:empty{display:none}#form-status:not(:empty){margin-top:15px;border-left:2px solid #526e5e;border-radius:0 var(--radius) var(--radius) 0;padding:12px 16px;background:white;font-size:1rem;line-height:1.55;overflow-wrap:anywhere}
#form-status[data-state=error]{border-color:var(--error);color:var(--error)}#form-status[data-state=error]::before{content:'!';font-weight:700;display:inline-block;margin-right:8px}
.is-complete .form-intro{display:none}.is-complete #form-status{margin-top:24px;padding:20px 24px}
.new-enquiry{display:inline-flex;align-items:center;justify-content:center;min-width:var(--target);min-height:var(--target);border:0;border-bottom:1px solid currentColor;background:none;padding:4px 0;margin-top:12px;font-size:.9375rem;cursor:pointer}
/* Footer and reusable reference links. */
.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:28px;border-top:1px solid var(--line)}
.footer .logo{flex-direction:column;gap:8px}.footer .logo strong{font-size:1.75rem}
.footer p{color:var(--ink)}.footer p span{color:var(--muted)}.footer p,.footer p span,.footer>div{font-size:var(--text-support);line-height:1.6}
.footer>div{display:flex;flex-direction:column;gap:6px;color:var(--muted)}.footer>div a{display:inline-flex;align-items:center;min-height:var(--target)}
.reference-links{display:flex;flex-wrap:wrap;gap:16px 32px}.reference-links a{display:inline-flex;align-items:center;min-height:var(--target);text-decoration:underline;text-underline-offset:5px}.reference-section h2{margin-bottom:24px}
/* Reference pages: unique content, shared typography and layout components. */
.guide-site .page-top{padding-block:24px}.guide-site .page-top h1{font-size:clamp(2rem,1.5rem + 2vw,3.25rem);max-width:24ch;margin:16px 0 0}
.guide-site .lead{max-width:65ch;font-size:1.125rem;line-height:1.55}.guide-site .page-top .lead{margin-top:16px}
.guide-site .eyebrow,.guide-site .number{font-size:var(--text-support);color:#596168}
.guide-site .care-content{padding-bottom:64px}.guide-site .care-content>p{max-width:75ch;margin:20px 0}
.guide-site .care-content h2{font-size:1.75rem;line-height:1.2;margin:24px 0 16px}
.table-scroll{position:relative;overflow:auto;max-width:100%;margin:32px 0}.table-hint{display:none}
.guide-site table{width:100%;border-collapse:collapse;line-height:1.5}.guide-site th,.guide-site td{padding:16px;text-align:left;border-bottom:1px solid #d7dce0;vertical-align:top;overflow-wrap:anywhere}.guide-site th{background:#f4f5f6}.guide-site td a{text-decoration:underline;text-underline-offset:3px}
.guide-site .care-grid,.guide-site .packing{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-block:48px}.guide-site .packing li{margin-block:12px}
.guide-site .privacy-content{max-width:70ch}.guide-site .privacy-content h1{margin-bottom:32px}.guide-site .privacy-content h2{font-size:1.5rem;margin:32px 0 12px}.guide-site .privacy-content p{line-height:1.65}.guide-site p a{text-decoration:underline;text-underline-offset:3px}
.guide-content{padding-bottom:40px}.guide-content>.lead{margin-bottom:32px}
.guide-section,.code-section{padding-block:32px;border-top:1px solid var(--line)}.guide-section h2,.code-section h2{margin-bottom:20px;overflow-wrap:anywhere}
.guide-section p,.code-section>p{max-width:70ch;font-size:1rem;line-height:1.55;margin-top:16px}
.source-links{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:16px}.source-links a{display:inline-flex;align-items:center;min-height:var(--target);font-size:var(--text-support);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.control-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:24px 0 0;padding:0;list-style:none;counter-reset:chain}
.control-chain li{padding-top:16px;border-top:1px solid var(--line);counter-increment:chain;display:flex;gap:16px;align-items:baseline;font-size:1rem}.control-chain li::before{content:'0' counter(chain);font-size:var(--text-support);color:var(--muted)}
.control-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-block:16px 32px}.control-photo img{width:100%;height:220px;object-fit:contain}.control-photos figcaption{font-size:var(--text-support);margin-top:12px;color:var(--muted)}
.code-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}.code-heading h2{margin-top:8px}
.guide-lens{background:var(--dark)}.guide-lens img{height:240px;width:100%;object-fit:contain}
.code-parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:24px 0 32px}.code-parts>div{border-top:1px solid var(--line);padding-top:16px;min-width:0}.code-parts dt{font-size:1.375rem;line-height:1.3;font-weight:500}.code-parts dd{font-size:1rem;line-height:1.55;letter-spacing:0;margin:8px 0 0;color:var(--muted)}
.guide-site .small{font-size:var(--text-support);line-height:1.55;max-width:75ch;margin-block:24px}
.guide-site .reference-links{margin-block:32px}.guide-site .reference-links>span{flex-basis:100%;font-size:var(--text-support);color:var(--muted)}
.help-strip{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:32px;padding-block:32px;border-top:1px solid #d7dce0}.help-strip h2{margin-bottom:12px}.help-strip p{max-width:65ch}.help-strip .button{flex-shrink:0}
/* Responsive variants are intentional; each component has one base definition. */
@media(max-width:1100px){
 :root{--gutter:32px;--column-gap:2rem}
 .logo>span,.header-phone{display:none}
 .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px){
 .header{min-height:68px;padding-block:10px;gap:0}
 .menu{display:inline-flex;margin-left:auto;padding:8px 0 8px 16px}
 .header nav{display:none;position:absolute;right:0;top:calc(100% + 8px);width:min(20rem,calc(100vw - 2 * var(--gutter)));max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px #2024281f}
 .header nav.open{display:flex}.header nav>a{justify-content:flex-start;padding:8px 12px;min-height:var(--target);border-radius:4px}.header nav>a:hover{background:var(--pale)}
 .header nav .locale{align-self:flex-start;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
}
@media(max-width:760px){
 :root{--gutter:20px;--section-space:2.5rem;--column-gap:1.5rem}
 .header .logo strong{font-size:1.75rem}
 .panorama-intro{padding:28px 20px}.panorama-intro h1{font-size:clamp(1.875rem,1.25rem + 3vw,2.5rem);max-width:none}
 .panorama-intro p{font-size:1rem;line-height:1.55}.panorama-intro p>span{display:block}
 .panorama-bottom{padding:8px 20px}.panorama-bottom .scroll-label,.panorama-bottom>span:last-child{display:none}
 .section-title,.symptom-layout,.process,.contact,.documentation,.model-service,.model-context,.safe-section{grid-template-columns:1fr}
 .section-title{margin-bottom:32px}.services{grid-template-columns:1fr;gap:32px}
 .model-picture img{height:270px}.model-teaser>div:last-child{display:block;padding-top:24px}.model-teaser h3{font-size:1.875rem}.model-teaser p{margin-top:14px}
 .product-heading{display:block;padding-top:24px}.product-heading h1{margin-top:8px}.product-heading p{margin:12px 0 0;max-width:none}
 .full-product>img{height:260px;padding:12px 20px}.product-caption{padding:12px 0 16px}
 .product-summary{flex-direction:column;align-items:stretch;gap:16px}.product-summary>.button{align-self:flex-start}
 .fault-intro{display:block;margin-bottom:20px}.fault-intro h2{margin:8px 0 16px}.fault-intro>p{margin-top:8px}
 .fault-list{grid-template-columns:1fr}.fault summary{min-height:64px;padding-block:18px;font-size:1.0625rem}.safe-section h2{max-width:none}
 .related-models>div{grid-template-columns:1fr;gap:20px}
 .catalog-intro{padding-top:28px}.catalog-intro h1{font-size:var(--heading-1);line-height:1.12}.catalog-intro>p{font-size:1rem}
 .catalog-filters{grid-template-columns:1fr 1fr;gap:0 16px}.catalog-filters>label:first-child{grid-column:1/-1}
 .catalog-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:28px 16px}
 .contact{gap:32px}.contact>form{border-top:1px solid var(--line);padding-top:28px}.contact-number{font-size:1.6875rem}
 .form-grid{grid-template-columns:1fr;gap:0}.form-end{flex-direction:column;align-items:flex-start;gap:12px}.form-end .button{width:100%}
 .footer{flex-direction:column;align-items:flex-start;gap:20px}.footer>div{flex-direction:row;flex-wrap:wrap;gap:8px 20px}
 .reference-links{flex-direction:column;gap:8px}
 .guide-site .page-top{padding-block:20px}.guide-site .page-top h1{font-size:var(--heading-1)}.guide-content>.lead{font-size:1rem;margin-bottom:24px}
 .guide-site .care-grid,.guide-site .packing{grid-template-columns:1fr;gap:24px}
 .guide-site th,.guide-site td{padding:12px;min-width:135px}
 .guide-site .table-hint{display:block;font-size:var(--text-support);color:var(--muted);margin:24px 0 8px}.table-hint+.table-scroll{margin-top:8px}
 .code-heading{grid-template-columns:1fr;gap:8px}.code-parts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.guide-lens img{height:220px}
 .control-chain{grid-template-columns:1fr;gap:12px}.control-photos{grid-template-columns:1fr;gap:24px}.control-photo img{height:180px}
 .guide-section,.code-section{padding-block:24px}.source-links{flex-direction:column;gap:8px}.help-strip{flex-direction:column;align-items:flex-start}
}
@media(prefers-contrast:more){:root{--muted:#353c42;--line:#727b82}input,textarea,select{border-color:#353c42}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}form[aria-busy=true] .button::before{animation:none}.scroll-label{display:none}.button,.quiet-cta{transition:none}}
