/* Shared readable type, loaded after component styles and mobile overrides. */
body{font-family:var(--font-site);font-size:16px}
button,input,select,textarea{font-family:var(--font-site)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-site)}
h4,h5,h6{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0}
.legacy-content h4,.legacy-content h5,.legacy-content h6{font-size:16px;font-weight:600;line-height:1.6}
.button,.text-link,.text-button,.desktop-nav,.brands-strip .text-link{font-size:15px}
.topbar{font-size:13px}
.eyebrow,.brands-strip .eyebrow,.form-heading .eyebrow,.bottom-promos .eyebrow{font-size:12px;line-height:1.6}
.header-saved,.header-compare{font-size:14px}
.header-saved span,.header-compare span{font-size:12px}
.hero-link,.hero-buttons .button{font-size:15px}
.form-heading p,.quote-form label,.required-note{font-size:14px;line-height:1.6}
.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea,.search-field input{font-size:16px}
.quote-form .consent,.form-note,.extra-project-details,.extra-project-details p{font-size:13px;line-height:1.7}
.quote-form input[type=file],.upload-list li,.upload-list button,.upload-error{font-size:14px}
.enquiry-result,.enquiry-result .button{font-size:15px}
.legacy-content p,.legacy-content li,.material-card p,.guide-grid p,.silica-copy p,.process-grid p,.bottom-promos p,.page-intro p,.product-info>p,.finder-result p,.care-tips p,.enquiry-page>div>p{font-size:16px;line-height:1.7}
.section-heading>p,.guide-footnote,.empty-state p,.silica-note p,.cookie-panel p{font-size:15px;line-height:1.7}
.material-number,.choice-number,.guide-label,.process-grid>div>span,.voucher small{font-size:12px}
.product-caption>span{font-size:12px;line-height:1.5}
.product-caption p,.product-caption .preview-disclosure{font-size:14px;line-height:1.6}
.product-badge,.jumbo-badge,.tags span{font-size:12px}
.compare-product,.surface-preview-toggle,.surface-preview-hint{font-size:13px}
.smallprint,.image-note,.specs p,.source-link,.shortlist-spec-note{font-size:13px;line-height:1.7}
.breadcrumb{font-size:13px;line-height:1.7}
.saved-toggle,.saved-toggle b,.filters>label,.filters select,.filters legend,.filters .radio-label,.filters .check-label,.filter-help,.results-top,.results-top select{font-size:14px}
.filter-heading .text-button{font-size:13px}
.filters legend{line-height:1.5}
.finish-selector h2,.finish-option,.product-room-preview summary{font-size:14px}
.specs dl>div,.product-detail .specs dl>div{font-size:15px;line-height:1.7}
.brand-row>span,.option-buttons button,.page-directory a,.journal-card>span:last-child{font-size:15px}
.comparison-table table,.compare-table,.compare-table th:first-child{font-size:14px}
.compare-product-link>.stone-crop{display:block;width:100%;height:190px;margin:16px 0}
.comparison-table thead th,.compare-product-link>span,.compare-remove,.compare-scroll-hint{font-size:13px}
.shortlist-intro .shortlist-device-note,.shortlist-toolbar>p,.shortlist-toolbar .text-link,.shortlist-toolbar .text-button,.shortlist-unavailable p,.shortlist-unavailable li,.shortlist-tip,.shortlist-state p{font-size:14px}
.compare-quote-row .button,.compare-quote-row .text-link,.compare-tray-actions .button,.compare-tray-actions .text-button{font-size:14px}
.compare-tray-copy strong>span,.compare-tray-copy>span{font-size:13px}
.footer p,.footer-grid>div>a,.footer-social{font-size:15px;line-height:1.8}
.footer h3{font-size:16px}
.footer-grid .footer-phone{font-size:21px}
.footer-wordmark span{font-size:11px}
.footer-bottom,.footer-bottom .text-button{font-size:13px;line-height:1.7}
.footer-grid>div{min-width:0}
.footer-grid a{overflow-wrap:anywhere}
.footer-bottom>div{flex-wrap:wrap}
.instagram-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.instagram-card{aspect-ratio:1}
.restored-copy{padding-block:48px}
.restored-copy-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}
.showroom-information p{margin-bottom:16px}
.installation-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;padding-bottom:64px}
.installation-gallery figure{margin:0;min-width:0}
.installation-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.installation-gallery figcaption{font-size:15px;line-height:1.6;margin-top:12px}

