/* Mobile reading and interaction. Desktop materials and spatial stage are unchanged. */
.animal-ai-notice-disclosure>summary{display:none}
@media(max-width:980px){
 :is(.category-page,.product-intro,.project-caption,.form-layout,.company-full,.product-note)>*{min-width:0}
 :is(.spatial-category,.spatial-catalogue) .category-services{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-media-soulmaps{padding:20px;gap:16px}.project-media-soulmaps .service-wordmark{font-size:26px;white-space:nowrap}.service-wordmark>span{white-space:normal;font-size:13px;line-height:1.5}
 .spatial-catalogue .catalogue-education .project,:is(.spatial-category,.spatial-catalogue) .category-gallery-single>.project{display:flex;flex-direction:column}
 .product-note,.product-detail .product-closing,.spatial-information .form-layout,.home-inquiry .form-layout,.spatial-catalogue .company-full{grid-template-columns:1fr;gap:26px}
 .product-detail .product-closing h2{font-size:28px;max-width:24ch}.product-detail .product-closing{padding:28px}
 .mirroring-section-heading,.mirroring-feature,.mirroring-operation{grid-template-columns:1fr;gap:24px}
}

/* Keep composing and reading separate when the software keyboard reduces the space. */
@media(max-width:1100px){
 .animal-ai-dialog .animal-ai-form-bottom button,.animal-ai-dialog .animal-ai-form-bottom a{min-height:44px}
 .animal-ai-dialog[data-ai-keyboard] .animal-ai-form-bottom{display:none}
 .animal-ai-dialog:is([data-ai-compact],[data-ai-keyboard]) .animal-ai-compose{padding:4px 8px}
 .animal-ai-dialog:is([data-ai-compact],[data-ai-keyboard]) .animal-ai-compose textarea{height:44px;min-height:44px}
 .animal-ai-dialog:is([data-ai-compact],[data-ai-keyboard]) .animal-ai-notice-disclosure{position:relative}
 .animal-ai-dialog:is([data-ai-compact],[data-ai-keyboard]) .animal-ai-notice-disclosure>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;width:100%;font-size:12px;color:#b5d6df;cursor:pointer;list-style:none}
 .animal-ai-dialog:is([data-ai-compact],[data-ai-keyboard]) .animal-ai-notice-disclosure>summary::after{content:'+';font-size:20px}
 .animal-ai-dialog:is([data-ai-compact],[data-ai-keyboard]) .animal-ai-notice-disclosure[open]>summary::after{content:'−'}
 .animal-ai-dialog:is([data-ai-compact],[data-ai-keyboard]) .animal-ai-notice-disclosure>summary::-webkit-details-marker{display:none}
 .animal-ai-dialog:is([data-ai-compact],[data-ai-keyboard]) .animal-ai-notice-disclosure .animal-ai-notice{position:absolute;bottom:100%;left:0;right:0;z-index:5;padding:12px;margin:0;border:1px solid #829eb2;border-radius:12px;background:#102632;font-size:12px;line-height:1.65;max-height:calc(var(--ai-viewport-height,100dvh) - 110px);overflow-y:auto;overscroll-behavior:contain}
 .animal-ai-dialog .animal-ai-notice-disclosure>summary:focus-visible{outline:3px solid #b0f1df;outline-offset:-3px;border-radius:6px}
 .animal-ai-dialog[open][data-ai-minimal] .ai-space-body,.animal-ai-dialog[open][data-ai-minimal][data-consultation=true] .ai-space-body{grid-template-rows:24px minmax(0,1fr)}
}
@media(max-width:700px){
 html:has(.spatial-hero){scroll-snap-type:y proximity}
 body.spatial-catalogue #main>section{scroll-snap-stop:normal}
 .spatial-content{padding-block:20px;align-content:center}
 .spatial-heading{margin-bottom:22px}.spatial-heading h1{font-size:clamp(28px,8vw,34px);line-height:1.22}.spatial-intro{margin-top:15px}.spatial-intro p{font-size:14px;line-height:1.75}
 .spatial-portals{gap:12px;margin-bottom:18px}.spatial-portal{height:120px}.portal-copy{top:14px;bottom:12px;left:20px;right:44px}.portal-copy h2[lang=en]{font-size:24px}.portal-copy>span{line-height:1.45}.spatial-bottom{margin-top:0}
 body:has(.animal-ai-launcher) .spatial-bottom{padding-right:76px}.spatial-bottom p{font-size:13px;line-height:1.65}
 body:has(.spatial-hero) #main>section:not(.spatial-hero){margin-block:24px;min-height:0}
 body.spatial-catalogue #main>section.catalogue-section{padding-block:0}
 .spatial-catalogue .catalogue-section .product-intro{padding:22px;gap:14px}.spatial-catalogue .catalogue-section .product-intro>h2{font-size:30px}
 .spatial-catalogue .catalogue-section .category-gallery{gap:18px;margin-top:18px}
 :is(.spatial-category,.spatial-catalogue) .category-services{grid-template-columns:1fr}
 :is(.spatial-category,.spatial-catalogue) .project-caption{padding:22px}.spatial-catalogue .project-heading h3{font-size:25px;line-height:1.35}
 .project-description{font-size:15px;line-height:1.8}.project-category{font-size:13px}
 .spatial-catalogue .catalogue-section .project-media{height:230px}.spatial-catalogue .catalogue-education .project-media,:is(.spatial-category,.spatial-catalogue) .category-gallery-single .project-media{height:280px}
 .product-intro h1{font-size:30px;line-height:1.3;overflow-wrap:anywhere}.product-lead{font-size:20px;line-height:1.65}.product-detail>.container:first-child{padding:24px 22px}
 .product-detail .product-closing{padding:24px 22px}.product-detail .product-closing h2{font-size:25px;line-height:1.4}
 .product-related{width:calc(100% - 40px)}.product-related h2{font-size:25px}.product-related>div>a{padding:20px}.product-related strong{font-size:22px}
 .spatial-information #main>.page-intro{padding:24px 22px}.spatial-information #main>section{padding:24px 22px}.spatial-information .form-layout{gap:24px}
 :is(.spatial-information,.home-inquiry) .field input,:is(.spatial-information,.home-inquiry) .field select,:is(.spatial-information,.home-inquiry) .field textarea{width:100%;min-width:0;font-size:16px;line-height:1.5}
 .field-row{grid-template-columns:1fr}.form-actions{gap:12px}.form-actions .button{min-height:48px}
 .spatial-information .contact-context p,.home-inquiry .contact-context p,.company-story p{font-size:15px;line-height:1.8}
 #site-nav .nav-contact{color:#10262a!important;background:#b0f1df!important}
 .animal-ai-launcher{width:56px;height:56px;min-height:56px;padding:6px;justify-content:center;gap:0;border-radius:50%}
 .animal-ai-launcher>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .ai-launch-core{width:42px;height:42px}
 body:has(#main form:focus-within) .animal-ai-launcher{opacity:0;pointer-events:none}
 .client-portfolio-heading{gap:18px}.client-portfolio-heading>p{font-size:15px;line-height:1.8}.client-portfolio-full>.container{width:calc(100% - 36px)}
 .client-portfolio-toolbar{gap:14px;align-items:flex-start}.client-portfolio-filters{gap:6px;flex-wrap:wrap}.client-portfolio-filters button{min-height:44px}
}
@media(max-width:700px) and (max-height:760px){.spatial-portal{height:104px}.spatial-content{padding-block:14px}.spatial-heading{margin-bottom:18px}.spatial-heading h1{font-size:28px}.spatial-intro{margin-top:12px}.spatial-portals{gap:9px;margin-bottom:16px}.portal-copy{top:11px;bottom:10px}.portal-copy h2[lang=en]{font-size:22px}.portal-copy p{margin-top:3px}.portal-copy>span{margin-top:5px}}

/* Mobile category cards: readable copy and a generous, independently framed visual. */
@media(max-width:700px){
 .spatial-hero{min-height:calc(100svh - 132px);height:auto}
 .spatial-content{display:flex;flex-direction:column;justify-content:center;gap:0;padding-block:28px}
 .spatial-heading{margin-bottom:26px;gap:0}.spatial-heading h1{font-size:clamp(30px,8vw,36px);line-height:1.2;max-width:15ch}
 .spatial-intro{margin-top:16px}.spatial-intro p{font-size:14px;line-height:1.7}.spatial-desktop-break{display:none}
 .spatial-portals{width:100%;display:grid;grid-template-columns:1fr;gap:14px;margin:0 0 22px}
 .spatial-portal{height:164px;min-height:164px;border-radius:24px;isolation:isolate}
 .portal-image{left:39%;right:0;top:0;bottom:0;opacity:1}.portal-image img{object-fit:cover;object-position:64% 40%;width:100%;height:100%}
 .spatial-interaction .portal-image img{object-position:64% 45%}.spatial-experience .portal-image img{object-position:65% 35%}
 .portal-glass{background:linear-gradient(90deg,#0b1b28 0%,#0b1b28f5 34%,#0b1b2880 61%,#0b1b2808 100%)}
 .portal-copy{top:20px;bottom:18px;left:19px;right:14px;max-width:78%}.portal-copy h2[lang=en]{font-size:clamp(22px,6vw,27px);line-height:1.15;white-space:normal;max-width:11ch}
 .portal-copy p{font-size:13px;line-height:1.5;margin-top:9px;max-width:19ch}.portal-copy>span{font-size:12px;line-height:1.5;margin-top:12px;max-width:23ch}
 .portal-arrow{width:36px;height:36px;right:14px;bottom:14px}.spatial-bottom p{font-size:13px}
}
@media(max-width:370px){.spatial-portal{height:174px;min-height:174px}.portal-copy{max-width:82%}.portal-copy h2[lang=en]{font-size:23px}}
/* Three exclusive vertical regions: header, projected scene, conversation. */
@media(max-width:1100px){
 .animal-ai-dialog .animal-ai-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;max-height:none;width:100%;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);box-sizing:border-box}
 .animal-ai-dialog .animal-ai-header{padding:12px 18px 4px;min-height:56px;box-sizing:border-box}
 .animal-ai-dialog .ai-space-body,.animal-ai-dialog[data-has-messages] .ai-space-body{display:grid;grid-template-columns:1fr;grid-template-rows:clamp(140px,28%,260px) minmax(0,1fr);min-height:0;overflow:hidden}
 .animal-ai-dialog .ai-presence{min-height:0;max-height:100%;overflow:hidden}.animal-ai-dialog .ai-presence-canvas{inset:0;height:100%;width:100%}
 .animal-ai-dialog .ai-presence-copy{bottom:2px}.animal-ai-dialog .ai-presence-copy>span{font-size:12px;padding:0}
 .animal-ai-dialog .ai-conversation{display:grid;grid-template-rows:minmax(0,1fr) auto auto;width:100%;max-width:760px;height:100%;min-height:0;box-sizing:border-box;padding:10px 18px 12px;gap:0;overflow:hidden}
 .animal-ai-dialog .animal-ai-messages{min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 4px 14px;gap:20px;scroll-padding-block:10px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .animal-ai-dialog .animal-ai-message>p{font-size:15px;line-height:1.75}.animal-ai-dialog .animal-ai-user{padding-left:12px;margin-left:12px}
 .animal-ai-dialog .animal-ai-welcome>p{font-size:24px;line-height:1.35;margin:0 0 10px}.animal-ai-dialog .animal-ai-welcome>span{display:block;font-size:13px;line-height:1.65}
 .animal-ai-dialog .animal-ai-suggestions{gap:0;margin-top:10px}.animal-ai-dialog .animal-ai-suggestions button{min-height:44px;padding:9px 0;font-size:13px}
 .animal-ai-dialog .animal-ai-form{min-width:0;padding-top:8px;margin:0;position:relative}
 .animal-ai-dialog .animal-ai-compose{padding:8px 10px;align-items:center;border-radius:17px;background:#0b1d28e8}
 .animal-ai-dialog .animal-ai-compose textarea{height:48px;min-height:48px;max-height:90px;font-size:16px;line-height:1.5;padding:2px 4px;box-sizing:border-box;overflow-y:auto}
 .animal-ai-dialog .animal-ai-compose button{width:44px;height:44px}.animal-ai-dialog .animal-ai-form-bottom{margin:2px 0}
 .animal-ai-dialog .animal-ai-form-bottom button,.animal-ai-dialog .animal-ai-form-bottom a{min-height:36px;font-size:12px}
 .animal-ai-dialog .animal-ai-notice{margin:0 2px;font-size:11px;line-height:1.55}.animal-ai-dialog .animal-ai-notice br{display:none}
 .animal-ai-dialog .animal-ai-status{padding-inline:4px}.animal-ai-dialog .animal-ai-links{gap:4px 16px}
 .animal-ai-dialog[data-ai-compact] .ai-space-body,.animal-ai-dialog[data-ai-keyboard] .ai-space-body{grid-template-rows:72px minmax(0,1fr)}
 .animal-ai-dialog[data-ai-compact] .animal-ai-header,.animal-ai-dialog[data-ai-keyboard] .animal-ai-header{padding-block:6px;min-height:48px}
 .animal-ai-dialog[data-ai-compact] .ai-space-brand,.animal-ai-dialog[data-ai-keyboard] .ai-space-brand{display:none}
 .animal-ai-dialog[data-ai-compact] .ai-presence-copy,.animal-ai-dialog[data-ai-keyboard] .ai-presence-copy{display:none}
 .animal-ai-dialog[data-ai-keyboard] .animal-ai-welcome>span{display:none}
 .animal-ai-dialog[data-ai-compact] .ai-conversation,.animal-ai-dialog[data-ai-keyboard] .ai-conversation{padding-top:0;padding-bottom:6px}
 .animal-ai-dialog[data-ai-compact] .animal-ai-form,.animal-ai-dialog[data-ai-keyboard] .animal-ai-form{padding-top:4px}
}
@media(max-width:1100px) and (max-height:380px){.animal-ai-dialog[data-ai-compact] .ai-space-body{grid-template-rows:36px minmax(0,1fr)}.animal-ai-dialog .animal-ai-compose textarea{height:40px;min-height:40px}.animal-ai-dialog .animal-ai-notice{font-size:10px}}

@media(max-width:1100px){.animal-ai-dialog[data-ai-tiny] .ai-space-body{grid-template-rows:36px minmax(0,1fr)}.animal-ai-dialog[data-ai-tiny] .animal-ai-compose textarea{height:40px;min-height:40px}}
/* Keep all three category names and their short descriptions on readable lines. */
@media(max-width:700px){.portal-copy h2[lang=en]{max-width:none;white-space:nowrap;font-size:clamp(21px,5.8vw,25px)}.portal-copy p,.portal-copy>span{max-width:230px}.portal-copy p{font-size:13px}.portal-copy>span{font-size:12px}}

/* Main portfolio is one viewport; extra projects are paged without vertical growth. */
body.spatial-catalogue #main>section#portfolio[data-portfolio-paged]{height:calc(100svh - var(--page-header) - 48px);min-height:480px;padding-block:26px;box-sizing:border-box}
#portfolio[data-portfolio-paged]>.container{height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:18px}
#portfolio[data-portfolio-paged] .client-portfolio-heading{gap:24px}
#portfolio[data-portfolio-paged] .client-portfolio-heading p{font-size:15px;line-height:1.7}
#portfolio[data-portfolio-paged] .client-portfolio-toolbar{margin:0;flex-direction:row;align-items:center;gap:12px}
#portfolio[data-portfolio-paged] .client-portfolio-grid{min-height:0;grid-template-rows:minmax(0,1fr)}
#portfolio[data-portfolio-paged] .client-project-thumbnail{min-height:0;height:100%}
#portfolio[data-portfolio-paged] .client-project-thumbnail>img{flex:1;min-height:0;height:0;aspect-ratio:auto;object-fit:contain}
#portfolio[data-portfolio-paged] .client-thumb-caption{flex:0 0 auto;padding:16px 20px 18px}
#portfolio[data-portfolio-paged] .client-thumb-caption strong{font-size:19px;margin-top:7px}
#portfolio[data-portfolio-paged] .client-portfolio-bottom{margin:0;justify-content:flex-start;gap:28px}
#portfolio[data-portfolio-paged] .client-portfolio-bottom>.button{min-height:44px;padding:10px 20px;font-size:14px}
.client-portfolio-pager{display:flex;align-items:center;gap:14px}
.client-portfolio-pager[hidden]{display:none}
.client-portfolio-pager button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #829eb2;border-radius:50%;background:#19313f;color:#edf5fb;font-size:23px;cursor:pointer;transition:background .2s,border-color .2s}
.client-portfolio-pager button:hover:not(:disabled){background:#284b57;border-color:#b0f1df}
.client-portfolio-pager button:disabled{opacity:.3;cursor:default}
.client-portfolio-pager button:focus-visible{outline:3px solid #b0f1df;outline-offset:4px}
.client-portfolio-pager>span{min-width:48px;text-align:center;color:#c6d5e1;font-size:14px;font-variant-numeric:tabular-nums}
@media(max-width:700px){
 body.spatial-catalogue #main>section#portfolio[data-portfolio-paged]{padding-block:18px;min-height:470px}
 #portfolio[data-portfolio-paged]>.container{gap:12px}
 #portfolio[data-portfolio-paged] .client-portfolio-heading{grid-template-columns:1fr;gap:8px}
 #portfolio[data-portfolio-paged] .client-portfolio-heading h2{font-size:28px}
 #portfolio[data-portfolio-paged] .client-portfolio-heading p{font-size:12px;line-height:1.5}
 #portfolio[data-portfolio-paged] .client-portfolio-filters{gap:0;flex-wrap:nowrap}
 #portfolio[data-portfolio-paged] .client-portfolio-filters button{padding:8px 10px;min-width:44px;font-size:12px}
 #portfolio[data-portfolio-paged] [data-portfolio-status]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #portfolio[data-portfolio-paged] .client-thumb-caption{padding:12px 15px 14px}
 #portfolio[data-portfolio-paged] .client-thumb-caption>span{font-size:12px}
 #portfolio[data-portfolio-paged] .client-thumb-caption strong{font-size:18px;margin-top:5px}
 #portfolio[data-portfolio-paged] .client-portfolio-bottom>.button{padding:10px 12px;font-size:12px;gap:8px}
 #portfolio[data-portfolio-paged] .client-portfolio-bottom{gap:12px;padding-right:40px;flex-wrap:nowrap}
 .client-portfolio-pager{gap:7px}.client-portfolio-pager>span{min-width:40px;font-size:12px}
}

/* Consultation needs a readable document area beneath the retained 3D metaphor. */
.animal-ai-dialog[data-consultation=true] .ai-space-body,.animal-ai-dialog[data-consultation=true][data-has-messages] .ai-space-body{grid-template-rows:clamp(120px,23svh,200px) minmax(0,1fr)}
.animal-ai-dialog[data-consultation=true] .ai-conversation{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0;height:100%;box-sizing:border-box}
.animal-ai-dialog[data-consult-stage=review] .animal-ai-compose,.animal-ai-dialog[data-consult-stage=result] .animal-ai-compose{display:none}
.animal-ai-dialog[data-consultation=true][data-ai-compact] .ai-space-body,.animal-ai-dialog[data-consultation=true][data-ai-keyboard] .ai-space-body{grid-template-rows:72px minmax(0,1fr)}
.animal-ai-dialog[data-consultation=true][data-ai-tiny] .ai-space-body{grid-template-rows:36px minmax(0,1fr)}

.client-project-thumbnail>img,.client-project-picture{background:#07141e}
.client-project-picture{display:block;width:100%;height:auto;aspect-ratio:16/10;overflow:hidden}
#portfolio[data-portfolio-paged] .client-project-picture{flex:1;min-height:0;height:0;aspect-ratio:auto}

/* Keep all three category cards in the mobile entrance composition. */
@media(max-width:700px){
 .spatial-hero .spatial-content{padding-block:clamp(10px,2svh,20px);justify-content:center}
 .spatial-hero .spatial-heading{gap:0;margin-bottom:16px}
 .spatial-hero .spatial-heading h1{font-size:clamp(26px,7.4vw,32px);line-height:1.16}
 .spatial-hero .spatial-intro{margin-top:10px;padding-top:0}
 .spatial-hero .spatial-intro p{font-size:13.5px;line-height:1.55}
 .spatial-hero .spatial-portals{gap:10px;margin-bottom:12px}
 .spatial-hero .spatial-portal{height:clamp(84px,calc((100svh - 410px)/3),138px);min-height:0}
 .spatial-hero .portal-copy{gap:5px;max-width:none;left:18px;right:58px}
 .spatial-hero .portal-copy h2[lang=en]{font-size:clamp(20px,5.6vw,24px);line-height:1.2;max-width:none}
 .spatial-hero .portal-copy p{font-size:13px;line-height:1.45;max-width:none}
 .spatial-hero .portal-arrow{width:32px;height:32px;bottom:calc(50% - 16px)}
 .spatial-hero .spatial-bottom p{font-size:12px;line-height:1.4}
}
@media(max-width:700px) and (max-height:620px){
 .spatial-hero .spatial-content{padding-block:6px}
 .spatial-hero .spatial-heading{margin-bottom:8px}
 .spatial-hero .spatial-heading h1{font-size:25px;line-height:1.15}
 .spatial-hero .spatial-intro{margin-top:6px}
 .spatial-hero .spatial-intro p{font-size:13px;line-height:1.4}
 .spatial-hero .spatial-portals{gap:6px;margin-bottom:8px}
 .spatial-hero .spatial-portal{height:70px}
 .spatial-hero .portal-copy{gap:3px}
 .spatial-hero .portal-copy h2[lang=en]{font-size:19px}
}

/* Mobile catalogue reading: preserve the panels, reduce nested spacing, protect actions. */
@media(max-width:700px){
 .spatial-catalogue .catalogue-section .product-intro{padding:18px;gap:12px}
 .spatial-catalogue .catalogue-section .product-intro>h2{font-size:26px;line-height:1.25}
 .spatial-catalogue .catalogue-section .product-intro-copy .product-lead{font-size:18px;line-height:1.5;margin:0}
 .spatial-catalogue .catalogue-section .product-intro-copy>p+p{margin-top:10px;font-size:14px;line-height:1.65}
 .spatial-catalogue .catalogue-section .category-gallery{gap:16px;margin-top:16px}
 .spatial-catalogue .catalogue-section .project-caption{padding:20px;margin-top:0;min-width:0}
 .spatial-catalogue .catalogue-section .project-heading h3{font-size:24px;line-height:1.3;overflow-wrap:break-word}
 .spatial-catalogue .catalogue-section .project-description{margin-top:14px;min-width:0}
 .spatial-catalogue .catalogue-section .project-description>p{font-size:15px;line-height:1.75}
 .spatial-catalogue .catalogue-section .project-description .text-link{min-height:44px;max-width:100%;flex-wrap:wrap;line-height:1.5}
 .spatial-catalogue .service-engine-connection{gap:8px;margin:18px 0;padding:0 18px;text-align:center;font-size:14px}
 body.spatial-catalogue #main>section#portfolio[data-portfolio-paged]{min-height:560px}
 #portfolio[data-portfolio-paged] .client-portfolio-heading p{font-size:13px;line-height:1.6}
 #portfolio[data-portfolio-paged] .client-portfolio-toolbar{flex-wrap:wrap}
 #portfolio[data-portfolio-paged] .client-portfolio-filters{max-width:100%;flex-wrap:wrap}
 #portfolio[data-portfolio-paged] .client-portfolio-bottom{display:grid;grid-template-columns:1fr;justify-items:start;gap:10px;padding-right:64px}
 #portfolio[data-portfolio-paged] .client-portfolio-bottom>.button{width:auto;min-width:max-content;white-space:nowrap;font-size:13px;padding:10px 16px}
 #portfolio[data-portfolio-paged] .client-thumb-caption{min-width:0}
 #portfolio[data-portfolio-paged] .client-thumb-caption strong{overflow-wrap:anywhere;line-height:1.35}
}

/* Mobile company/contact reading and comfortable inquiry entry. */
@media(max-width:700px){
 body.spatial-catalogue #main>:is(#company,#contact){padding-block:24px}
 .spatial-catalogue .company-full,.home-inquiry>.container{width:calc(100% - 36px);gap:24px;min-width:0}
 .spatial-catalogue .company-story h2,.home-inquiry .contact-context h2{font-size:28px;line-height:1.25}
 .spatial-catalogue .company-story p{margin-top:16px;font-size:15px;line-height:1.8}
 .spatial-catalogue .company-story .company-lead{font-size:18px;line-height:1.65}
 .spatial-catalogue .company-facts h3{font-size:21px;line-height:1.4}
 .spatial-catalogue .company-facts .feature-item{padding-block:12px;gap:4px}
 .spatial-catalogue .company-facts dd{font-size:15px;line-height:1.65}
 .spatial-catalogue .company-email,.home-inquiry .contact-context a{overflow-wrap:anywhere}
 .home-inquiry .contact-context p{font-size:15px;line-height:1.75;margin-top:16px}
 .home-inquiry .inquiry-form>.form-note:first-child{margin-bottom:18px}
 .home-inquiry .field-row{gap:0;min-width:0}
 .home-inquiry .field{margin-bottom:18px;min-width:0}
 .home-inquiry .field label{font-size:15px;margin-bottom:7px;line-height:1.5}
 .home-inquiry .field :is(input,select,textarea){min-height:50px;font-size:16px;line-height:1.5;margin-top:0;scroll-margin-top:148px;scroll-margin-bottom:24px}
 .home-inquiry .field textarea{min-height:160px}
 .home-inquiry :is(.form-note,.form-status,.field-error){font-size:13px;line-height:1.65;overflow-wrap:anywhere}
 .home-inquiry .form-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}
 .home-inquiry .form-actions .button{width:100%;min-height:50px;padding:12px;font-size:15px;white-space:normal;line-height:1.5}
 .home-inquiry textarea[data-inquiry-output]{font-size:16px;line-height:1.6;min-height:180px}
 html:has(.home-inquiry form:focus-within){scroll-snap-type:none;scroll-behavior:auto}
 body[data-inquiry-keyboard] .animal-ai-launcher{visibility:hidden;pointer-events:none}
 body[data-inquiry-keyboard] .home-inquiry .field textarea{height:var(--inquiry-edit-height,120px);min-height:72px}
}

/* Detail reading retains the existing surfaces and uncropped source media. */
@media(max-width:700px){
 .product-detail>.container:first-child{padding:20px 18px}
 .product-detail .product-intro{padding:18px 0 0;gap:16px}
 .product-detail .product-intro h1{font-size:clamp(26px,7.7vw,30px);line-height:1.3;overflow-wrap:break-word}
 .product-detail .product-category{margin-top:9px;font-size:13px;line-height:1.6}
 .product-detail .product-lead{font-size:18px;line-height:1.65}
 .product-detail .product-intro-copy>p+p{margin-top:12px;font-size:15px;line-height:1.8}
 .product-detail .product-actions{margin-top:16px;gap:8px 18px;flex-wrap:wrap}
 .product-detail :is(.product-back,.product-actions .text-link,.product-closing .text-link,.mirroring-resources a){min-height:44px;max-width:100%;white-space:normal;line-height:1.5}
 .product-detail .product-visual,.product-detail .product-notes,.product-detail .product-closing{margin-block:20px}
 .product-detail .product-visual .media-gallery{gap:20px}
 .product-detail .product-figure{border-radius:22px}
 .product-detail .product-figure figcaption{padding:14px 16px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
 .product-detail .zoom-hint{left:10px;right:auto;bottom:10px;min-height:44px;padding:10px 12px;font-size:13px}
 .product-detail .product-visual-single .image-zoom{height:auto;padding:16px}
 .product-detail .product-visual-single .image-zoom img{width:auto;height:auto;max-width:100%;max-height:min(620px,78svh);margin-inline:auto}
 .product-detail .product-note,.product-detail .product-closing,.product-detail .soulmaps-directions{padding:20px 18px;gap:12px}
 .product-detail :is(.product-note h2,.product-closing h2,.soulmaps-directions h2){font-size:24px;line-height:1.4;overflow-wrap:break-word}
 .product-detail :is(.product-note>p,.product-points li,.product-closing p,.direction-grid p){font-size:15px;line-height:1.8}
 .product-detail .product-points ul{padding-left:20px}
 .product-detail .product-related{margin-top:24px}
 .product-detail .product-related h2{font-size:24px;line-height:1.4}
 .product-detail .product-related>div>a{padding:18px;min-width:0}
 .product-detail .product-related strong{font-size:20px;line-height:1.4;overflow-wrap:break-word}
 .product-detail .mirroring-detail{margin-block:24px}
 .product-detail .mirroring-detail>section+section{margin-top:32px}
 .product-detail .mirroring-section-heading{gap:12px;margin-bottom:18px}
 .product-detail .mirroring-detail h2{font-size:25px;line-height:1.4}
 .product-detail .mirroring-detail h3{font-size:22px;line-height:1.4}
 .product-detail .mirroring-detail :is(p,li,dd){font-size:15px;line-height:1.8;overflow-wrap:break-word}
 .product-detail .mirroring-feature{gap:16px}
 .product-detail .mirroring-operation,.product-detail .mirroring-resources{padding:20px 18px;min-width:0}
 body:has(.product-detail) .image-viewer[open]{display:flex;flex-direction:column;width:calc(100% - 24px);max-width:none;max-height:calc(100dvh - 24px);padding:12px;overflow:hidden}
 body:has(.product-detail) .viewer-toolbar{flex:0 0 auto;gap:8px;margin-bottom:12px}
 body:has(.product-detail) .viewer-toolbar>p{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
 body:has(.product-detail) .viewer-controls{width:100%;justify-content:space-between;gap:12px}
 body:has(.product-detail) .viewer-controls button{min-height:44px;font-size:14px}
 body:has(.product-detail) .viewer-stage{min-height:0;max-height:calc(100dvh - 168px)}
 body:has(.product-detail) .viewer-stage>img{max-height:calc(100dvh - 168px)}
 body:has(.product-detail) .image-viewer.is-zoomed .viewer-stage>img{max-height:none;max-width:none}
}
