/* 003 mobile edition. Loaded last on every active page. */
.mobile-expand{display:none}
@media(max-width:700px){
 .mobile-fold:not(.mobile-expanded)>.mobile-extra{display:none!important}
 .mobile-expand{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:9px 12px;margin-top:14px;background:transparent;border:1px solid var(--line);color:var(--ink);font:inherit;font-size:13px;border-radius:3px;cursor:pointer}
 .mobile-fold{scroll-margin-top:82px}
}
@media (max-width:700px){
  body{font-size:14px;line-height:1.8}
  .wrap{width:calc(100% - 36px)}
  .header-inner{height:66px;gap:8px}.inner main{padding-top:66px}
  .brand{font-size:15px;min-width:0}.brand small{font-size:7px;letter-spacing:1px}
  .header .icon-button,.hamburger{min-width:44px;min-height:44px}
  .section{padding:38px 0}.section-heading{gap:14px;align-items:flex-start;margin-bottom:22px}
  .section-heading h2{font-size:25px;line-height:1.5}
  .eyebrow{font-size:10px;line-height:1.8;letter-spacing:1.3px}
  .text-link{font-size:13px;min-height:44px;gap:14px}.button{min-height:46px;font-size:14px;padding:11px 18px}
  .breadcrumb{font-size:11px;line-height:1.9;overflow-wrap:anywhere}
  .page-intro{padding:20px 0 25px}.page-intro .breadcrumb{margin-bottom:20px}
  .page-intro h1,.page-caselist .page-intro h1,.page-search .page-intro h1{font-size:29px;line-height:1.5;letter-spacing:1px}
  .page-intro>.wrap>p:not(.eyebrow){font-size:14px;line-height:1.9;margin-top:13px}
  .detail-breadcrumb{padding-top:18px}.note{line-height:1.8}

  /* Home: content-sized copy above a shallow landscape scene. */
  .home .hero{height:auto;min-height:0;max-height:none;padding-top:66px;background:#eef4e9}
  .home .hero .swiper-slide{height:auto;display:flex;flex-direction:column}
  .home .hero-image{position:relative;inset:auto;width:100%;height:245px;order:2;object-position:center}
  .home .hero-wash{display:none}.home .hero-container{position:relative;height:auto;order:1}
  .home .hero-copy{padding:30px 24px 28px;height:auto;display:block}
  .home .hero-copy .eyebrow{font-size:10px;letter-spacing:1.4px;padding-right:0;margin-bottom:14px}
  .home .hero h1{font-size:32px;line-height:1.4;letter-spacing:1px}
  .home .hero-description{font-size:14px;line-height:1.9;margin:16px 0 20px;max-width:32em}
  .home .hero-copy>.button{font-size:13px;min-height:46px}.hero-edition{display:none}
  .home .hero-caption{display:none}.home .hero-controls{bottom:14px;padding:0 18px}
  .home .hero-buttons .icon-button{min-width:44px;height:44px}
  .home .hero-pagination{min-height:44px;align-items:center}
  .section-rail{margin-bottom:22px;font-size:12px}.section-rail span:last-child{font-size:9px}
  .home .intro-copy h2{font-size:27px;line-height:1.6;margin-bottom:18px}
  .home .philosophy-note{padding-left:16px}.philosophy-note p{font-size:14px;line-height:1.95}
  .home .intro-copy .text-link{font-size:13px}.home .philosophy-points{flex-wrap:wrap;font-size:12px;gap:10px 16px}
  .home .intro-image{padding-right:0;margin-top:22px}.home .intro-image>img{height:230px;object-fit:cover}
  .home .intro-image:after{display:none}.home .intro-image figcaption{font-size:11px}
  .home .product-section{padding:36px 0}.home .product-section .section-heading{display:block;text-align:left}
  .home .product-section h2{font-size:26px}.home .product-section .section-heading>.text-link{font-size:13px;margin-top:8px}
  .home .product-section .section-description{font-size:14px;text-align:left;margin-bottom:22px}
  .collection-word{display:none}

  /* One product per row, image beside the reading column. */
  .product-grid{grid-template-columns:1fr;gap:16px}
  .product-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:14px;background:#fff}
  .specimen-label{grid-column:1/-1;padding:0 0 10px;font-size:10px;gap:12px}
  .product-image{align-self:start;min-width:0}.product-image img{height:130px;aspect-ratio:auto;object-fit:cover}
  .product-image .image-label{display:none}
  .card-copy{min-width:0;padding:0}.card-copy .mini{font-size:10px;margin-bottom:5px;line-height:1.5}
  .card-copy h3{font-size:18px;line-height:1.55;margin:0 0 8px}
  .card-description{font-size:12px;line-height:1.8;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .card-actions{font-size:12px;margin-top:9px;gap:8px;flex-wrap:wrap;padding:0;border:0}
  .card-actions a,.card-actions a:last-child{font-size:12px;min-height:44px;display:inline-flex;align-items:center;padding:0 4px}
  .page-productlist main>.section{padding-top:10px}.page-productlist .list-toolbar{font-size:12px;margin-bottom:16px;align-items:center}
  .page-productlist .page-intro{padding-bottom:20px}
  .home .assurance-title{padding-bottom:16px}.home .assurance-title h2{font-size:26px;max-width:none;text-wrap:balance}
  .home .strength-grid article{grid-template-columns:25px minmax(0,1fr);gap:8px 13px;padding:20px 0}
  .home .strength-grid .strength-number{display:none}.home .strength-grid i{grid-column:1;grid-row:1;font-size:22px}
  .home .strength-grid h3{font-size:19px}.home .strength-grid p{font-size:14px;line-height:1.9}
  .home .case-section{padding:18px 0 36px}.home .case-section .section-description{font-size:14px}
  .home .case-section .section-heading>.text-link{font-size:13px}
  .case-grid{grid-template-columns:1fr;gap:24px}
  .case-image img,.page-caselist .case-image img{aspect-ratio:16/10;object-fit:cover}
  .case-copy,.page-caselist .case-copy{margin:0;padding:15px 0 0;min-height:0}
  .case-copy small{font-size:11px}.case-copy h3{font-size:20px;line-height:1.6;margin:5px 0 8px}.case-copy p{font-size:13px;line-height:1.9}
  .page-caselist .section-description{font-size:14px}
  .report-room{width:calc(100% - 36px);padding:18px}
  .report-masthead{display:grid;grid-template-columns:1fr auto;gap:8px}
  .report-masthead>.eyebrow{grid-column:1/-1;font-size:10px}.report-masthead>span{padding:0;border:0;font-size:13px}
  .report-masthead>.text-link{width:auto;font-size:12px}.report-intro{margin:18px 0}
  .report-intro h2{font-size:25px;margin-bottom:12px}.report-intro p{font-size:13px}.report-intro .note{font-size:11px}
  .report-shelf{padding:16px 10px 0}.report-shelf .cert-card img{height:230px}.report-shelf .cert-card h3{font-size:13px}
  .report-foot{font-size:10px;gap:8px}
  .home .news-section{padding:38px 0}.home .news-section .section-heading>.text-link{font-size:12px}
  .home .news-grid .news-card:first-child .news-image img{height:190px}
  .home .news-grid .news-card:first-child>div{padding:18px}
  .home .news-grid .news-card:first-child h3,.home .news-grid .news-card:not(:first-child) h3{font-size:20px;line-height:1.6}
  .home .news-grid .news-card p,.home .news-grid .news-card:not(:first-child) p{font-size:13px;line-height:1.9}
  .invitation{padding:32px 0}.invitation-copy h2{font-size:27px;max-width:none}.invitation-copy p{font-size:14px;margin-top:14px}
  .invitation-copy .button-row,.cta-inner .button-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
  .invitation-copy .button,.invitation-copy .text-link,.cta-inner .button{font-size:14px;justify-content:center;width:100%}
  .partners .partner-grid{gap:10px;margin:18px 0}.partners .partner-grid a{padding:6px 14px}.partners .partner-grid img{height:65px}
  .partners .partner-note{font-size:11px;line-height:1.8}

  /* List reading order: date, full-width image, headline and abstract. */
  .page-newslist .news-list .news-card{grid-template-columns:1fr;gap:12px;padding:22px 0}
  .page-newslist .journal-date{grid-column:1;grid-row:1;display:flex;align-items:baseline;gap:8px;padding:0}
  .journal-date strong{font-size:22px}.journal-date span{font-size:11px}
  .page-newslist .news-card>.news-image{grid-column:1;grid-row:2}
  .page-newslist .news-card>div:not(.journal-date){grid-column:1;grid-row:3}
  .page-newslist .news-list .news-image img{height:auto;aspect-ratio:16/9;object-fit:cover}
  .page-newslist .news-list h3{font-size:21px;line-height:1.6}.page-newslist .news-list p{font-size:14px;line-height:1.9}
  .page-newslist .news-list .text-link{font-size:13px}
  .page-news .article-heading h1,.page-case .article-heading h1{font-size:27px;line-height:1.6}
  .page-news .article-heading,.page-case .article-heading{margin-top:20px;padding-bottom:20px}
  .page-news .article-meta{font-size:11px;gap:8px 16px}.page-case .article-heading>p:not(.eyebrow){font-size:14px;line-height:1.9}
  .richtext{font-size:15px;line-height:1.95;overflow-wrap:anywhere}.richtext p,.richtext li{font-size:15px;line-height:1.95}
  .richtext h2{font-size:22px;line-height:1.6}.richtext h3{font-size:19px;line-height:1.6}
  .richtext table{font-size:13px}.table-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
  .page-news .article-body{margin:22px 0}.page-case .case-cover img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .case-gallery{grid-template-columns:1fr;gap:14px}
  .prev-next{display:grid;grid-template-columns:1fr;gap:0;margin:28px 0;padding:0}
  .prev-next>a,.prev-next>.unavailable{display:block;padding:14px 0;min-height:44px;border-bottom:1px solid var(--line);font-size:13px;text-align:left;overflow-wrap:anywhere}
  .related{margin-top:32px}.related>h2{font-size:24px;margin-bottom:20px}
  .spec-title{margin-bottom:20px}.spec-title h1{font-size:28px;line-height:1.6}.spec-title .eyebrow{font-size:10px}
  .spec-title>.button{display:flex;width:100%;justify-content:center;margin-top:18px;font-size:14px}
  .spec-stage .product-gallery img{height:245px}.spec-stage-label{padding:10px 12px;gap:14px;font-size:11px}
  .spec-stage-label>span:first-child{font-size:9px}.spec-register{padding:22px 0 12px}
  .register-intro .eyebrow{font-size:10px}.register-intro>p:not(.eyebrow){font-size:14px;line-height:1.9}
  .spec-register dl>div,.spec-register dl>div:first-child{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:13px 0}
  .spec-register dt{font-size:12px}.spec-register dd{font-size:14px}.spec-note{font-size:11px}
  .page-product .tabs{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:0;background:#f1f5ee}
  .page-product .tabs button{font-size:13px;padding:12px 3px;min-height:48px;white-space:normal}
  .page-product .tab-panel{padding:22px 0}

  /* Single-page stories and applications use a simple mobile reading column. */
  .cooperation-cover{padding-bottom:30px}.cooperation-headline{margin:22px 0}
  .cooperation-headline h1{font-size:29px;line-height:1.6}.cooperation-headline p{font-size:14px;margin-top:18px;line-height:1.95}
  .cooperation-cover-top .eyebrow{font-size:10px}.cooperation-headline .text-link{font-size:13px}
  .cooperation-panorama>img{height:190px}.cooperation-panorama figcaption{font-size:10px;line-height:1.8}
  .page-cooper .policy-content{margin-top:25px}.page-cooper .policy-content>h2{font-size:24px}
  .page-cooper .policy-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px 14px;padding:22px 0}
  .page-cooper .policy-card small{grid-column:1;grid-row:1/3;font-size:9px;letter-spacing:0;line-height:1.8;overflow-wrap:normal;margin:0}
  .page-cooper .policy-card h3{grid-column:2;font-size:21px;margin:0}.page-cooper .policy-card p{grid-column:2;font-size:14px;line-height:1.9}
  .page-cooper .steps{padding:12px 20px}.page-cooper .steps h3{font-size:19px}.page-cooper .steps p{font-size:13px;line-height:1.9}
  .partner-application{padding:24px 16px;margin:30px 0 0}.partner-application>header{text-align:left;padding:0;margin-bottom:20px}
  .partner-application>header h2{font-size:26px;letter-spacing:1px}.partner-application>header p:not(.eyebrow){font-size:14px}
  .application-paper{padding:0;background:transparent}
  .about-cover h1{font-size:28px;line-height:1.6}.about-cover .eyebrow{font-size:10px;margin-bottom:14px}
  .about-cover>p:not(.eyebrow){font-size:14px;line-height:1.95;margin-top:17px}
  .about-panorama>img{height:220px}.about-panorama figcaption{font-size:11px}.about-panorama figcaption>span:last-child{display:none}
  .about-content{margin:20px 0 30px}.about-content>section{grid-template-columns:23px minmax(0,1fr);gap:9px 12px;padding:22px 0}
  .about-content h2{font-size:22px}.about-content p{font-size:14px;line-height:1.95}
  .page-about .cert-card img{height:235px}.page-cert .cert-card img{height:245px}.page-cert .cert-card>a{padding:16px}
  .page-cert .cert-card h3{font-size:16px}.page-cert .richtext{margin-top:25px}
  .page-contact .application-block>div{text-align:left;margin-bottom:20px}.page-contact .application-block>div>p:not(.eyebrow){font-size:14px}
  .page-contact .application-block>.inquiry-form{padding:20px 16px}
  .page-message .message-layout{padding:20px 16px}.page-message .message-intro{text-align:left;padding:0 0 20px}
  .page-message .message-intro h2{font-size:25px}.page-message .message-intro p{font-size:14px;line-height:1.9}.page-message .message-intro>.note{font-size:11px}
  .page-message .inquiry-form{padding:0;background:transparent}
  .form-grid{grid-template-columns:1fr;gap:18px}.form-grid label,.application-paper .form-grid label{font-size:13px;line-height:1.8}
  .form-grid input,.form-grid select,.form-grid textarea{font-size:16px;width:100%;min-width:0;border-radius:3px;padding:12px;line-height:1.5}
  .form-grid input,.form-grid select{min-height:48px}.form-grid textarea{min-height:125px}
  .form-finish{display:flex;flex-direction:column;align-items:stretch;gap:20px}.captcha{display:flex;gap:12px;align-items:flex-end}
  .captcha label,.application-paper .captcha label{flex:1;max-width:none;min-width:0}.captcha-refresh{flex:0 0 100px;min-height:48px}
  .captcha-refresh img,.page-message .captcha-refresh img,.application-paper .captcha-refresh img{width:100px;height:auto}
  .form-finish>.button,.page-cooper .form-finish .button{width:100%;font-size:14px;justify-content:center;min-height:48px}
  .page-search .search-form{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:8px;margin-top:20px}
  .page-search .search-form input{width:100%;min-width:0;font-size:16px;padding:12px}.page-search .search-form .button{padding:10px;font-size:14px}
  .page-search main>.section{padding-top:10px}.search-results .news-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;padding:20px 0}
  .search-results .news-image img{height:96px;object-fit:cover}.search-results .news-card h3{font-size:18px;line-height:1.6;margin:6px 0}
  .search-results .news-card p{font-size:13px;line-height:1.8}.search-results .news-card time{font-size:11px}.search-results .text-link{font-size:12px}
  .pagination{gap:6px;flex-wrap:wrap;margin-top:24px}.pagination a,.pagination span{font-size:12px;min-height:44px}
  .empty{padding:30px 16px;font-size:14px}

  /* Footer contact card: details followed by a compact QR row. */
  .footer{padding-top:28px}.footer-grid{gap:22px}.footer h2{font-size:20px;line-height:1.6;margin-bottom:12px}
  .footer-brand>p:not(.eyebrow){font-size:13px;line-height:1.9}.footer-brand>.text-link{font-size:13px}
  .footer-nav{padding-top:18px;border-top:1px solid var(--line)}.footer-nav a{width:49%;font-size:13px;min-height:44px}
  .footer-contact{padding-top:18px;border-top:1px solid var(--line)}.footer-contact .phone{font-size:23px;min-height:44px;display:flex;align-items:center}
  .footer-contact>a:not(.phone){font-size:14px;min-height:44px;display:flex;align-items:center}
  .footer-contact>p{font-size:12px;line-height:1.9}.footer-contact .qr{width:148px;margin:0}
  .footer-code{display:grid;grid-template-columns:148px minmax(0,1fr);gap:16px;align-items:center;margin:18px 0}
  .footer-contact .qr-caption{font-size:12px;line-height:1.8;margin:0;max-width:5em;text-wrap:balance}
  .footer-bottom{padding:16px 0;margin-top:22px;gap:12px;line-height:1.8;font-size:11px}
}
@media(max-width:360px){
  .wrap{width:calc(100% - 28px)}.brand{font-size:13px}.brand small{font-size:6px;letter-spacing:.6px}
  .home .hero-copy{padding:26px 20px}.home .hero h1{font-size:29px}.home .hero-image{height:220px}
  .product-card{grid-template-columns:88px minmax(0,1fr);padding:12px;gap:10px}.product-image img{height:118px}.card-copy h3{font-size:17px}
  .search-results .news-card{grid-template-columns:76px minmax(0,1fr);gap:12px}.search-results .news-card h3{font-size:17px}
}
/* Compact phone reading length, with full content behind explicit expand buttons. */
@media(max-width:700px){
 .section,.home .product-section,.home .news-section{padding:28px 0}
 .home .hero-copy{padding:22px 22px 20px}.home .hero h1{font-size:29px}
 .home .hero-copy .eyebrow{font-size:9px;margin-bottom:9px}.home .hero-description{margin:11px 0 14px;font-size:13px;line-height:1.8}
 .home .hero-image{height:180px}.home .hero-controls{bottom:10px}
 .home .intro-copy h2{font-size:25px;margin-bottom:14px}.home .intro-image{display:none}
 .home .philosophy-points{margin-top:12px}.home .philosophy-note p{line-height:1.85}.home .section-rail{margin-bottom:16px}
 .home .product-section .section-description,.home .case-section .section-description{margin-bottom:16px;font-size:12px}
 .home .strength-grid article{padding:14px 0}.home .strength-grid p{font-size:13px;line-height:1.8}
 .home .case-section{padding:20px 0 28px}.case-grid{gap:20px}.home .case-image img{aspect-ratio:16/9}
 .home .case-copy p{display:none}.home .case-copy h3{font-size:18px;margin-bottom:0}
 .home .certificate-section{padding:22px 0}.report-masthead>.eyebrow{display:none}
 .report-intro h2{font-size:23px;margin-bottom:8px}.report-intro{margin:12px 0}.report-intro p{font-size:12px}.report-intro .note{margin-top:7px}
 .report-shelf .cert-card img{height:175px;object-fit:contain}.report-room{padding:15px}.report-shelf{padding-top:10px}.report-foot{padding-top:8px}
 .home .news-section>.wrap>.section-heading{display:block;margin-bottom:10px}.home .news-section h2{font-size:24px}
 .home .news-section .section-heading>.text-link{margin-top:6px}
 .home .news-grid .news-card:first-child .news-image{display:none}
 .home .news-grid .news-card:first-child>div{padding:0;background:none}.home .news-grid .news-card:first-child{background:none;margin:0;padding:14px 0}
 .home .news-grid .news-card:not(:first-child){padding:14px 0}
 .home .news-grid .news-card h3,.home .news-grid .news-card:first-child h3,.home .news-grid .news-card:not(:first-child) h3{font-size:18px;margin:5px 0;line-height:1.6}
 .home .news-grid .news-card p,.home .news-grid .news-card:not(:first-child) p,.home .news-grid .news-card .text-link{display:none}
 .home .news-grid .news-card time{font-size:11px}
 .invitation{padding:25px 0}.invitation-label{margin-bottom:13px}.invitation-copy h2{font-size:24px}
 .invitation-copy p{font-size:13px;line-height:1.8;margin-top:10px}.invitation-copy .button-row{margin-top:16px}
 .partners{padding:25px 0}.partners .partner-grid{margin:14px 0 0}.partners .partner-grid img{height:58px}
 .page-news .related .news-card{padding:16px 0}.page-news .related .news-card h3{font-size:18px;margin:8px 0}
 .page-news .related .news-card .text-link{min-height:32px}
 .page-news .related-news>a{padding:15px 0;display:grid;grid-template-columns:minmax(0,1fr) 25px;gap:7px 12px}.page-news .related-news time{grid-column:1;font-size:11px}.page-news .related-news h3{grid-column:1;font-size:18px;margin:0;line-height:1.6}.page-news .related-news>a>span{grid-column:2;grid-row:1/3;align-self:center}
 .related{margin-top:24px}.prev-next{margin:22px 0}.spec-register{padding-top:18px}
 .page-message .message-intro>p:not(.eyebrow),.partner-application>header>p:not(.eyebrow){display:none}
 .page-message .message-intro h2{font-size:22px;line-height:1.6}.page-message .message-intro{padding-bottom:16px}
 .form-grid,.application-paper .form-grid{gap:13px}.form-grid textarea{min-height:100px}
 .page-contact .application-block{margin-top:25px}
 .footer{padding-top:22px}.footer-grid{gap:10px}.footer-brand>.eyebrow,.footer-brand>p:not(.eyebrow),.footer-brand>.text-link{display:none}
 .footer h2{font-size:17px;line-height:1.6;margin:0}.footer-nav{padding:0;border:0}.footer-nav>h3{display:none}
 .footer-grid>.mobile-expand{margin-top:0;justify-content:space-between;border:0;border-top:1px solid var(--line);padding:10px 0}
 .footer-contact{padding:0;border:0}.footer-contact>h3{display:none}.footer-contact .phone{font-size:21px;min-height:38px}
 .footer-contact>a:not(.phone){font-size:13px;min-height:34px}
 .footer-bottom{margin-top:12px;padding:13px 0;display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;font-size:10px}
 .footer-bottom>span:empty{display:none}
}
