/* Public pages only. This stylesheet is not loaded by staff login or WMS. */
@font-face { font-family:"Daily Public Sans"; src:url('/static/fonts/daily-public-sans.woff2') format('woff2'); font-style:normal; font-weight:100 900; font-display:swap; }
.public-site { --font-interface:"Daily Public Sans","Apple SD Gothic Neo","Malgun Gothic",sans-serif; --public-accent:#ff815e; --public-navy:#162439; --public-text:#243348; --public-muted:#536277; background:#fffaf3; color:var(--public-text); font-family:var(--font-interface); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.public-site :is(.catalog-hero h1,.centers-hero h1,.dispatch-hero h1,.page-hero h1,.section-head h2,.split h2,.cta-block h2) { font-family:var(--font-interface); font-weight:700; letter-spacing:-.06em; line-height:1.16; word-break:keep-all; }
.public-site :is(.wordmark strong,.footer-brand,.capacity-grid b,.center-info-card h2) { font-family:var(--font-interface); letter-spacing:-.045em; }
.public-site .image-panel::after { content:none; }
.public-site .container { width:min(100% - 64px,1240px); margin-inline:auto; }
.public-site :is(button,input,select,textarea) { font:inherit; }
.public-site :is(h1,h2,h3,p) { overflow-wrap:anywhere; }
.public-site p { word-break:keep-all; }
.public-site :is(.page-hero,.centers-hero,.dispatch-hero) { padding-block:64px; }
.public-site :is(.page-hero,.centers-hero,.dispatch-hero) h1 { font-size:clamp(34px,4.2vw,56px); line-height:1.24; letter-spacing:-.045em; margin:18px 0 24px; }
.public-site :is(.page-hero,.centers-hero,.dispatch-hero) p { font-size:18px; line-height:1.7; max-width:760px; }
.public-site :is(a,button,summary,input,select,textarea):focus-visible { outline:3px solid #ce5a35; outline-offset:4px; }
.public-site [id] { scroll-margin-top:100px; }
.public-site .site-header { position:sticky; top:0; height:80px; background:#fffaf3; border-bottom:1px solid #e4e0d9; backdrop-filter:none; z-index:40; }
.public-site .header-inner { gap:30px; }
.public-site .wordmark { gap:10px; }
.public-site .wordmark-logo { width:42px; height:42px; }
.public-site .wordmark strong { font-size:18px; }
.public-site .wordmark small { font-size:9px; }
.public-site .desktop-nav { gap:26px; margin-inline:auto; }
.public-site .desktop-nav :is(a,summary) { font-size:15px; font-weight:650; white-space:nowrap; }
.public-site .header-actions { display:flex; align-items:center; gap:10px; flex:none; margin-left:auto; }
.public-site .button { min-height:48px; border-radius:6px; padding:12px 22px; font-size:16px; line-height:1.4; font-weight:700; transition:background .15s; transform:none; box-shadow:none; }
.public-site .button:hover { transform:none; box-shadow:none; }
.public-site .button.lime { background:#ff815e; color:#182237; border-color:#ff815e; }
.public-site .button.lime:hover { background:#f56f49; }
.public-site .header-consult { min-height:46px; padding:10px 16px; font-size:14px; }
.public-site .header-portal { display:flex; align-items:center; justify-content:center; gap:7px; min-height:46px; padding:10px 14px; border:1px solid #b9c2cd; border-radius:6px; color:#25364d; background:transparent; font-size:14px; font-weight:650; box-shadow:none; }
.public-site .header-portal span { margin:0; }
.public-site .header-portal small { color:#59677a; font-size:11px; }
.public-site .header-portal:hover { background:#edf0f4; border-color:#8091a9; }
.public-site summary { list-style:none; cursor:pointer; }
.public-site summary::-webkit-details-marker { display:none; }
.public-site .business-nav { position:relative; }
.public-site .business-nav>summary { display:flex; align-items:center; gap:7px; min-height:46px; }
.public-site .business-nav[open]>summary { color:#b74927; }
.public-site .business-submenu { position:absolute; top:calc(100% + 10px); left:-20px; width:230px; padding:9px; border:1px solid #d6dce3; border-radius:7px; background:#fff; box-shadow:0 10px 25px #12203612; }
.public-site .business-submenu a { display:block; padding:10px 12px; border-radius:4px; font-size:14px; }
.public-site .business-submenu a:hover { background:#fff0e7; }
.public-site .mobile-nav { display:none; margin:0; }
.public-site .mobile-nav>summary { width:44px; height:44px; border-radius:6px; }
.public-site .mobile-nav>nav { top:calc(100% + 11px); width:min(360px,calc(100vw - 40px)); max-height:calc(100dvh - 92px); overflow-y:auto; padding:12px; border-radius:7px; }
.public-site .mobile-nav nav>a { padding:12px; font-size:16px; }
.public-site .mobile-nav nav>a:last-child { margin-top:12px; background:#ff815e; color:#182237; border:0; }
.public-site .mobile-business>summary { display:flex; justify-content:space-between; padding:12px; font-weight:700; font-size:16px; border-bottom:1px solid #edf0ea; }
.public-site .mobile-business>div { padding:4px 10px; background:#f6f7f8; }
.public-site .mobile-business a { display:block; padding:10px 12px; font-size:15px; }
.public-site .public-hero { padding:64px 0 60px; background:#142239; color:#fff; }
.public-site .public-hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); align-items:center; gap:52px; }
.public-site .public-kicker { margin:0 0 14px; color:#bd563a; font-size:14px; font-weight:700; letter-spacing:0; }
.public-site .public-hero .public-kicker { color:#ffb398; }
.public-site .public-hero h1 { margin:0 0 24px; font-size:clamp(38px,4.1vw,58px); font-weight:750; letter-spacing:-.055em; line-height:1.22; word-break:keep-all; }
.public-site .public-hero h1 em { color:#ffa285; font-style:normal; }
.public-site .public-lead { max-width:540px; margin:0 0 28px; color:#d8e0ea; font-size:18px; line-height:1.7; word-break:keep-all; }
.public-site .hero-actions { gap:10px; }
.public-site .public-outline { border:1px solid #a5b3c7; background:transparent; color:#fff; }
.public-site .public-outline:hover { background:#ffffff12; }
.public-site .public-hero-photo { margin:0; min-width:0; }
.public-site .public-hero-photo img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; object-position:50% 34%; border-radius:6px; }
.public-site .public-hero-photo figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px 12px; padding-top:12px; color:#d9e1eb; font-size:13px; }
.public-site .public-hero-photo figcaption span { font-size:10px; letter-spacing:.08em; color:#b8c6d8; }
.public-site .public-hero-photo figcaption b { font-weight:500; }
.public-site .public-capacity { background:#ffeadc; }
.public-site .public-capacity-grid { display:grid; grid-template-columns:1.2fr repeat(3,1fr); padding-block:28px; }
.public-site .public-capacity-grid>div { display:flex; flex-direction:column; justify-content:center; padding:0 26px; border-left:1px solid #dfc5b5; }
.public-site .public-capacity-grid>div:first-child { padding-left:0; border:0; }
.public-site .public-capacity h2 { margin:4px 0 0; font-size:20px; letter-spacing:-.04em; }
.public-site .public-capacity-grid span { font-size:14px; color:#5c4a40; }
.public-site .public-capacity-grid b { font-size:40px; line-height:1.2; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.public-site .public-capacity-grid small { margin-left:7px; font-size:16px; font-weight:500; }
.public-site .public-section { padding-block:80px; }
.public-site .public-section-head { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.public-site .public-section h2 { margin:0; font-size:34px; line-height:1.35; letter-spacing:-.045em; word-break:keep-all; }
.public-site .public-section-head>p { margin:0; font-size:16px; color:#536277; }
.public-site .public-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.public-site .public-service-grid article { display:flex; flex-direction:column; min-width:0; padding:26px 0 0; border-top:2px solid #d7c7b4; }
.public-site .public-service-number { color:#b7573b; font-size:14px; font-weight:700; }
.public-site .public-service-grid h3 { margin:18px 0 14px; font-size:22px; line-height:1.4; letter-spacing:-.04em; }
.public-site .public-service-grid p { margin:0 0 24px; font-size:16px; color:#536277; }
.public-site .public-service-link { display:flex; align-items:center; justify-content:space-between; min-height:48px; margin-top:auto; font-size:15px; font-weight:700; color:#a9472d; border-bottom:1px solid #d6c5b7; }
.public-site .public-service-link:hover { color:#6c2c19; border-color:#ad4b30; }
.public-site .public-process { background:#f0f2f3; }
.public-site .public-process-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; padding:0; margin:0; list-style:none; }
.public-site .public-process-track li { position:relative; min-width:0; padding-top:20px; border-top:1px solid #aab6c5; }
.public-site .public-process-track li>span { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; background:#162439; color:#fff; border-radius:50%; font-size:13px; font-weight:700; }
.public-site .public-process-track li:not(:last-child)::after { content:'→'; position:absolute; top:23px; right:-24px; color:#8a99ac; }
.public-site .public-process-track h3 { margin:16px 0 10px; font-size:22px; }
.public-site .public-process-track p { color:#536277; font-size:16px; margin:0; }
.public-site .public-gallery { background:#fff; }
.public-site .public-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.public-site .public-photo-grid figure { min-width:0; margin:0; }
.public-site .public-photo-grid img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; object-position:center; border-radius:5px; }
.public-site :is(.public-photo-grid,.photo-grid) img[src*="produce-storage"] { object-position:50% 72%; }
.public-site :is(.public-photo-grid,.photo-grid) img[src*="cold-storage"] { object-position:70% 46%; }
.public-site :is(.public-photo-grid,.photo-grid) img[src*="logistics-center"] { object-position:50% 34%; }
.public-site .public-photo-grid figcaption { padding-top:18px; }
.public-site .public-photo-grid h3 { margin:0 0 6px; font-size:20px; }
.public-site .public-photo-grid p { margin:0; font-size:15px; color:#536277; }
.public-site .public-about-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; }
.public-site .public-about p:not(.public-kicker) { font-size:17px; color:#536277; margin:0 0 24px; }
.public-site .public-consult { background:#162439; color:#fff; }
.public-site .public-consult-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:60px; }
.public-site .public-consult .public-kicker { color:#ffad90; }
.public-site .public-consult h2 { font-size:36px; }
.public-site .public-consult p:not(.public-kicker) { max-width:650px; margin:20px 0 0; color:#d0dbe7; font-size:17px; }
.public-site .public-consult-actions { display:grid; gap:12px; }
.public-site .public-consult-actions .button { min-width:230px; }
.public-site .public-consult-actions span { font-size:14px; }
.public-site .site-footer { padding-bottom:82px; }
.public-site .footer-grid { display:grid; grid-template-columns:1.2fr .8fr 1.3fr .85fr; gap:35px; padding-block:48px 36px; }
.public-site .footer-grid :is(p,a) { font-size:14px; line-height:1.7; }
.public-site .footer-grid nav { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.public-site .footer-grid b { display:block; color:#f4f6f9; font-size:15px; margin-bottom:12px; }
.public-site .footer-contact>a { display:block; margin-bottom:8px; color:#d9e1ec; }
.public-site .footer-contact .footer-phone { color:#ffb69c; font-size:24px; margin-bottom:12px; }
.public-site .footer-staff>a { display:inline-flex; min-height:44px; align-items:center; border:1px solid #637086; border-radius:5px; padding:8px 14px; color:#fff; }
.public-site .language-switch { margin:18px 0 0; }
.public-site .language-switch label { display:block; color:#ced8e7; font-size:13px; letter-spacing:0; }
.public-site .language-switch select { max-width:130px; border-radius:5px; font-size:13px; font-weight:500; }
.public-site .company-legal { font-size:13px; }
.public-site .company-legal .legal-address { margin-left:0; flex-basis:100%; }
.public-site .support-chat { right:20px; bottom:calc(16px + env(safe-area-inset-bottom)); }
.public-site .support-chat-launcher { min-height:48px; padding:10px 15px; font-size:14px; box-shadow:0 4px 14px #101e3020; transform:none; }
.public-site .support-chat-launcher:hover { transform:none; box-shadow:0 4px 14px #101e3020; }
.public-site .support-chat-panel { bottom:60px; border-radius:9px; max-height:calc(var(--chat-viewport,100dvh) - 90px); height:min(530px,calc(var(--chat-viewport,100dvh) - 90px)); }
.public-site .support-chat-close { display:grid; place-items:center; width:44px; height:44px; }
.public-site .support-chat-messages { min-height:0; overscroll-behavior:contain; }
.public-site .support-chat-note { font-size:12px; line-height:1.55; }
.public-site .support-chat-status { font-size:12px; }
.public-site .support-chat-form input { font-size:16px; min-height:44px; }
.public-site .support-chat-form button { min-width:44px; }
.public-site .section { padding-block:80px; }
.public-site .quote-layout { gap:60px; }
.public-site .quote-intro { top:110px; }
.public-site .quote-intro h2 { font-size:40px; }
.public-site .quote-form { border-radius:8px; box-shadow:none; }
.public-site .quote-fields { gap:18px; }
.public-site .quote-fields label { font-size:15px; }
.public-site .quote-fields :is(input,select,textarea) { font-size:16px; }
.public-site .quote-consent { font-size:14px; }
.public-site .quote-consent { display:flex; align-items:flex-start; gap:12px; min-height:44px; cursor:pointer; }
.public-site .quote-consent input { flex:0 0 20px; width:20px; height:20px; margin:2px 0 0; accent-color:#b94e30; }
.public-site .quote-context-note,.public-site .quote-help { color:#536277; font-size:14px; }
.public-site .quote-extra-fields { margin:24px 0; padding-top:20px; border-top:1px solid #d7deea; }
.public-site .quote-extra-fields[hidden] { display:none; }
.public-site .quote-extra-fields legend { padding:0 8px 0 0; font-size:16px; font-weight:700; }
.public-site .quote-extra-fields { border-width:1px 0 0; }
.public-site .quote-privacy { margin-top:24px; padding:16px; border:1px solid #d8dee6; border-radius:6px; background:#f7f9fb; font-size:14px; }
.public-site .quote-privacy dl { margin:12px 0 0; display:grid; grid-template-columns:90px minmax(0,1fr); gap:8px 12px; }
.public-site .quote-privacy dt { font-weight:700; }
.public-site .quote-privacy dd { margin:0; overflow-wrap:anywhere; }
.public-site .quote-privacy a { text-decoration:underline; color:#a5472b; }
.public-site .quote-result:empty { display:none; }
.public-site .quote-field-error { display:block; margin-top:6px; color:#a33d27; font-size:14px; font-weight:500; }
.public-site .quote-form [aria-invalid=true] { border-color:#a33d27; }
.public-site.public-contact .page-hero { padding-block:40px; }
.public-site.public-contact .quote-section { padding-top:28px; }
.public-site.public-contact .quote-layout { grid-template-columns:minmax(0,1fr) 300px; gap:40px; }
.public-site.public-contact .quote-form { grid-column:1; grid-row:1; }
.public-site.public-contact .quote-intro { grid-column:2; grid-row:1; }
.public-site.public-contact .quote-intro h2 { font-size:28px; }
.public-site .quote-contact-help { margin-top:28px; padding-top:24px; border-top:1px solid #cbd4df; }
.public-site .quote-contact-help h3 { font-size:18px; }
.public-site .quote-help-phone { display:block; margin-top:12px; font-size:25px; font-weight:700; }
.public-site .quote-contact-help p { font-size:15px; }
.public-site .quote-contact-help>a:last-child { display:inline-block; padding-block:10px; color:#a5472b; }
.public-site .contact-location .location-card { width:100%; }
.public-site .arrival-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.public-site .arrival-guide-image { width:100%; height:auto; border:1px solid #dce2ea; border-radius:6px; }
.public-site .arrival-steps { margin:0 0 24px; padding-left:24px; }
.public-site .arrival-steps li { padding:7px 0; font-size:16px; }
.public-site .arrival-warning { padding:14px 16px; border-left:3px solid #e3784e; background:#fff0e5; font-weight:700; }
.public-site .public-image-dialog { width:min(1040px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:16px; border:1px solid #d3dce6; border-radius:8px; }
.public-site .public-image-dialog::backdrop { background:#0d182ab3; }
.public-site .public-image-dialog header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
.public-site .public-image-dialog header button { min-height:44px; padding:8px 14px; background:#fff; border:1px solid #b6c1d0; border-radius:5px; cursor:pointer; }
.public-site .public-image-dialog img { width:100%; height:auto; }
.public-site .icepack-error { color:#a53d26; font-size:14px; }
.public-site .price-note { font-size:14px; }
.public-site .supply-terms { display:grid; grid-template-columns:auto 1fr; gap:6px 15px; font-size:14px; margin-top:20px; }
.public-site .supply-terms dd { margin:0; }
.public-site [hidden] { display:none!important; }
.public-site .public-language-note { margin:0; padding:10px 24px; background:#fff0df; color:#624731; text-align:center; font-size:14px; }
.public-site .public-real-photo { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:6px; }
.public-site .quote-extra { margin:0; padding:16px; border:1px solid #d8dee6; border-radius:6px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.public-site .quote-extra legend { padding:0 6px; font-weight:700; }
.public-site .quote-extra label { display:grid; gap:6px; min-width:0; }
.public-site .quote-context { padding:12px; margin:0 0 20px; background:#fff0e5; font-size:14px; }
.public-site .arrival-image-button { display:block; padding:0; width:100%; border:1px solid #d7e0eb; border-radius:7px; background:#fff; overflow:hidden; cursor:zoom-in; color:#243348; }
.public-site .arrival-image-button img { display:block; width:100%; height:auto; }
.public-site .arrival-image-button span { display:block; padding:12px; font-size:14px; }
.public-site .privacy-policy { max-width:900px; }
.public-site .privacy-policy h3 { margin-top:28px; font-size:20px; }
.public-site .onboarding-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0; margin:0; list-style-position:inside; }
.public-site .onboarding-list li { padding:24px; background:#fff; border:1px solid #d7e0e8; border-radius:6px; }
.public-site .onboarding-list h3 { font-size:21px; margin:12px 0 16px; }
.public-site .onboarding-list p { font-size:15px; margin:8px 0; }
.public-site .onboarding-list b { display:block; color:#a5462d; }
.public-site .product-categories { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
.public-site .product-categories a { border:1px solid #bdc8d5; border-radius:5px; padding:10px 24px; min-height:46px; background:#fff; font-weight:700; }
.public-site .product-categories a:hover { background:#ffeadc; }
.public-site .public-product-category { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:48px; padding:40px 0; border-top:1px solid #d9dfe5; }
.public-site .public-product-category-photo img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:contain; background:#fff; border-radius:6px; }
.public-site .public-product-category h2 { margin:0 0 12px; font-size:32px; }
.public-site .public-product-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0; }
.public-site .public-product-items>div { padding:14px 16px; background:#fff; border:1px solid #d7e0e8; border-radius:5px; }
.public-site .public-product-items h3 { margin:0 0 7px; font-size:18px; }
.public-site .public-product-items a { display:inline-flex; align-items:center; min-height:36px; color:#a5472b; font-size:14px; }
.public-site #icepack-inquiry[aria-disabled=true] { opacity:.5; cursor:not-allowed; }
@media (max-width:1199px) {
 .public-site .desktop-nav,.public-site .header-consult { display:none; }
 .public-site .mobile-nav { display:block; }
 .public-site .header-inner { gap:14px; }
 .public-site .header-portal { display:flex; }
 .public-site .public-hero-grid { gap:30px; }
 .public-site .public-hero h1 { font-size:42px; }
 .public-site .public-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
 .public-site .footer-grid { grid-template-columns:1fr 1fr; }
 .public-site .public-product-category { gap:28px; }
 .public-site .onboarding-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .public-site.public-contact .quote-layout { grid-template-columns:minmax(0,1fr) 250px; gap:24px; }
}
@media (max-width:767px) {
 .public-site :is(.page-hero,.centers-hero,.dispatch-hero) { padding-block:40px; }
 .public-site :is(.page-hero,.centers-hero,.dispatch-hero) p { font-size:16px; }
 .public-site .container { width:calc(100% - 40px); }
 .public-site .site-header { height:64px; }
 .public-site .header-inner { gap:10px; }
 .public-site .wordmark { gap:7px; }
 .public-site .wordmark-logo { width:32px; height:32px; }
 .public-site .wordmark strong { font-size:15px; }
 .public-site .wordmark small { font-size:8px; letter-spacing:.06em; }
 .public-site .header-portal { font-size:12px; padding:8px 10px; min-height:42px; }
 .public-site .header-portal small { display:none; }
 .public-site .mobile-nav>summary { width:42px; height:42px; }
 .public-site .public-hero { padding:38px 0 32px; }
 .public-site .public-hero-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
 .public-site .public-hero h1 { font-size:clamp(30px,8.7vw,36px); margin-bottom:18px; line-height:1.28; }
 .public-site .public-lead { font-size:16px; margin-bottom:24px; }
 .public-site .public-hero-photo img { aspect-ratio:16/10; }
 .public-site .public-hero-photo figcaption { font-size:12px; }
 .public-site .public-hero-photo figcaption span { display:none; }
 .public-site .public-capacity-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 0; padding-block:24px; }
 .public-site .public-capacity-grid>div { padding:0 10px; }
 .public-site .public-capacity-grid>div:nth-child(2) { border:0; padding-left:0; }
 .public-site .public-capacity-title { grid-column:1/-1; }
 .public-site .public-capacity-grid b { font-size:28px; }
 .public-site .public-capacity-grid small { font-size:12px; margin-left:3px; }
 .public-site .public-capacity-grid span { font-size:12px; }
 .public-site .public-section,.public-site .section { padding-block:48px; }
 .public-site .public-section-head { display:block; margin-bottom:26px; }
 .public-site .public-section-head>p,.public-site .public-section-head>.text-link { margin-top:18px; }
 .public-site .public-section h2 { font-size:27px; }
 .public-site .public-process-track { grid-template-columns:1fr; gap:0; }
 .public-site .public-process-track li { padding:0 0 30px 58px; border:0; }
 .public-site .public-process-track li>span { position:absolute; left:0; top:0; }
 .public-site .public-process-track li:not(:last-child)::after { content:''; left:18px; top:45px; bottom:7px; right:auto; width:1px; background:#b1bfce; }
 .public-site .public-process-track li:last-child { padding-bottom:0; }
 .public-site .public-process-track h3 { margin:4px 0 8px; }
 .public-site .public-photo-grid { grid-template-columns:1fr; gap:30px; }
 .public-site .public-about-grid,.public-site .public-consult-grid,.public-site .arrival-grid { grid-template-columns:1fr; gap:26px; }
 .public-site .public-consult-actions { grid-template-columns:1fr; }
 .public-site .public-consult-actions .button { min-width:0; }
 .public-site .footer-grid { gap:32px 20px; padding-block:36px; }
 .public-site .footer-company,.public-site .footer-contact { grid-column:1/-1; }
 .public-site .footer-grid .footer-brand { font-size:22px; }
 .public-site .site-footer { padding-bottom:82px; }
 .public-site .support-chat { right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); }
 .public-site .support-chat-panel { width:min(380px,calc(100vw - 40px)); }
 .public-site .quote-layout { gap:30px; }
 .public-site .quote-intro h2 { font-size:30px; }
 .public-site .quote-form { padding:20px; }
 .public-site .quote-privacy dl { grid-template-columns:1fr; gap:3px; }
 .public-site .quote-privacy dd { margin-bottom:9px; }
 .public-site .public-product-category,.public-site .onboarding-list { grid-template-columns:1fr; }
 .public-site .public-product-category { gap:24px; }
 .public-site .public-product-category-photo { max-width:420px; }
 .public-site .quote-extra { grid-template-columns:1fr; }
 .public-site.public-contact .quote-layout { grid-template-columns:minmax(0,1fr); }
 .public-site.public-contact .quote-form { grid-column:1; grid-row:1; }
 .public-site.public-contact .quote-intro { grid-column:1; grid-row:2; position:static; }
 .public-site.public-contact .page-hero { padding-block:28px; }
 .public-site.public-contact .page-hero h1 { font-size:30px; }
 .public-site.public-contact .page-hero p { margin-bottom:0; }
 .public-site.public-contact .quote-points { display:none; }
}
@media (max-width:479px) {
 .public-site .public-service-grid { grid-template-columns:1fr; gap:28px; }
 .public-site .public-service-grid article { padding-top:20px; }
 .public-site .public-service-grid h3 { margin:10px 0; }
 .public-site .public-service-grid p { margin-bottom:16px; }
 .public-site .hero-actions { display:grid; grid-template-columns:1fr; }
 .public-site .hero-actions .button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .public-site { scroll-behavior:auto; } .public-site * { animation:none!important; transition:none!important; } }

/* Text rows are independent from the icon-only top-level menu toggle. */
.public-site .mobile-nav > nav > .mobile-business { width:100%; min-width:0; position:static; }
.public-site .mobile-nav > nav > .mobile-business > summary { width:100%; height:auto; min-height:48px; box-sizing:border-box; align-items:center; gap:12px; line-height:1.5; white-space:normal; word-break:keep-all; overflow-wrap:anywhere; border:0; border-bottom:1px solid #edf0ea; border-radius:0; }
.public-site .mobile-business > summary > span { flex:0 0 auto; width:auto; height:auto; background:none; transform:none; opacity:1; }
.public-site .mobile-business > div { position:static; min-width:0; }
.public-site .mobile-nav > nav > a { min-height:48px; box-sizing:border-box; line-height:1.5; }