/* The same compact phone-led composition as LWD, in Quartz colours. */
.app-banner{background:#eee6f5;color:var(--ink);margin:70px 0;padding:44px 0}
.app-banner-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;align-items:center}
.app-banner-preview{display:flex;justify-content:center;padding-inline:30px}
.app-device{display:block;width:240px;max-width:100%;flex:none;margin:-68px auto;padding:0;border:7px solid #2d173e;border-radius:25px;overflow:hidden;background:#2d173e;box-shadow:14px 24px 30px #35194c33,2px 4px 0 #7b5a96;cursor:zoom-in;transform:rotate(-8deg);transition:transform .35s,box-shadow .35s;line-height:0}
.app-device>img{display:block;width:100%;height:auto;aspect-ratio:1290/2796;object-fit:contain}
.app-device:hover,.app-device:focus-visible{transform:translateY(-6px);box-shadow:8px 28px 35px #35194c33,2px 4px 0 #7b5a96}
.app-device:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
.app-banner-copy{padding-block:12px;max-width:680px}
.app-banner-copy .eyebrow{color:var(--purple)}
.app-banner-copy h2{font-size:clamp(36px,3.3vw,52px);line-height:1.12;margin-bottom:22px}
.app-banner-copy>p{max-width:570px;font-size:16px;line-height:1.7;margin-bottom:24px}
.app-banner .app-banner-button{background:var(--purple);color:#fff}
.app-banner .app-banner-button:hover{background:#351459}
.app-banner .app-badges img{height:43px;max-width:160px}
.app-banner-copy .smallprint{font-size:13px;margin-top:18px;margin-bottom:0}
.image-dialog:has(.app-screenshot){max-width:680px}
.image-dialog .zoom-media:has(.app-screenshot){overflow:auto;max-height:75vh;height:auto;aspect-ratio:auto}
.image-dialog .app-screenshot{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:1100px){
  .desktop-nav{font-size:14px;gap:20px}
  .footer-grid{gap:30px}
  .app-banner-grid{grid-template-columns:.8fr 1.2fr;gap:5%}
}
@media(max-width:760px){
  .compare-product-link>.stone-crop{height:160px}
  .topbar{font-size:12px}
  .header-actions .button{font-size:12px}
  .eyebrow,.bottom-promos .eyebrow{font-size:11px}
  .section-heading .text-link,.final-cta>.text-link,.referral-promo .text-link{font-size:15px}
  .product-caption h3{font-size:21px;overflow-wrap:anywhere}
  .product-caption>span{font-size:11px}
  .product-caption p{font-size:13px}
  .product-badge,.jumbo-badge{font-size:11px}
  .filters select,.filters legend,.filters .radio-label,.filters>.check-label,.results-top{font-size:14px}
  .specs dl>div{gap:20px}
  .footer-grid>div>a,.footer-social,.footer p{font-size:15px}
  .footer h3{font-size:16px}
  .footer-grid{column-gap:24px}
  .footer-bottom>div{gap:14px 20px}
  .instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .app-banner{margin:42px 0;padding:35px 0 40px}
  .app-banner-grid{grid-template-columns:1fr;gap:30px;text-align:center}
  .app-device{width:205px;margin:0 auto 12px}
  .app-banner-copy{max-width:100%;padding:0}
  .app-banner-copy h2{font-size:36px}
  .app-banner-copy>p{margin-inline:auto}
  .app-banner-copy .app-badges{justify-content:center}
  .restored-copy{padding-block:34px}
  .installation-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .installation-gallery figcaption{font-size:14px}
  .compare-tray-copy strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.app-device{transition:none;transform:none}.app-device:hover,.app-device:focus-visible{transform:none}}

/* Let content shrink and wrap instead of widening narrow phone layouts. */
.enquiry-page>*,.form-row>*,.journal-card{min-width:0}
.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-form input,.quote-form select,.quote-form textarea{min-width:0;max-width:100%}
.quote-form .consent input{flex:0 0 18px;width:18px;height:18px;margin-top:2px}
.breadcrumb.container{margin-inline:auto}
.referral-form-voucher{width:180px;min-height:190px;padding:24px;margin-inline:16px}
.referral-form-voucher strong{line-height:1.2;margin-block:16px}
.referral-form-voucher small{line-height:1.5}
@media(min-width:901px){.bottom-promos .care-promo{column-gap:32px}}
.desktop-nav>a,.nav-drop summary{white-space:nowrap}
@media(min-width:641px) and (max-width:1023px){
  .desktop-nav{display:none}
  .menu-toggle{display:block;min-width:44px;min-height:44px}
  .header-inner{height:80px}
  .mobile-nav{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
}
.page-intro h1,.enquiry-page h1,.journal-card h3{overflow-wrap:anywhere}
.header-quote-short{display:none}
.header-actions .button .header-quote-full,.header-actions .button .header-quote-short{font:inherit}
@media(max-width:1100px){.form-row:has(input[type=date],input[type=time]){grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){
  .enquiry-page{grid-template-columns:minmax(0,1fr)}
  .page-intro h1,.enquiry-page h1{font-size:clamp(32px,10vw,43px);line-height:1.14}
  .journal-card{padding:24px}
  .image-dialog p{font-size:13px;line-height:1.6}
  .header-quote-full{display:none}
  .header-quote-short{display:inline}
  .header-actions .button{white-space:nowrap;min-height:44px;flex-shrink:0}
  .menu-toggle{min-width:44px;min-height:44px;padding:8px}
  .header-actions{gap:4px}
  .topbar-right{flex-shrink:0;white-space:nowrap}
  .topbar .container{gap:12px;padding-block:5px}
  .compare-tray{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 15px}
  .compare-tray-copy strong{display:flex;justify-content:space-between;align-items:center;gap:12px}
  .compare-tray-copy strong>span{display:inline;margin:0;white-space:nowrap}
  .compare-tray-actions{justify-content:space-between;gap:16px}
}
@media(max-width:900px){.mobile-nav{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:360px){
  .header-inner,.header-actions{gap:2px}
  .header-inner .logo{width:94px}
  .header-actions .button{padding:10px 8px!important}
  .enquiry-page>.quote-form,.hero-form{padding:26px 20px}
  .form-row{grid-template-columns:minmax(0,1fr);gap:0}
  .filters>.check-label{grid-column:1/-1;padding-top:0}
}


.cms-content{min-width:0}.cms-preview-banner{padding:15px 24px;background:#fff5ca;color:#172f3e;font:13px/1.5 Arial,sans-serif;border-bottom:1px solid #dcc56d}.cms-preview-banner a{color:inherit;text-decoration:underline;margin-left:15px}.cms-editor-link{font:12px Arial,sans-serif;text-align:center;padding:12px}.cms-section-note{padding:20px;background:#fff2d0}
