/* One URL, responsive layouts for phones and small tablets. */
img{max-width:100%} .mobile-contact-bar{display:none}
@media(max-width:800px){
  html{scroll-padding-top:90px;-webkit-text-size-adjust:100%}
  body{min-width:0;padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  header{position:sticky;top:0;z-index:30;min-height:80px;padding:16px 5%;gap:12px;background:#fafaf7}
  header .brand{font-size:25px;letter-spacing:4px;flex-shrink:0}
  header .brand span{font-size:6px;letter-spacing:1px;margin-top:8px}
  .menu{display:flex;align-items:center;justify-content:center;gap:12px;min-width:86px;min-height:44px;background:transparent;border:1px solid var(--line);font:inherit;font-size:14px;color:var(--ink)}
  #nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fafaf7;padding:16px 5% 24px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #112d3a12;max-height:calc(100svh - 150px);overflow-y:auto;gap:4px}
  #nav.open{display:flex;flex-direction:column;align-items:stretch}
  #nav a{display:flex;align-items:center;min-height:48px;padding:10px 12px;font-size:16px;border-bottom:1px solid #d6dedb}
  #nav a[aria-current]{background:#e9eee8;border-bottom:1px solid #a7b7ae}
  #nav .nav-cta{display:none}
  main,section,article,figure,.enquiry,.visual-service-copy{min-width:0}
  .section,.page-head{padding-left:5%;padding-right:5%}
  .section{padding-top:44px;padding-bottom:44px}
  .page-head{padding-top:40px;padding-bottom:38px}
  .page-head h1{font-size:clamp(34px,8.8vw,52px);line-height:1.12;letter-spacing:-1.3px;overflow-wrap:break-word}
  .page-head .intro{font-size:16px;line-height:1.7;margin-top:20px}
  .photo-hero{height:auto;min-height:560px;max-height:none}
  .photo-hero-copy{padding:62px 5% 110px}
  .photo-hero h1{font-size:clamp(42px,10.8vw,68px);letter-spacing:-1.5px}
  .photo-hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.65}
  .hero-caption{left:5%;right:5%;font-size:7px;letter-spacing:1px}
  .button{min-height:48px;font-size:14px;justify-content:space-between;max-width:100%;gap:22px;padding:14px 20px}
  .text-link{min-height:44px;align-items:center;font-size:14px}
  .collection{padding:44px 5%;gap:16px}
  .collection-copy h2{font-size:clamp(34px,9vw,46px)}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service h3{font-size:22px;letter-spacing:-.5px;overflow-wrap:break-word}
  .service p{font-size:14px;line-height:1.6}.service .more{font-size:13px;min-height:36px;align-items:center;bottom:12px}
  .service{min-height:250px;padding-bottom:58px}
  .service-list .visual-service{display:flex;flex-direction:column;gap:24px;align-items:stretch}
  .visual-service:nth-child(even)>figure{order:0}
  .visual-service>figure>img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .visual-service-copy h2{font-size:32px}.visual-service-copy .scope{font-size:15px}.visual-service-copy>div:last-child>p{font-size:16px}
  .channel-board{min-height:0;padding:24px 18px}.channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.channel-grid li{min-height:125px}
  .split,.three,.contact-layout{display:block}.split>div{margin-top:24px}.three article{padding:22px 0;border-top:1px solid var(--line)}
  .cta{display:block;padding:44px 5%}.cta h2{font-size:32px}.cta .button{margin-top:24px}
  .footer-top{display:flex;flex-direction:column;gap:24px;padding-bottom:30px}
  .footer-top>div{display:flex;flex-wrap:wrap;width:100%;gap:4px 20px}
  .footer-top>div a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;max-width:100%;overflow-wrap:anywhere}
  .footer-top>div a[href^="mailto:"]{flex-basis:100%}
  .footer-bottom{display:flex;flex-direction:column;gap:10px;font-size:12px}
  footer{padding:38px 5% 24px}
  .contact-layout h2{font-size:32px}.contact-layout .enquiry{margin-top:30px;padding:22px 18px}
  .form-row{grid-template-columns:1fr}
  .enquiry label{font-size:14px}.enquiry input,.enquiry select,.enquiry textarea{font-size:16px;min-height:48px}
  .enquiry .fine,.policy p{overflow-wrap:anywhere}.enquiry .button{width:100%}
  .contact-details strong{font-size:clamp(17px,4.6vw,23px)}
  .mobile-contact-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;background:#112d3a;padding:10px 5% calc(10px + env(safe-area-inset-bottom,0px));gap:10px;box-shadow:0 -3px 14px #112d3a14}
  .mobile-contact-bar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #718b92;color:#fff;font-size:14px;font-weight:500}
  .mobile-contact-bar a:last-child{background:#e4edac;color:#112d3a;border-color:#e4edac}
  .catalog-intro{display:flex;flex-direction:column;align-items:start;gap:16px}.catalog-intro h2{font-size:30px}
  .catalog-tools{display:block;position:sticky;top:80px;background:var(--paper);z-index:15;padding:10px 0 12px;margin-bottom:22px}
  .product-filters{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:8px;padding:3px 2px 9px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .product-filters button{flex:none;min-height:44px;font-size:13px;padding:10px 14px;white-space:nowrap}
  #product-count{margin:6px 0 0;font-size:12px}
  .product-categories{gap:6px;margin-top:22px}.product-categories span{font-size:10px;padding:6px 8px}
  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
  .product-picture{padding:10px;aspect-ratio:3/4}.product-info{padding:12px 0}
  .product-info p{font-size:9px;letter-spacing:.08em}.product-info h3{font-size:15px;letter-spacing:-.2px;line-height:1.4;min-height:42px;margin-bottom:8px}
  .product-links{display:flex;flex-direction:column;gap:0;font-size:13px}.product-links a{display:flex;min-height:44px;align-items:center}
  .home-products .product-info h3{font-size:15px}.home-products .product-picture{aspect-ratio:3/4}
}
@media(max-width:350px){.brand{letter-spacing:3px}.service-grid{grid-template-columns:1fr}.service+.service{border-left:0;padding-left:0;border-top:1px solid var(--line)}.service+.service .more{left:0}.service{min-height:220px}.products-grid{gap:20px 10px}.product-info h3{font-size:14px}}
