/* Shared Modern library chrome; deliberately separate from the business website. */
.modern-library{--image-radius:16px;--preview-border:#d4dfdb}.modern-library .lib-photo,.modern-library .lib-photo img{border-radius:var(--image-radius)}.library-toolbar{position:sticky;top:0;z-index:40;min-height:76px;padding:14px 30px;background:#fff;color:#183738;border-bottom:1px solid #d4dfdb;display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:'DM Sans',sans-serif}.library-logo{font-size:15px;font-weight:700;line-height:1.25;white-space:nowrap}.library-logo span{display:block;font-size:11px;font-weight:400;color:#647670;margin-top:4px}.library-toolbar nav{display:flex;align-items:center;gap:9px}.library-toolbar nav a,.library-toolbar nav button,.copy-composition{border:0;background:transparent;padding:11px 13px;font-size:16px;display:flex;gap:9px;align-items:center;border-radius:7px}.library-toolbar nav a[aria-current]{background:#eaf1ed;font-weight:600}.library-toolbar nav button{background:#183738;color:white}.library-toolbar svg{width:16px;height:16px}.copy-composition{border:1px solid #d4dfdb;white-space:nowrap}.copy-status{position:absolute;right:30px;top:100%;font-size:16px;background:#fff;padding:0 8px}.copy-status:empty{display:none}.copy-status:not(:empty){padding:8px;border:1px solid #d4dfdb;border-radius:5px}.library-overview{padding-block:66px}.library-overview-heading{display:grid;grid-template-columns:1fr .7fr;gap:80px;align-items:center}.library-overview-heading h1{font-size:clamp(42px,4.7vw,70px);letter-spacing:-3px}.library-overview-heading>div>p:not(.section-label){font-size:16px;color:var(--muted);margin-bottom:24px}.library-stat-line{display:flex;gap:35px;align-items:center;padding:26px 0;margin:42px 0 30px;border-block:1px solid var(--line);font-size:16px;color:var(--muted)}.library-stat-line strong{color:var(--ink);font-size:22px;font-weight:600;margin-right:5px}.library-stat-line>span:last-child{margin-left:auto}.library-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.library-family-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.family-card-main{display:block;padding:15px 15px 20px;flex:1}.family-card-main:hover .family-card-heading h2{text-decoration:underline;text-underline-offset:5px}.family-card-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:23px 6px 12px}.family-card-heading h2{font-size:20px;letter-spacing:-.6px}.family-card-heading>span{font-size:16px;display:flex;align-items:center;gap:7px;white-space:nowrap}.family-card-heading svg{width:15px;height:15px}.family-card-main>p{font-size:18px;color:var(--muted);margin:0 6px}.family-card-bottom{padding:14px 20px;border-top:1px solid var(--line);font-size:16px;display:flex;gap:10px;justify-content:space-between}.family-card-bottom>span{color:var(--muted)}.family-card-bottom>a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.family-preview{height:170px;background:#eaf0ed;border-radius:10px;position:relative;overflow:hidden;padding:35px 22px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.preview-line{height:10px;border-radius:5px;background:#a8bdb3;width:90%;align-self:end}.preview-line.short{width:60%;height:6px;align-self:start}.preview-shape{grid-column:2;grid-row:1/4;background:#c9d9d0;border-radius:10px;display:grid;place-items:center;min-height:100px}.preview-shape svg{width:34px;height:34px;color:#67877a}.preview-blocks{display:flex;gap:8px}.preview-blocks i{width:22px;height:16px;background:#1f5c59;border-radius:3px}.preview-header,.preview-footer{padding:35px 22px;grid-template-columns:1fr 1.5fr}.preview-header .preview-shape,.preview-footer .preview-shape{min-height:50px;grid-row:1/3}.preview-header .preview-blocks,.preview-footer .preview-blocks{grid-column:1/-1;justify-content:space-between}.preview-header .preview-blocks i,.preview-footer .preview-blocks i{width:28%;height:7px}.preview-trust .preview-line,.preview-process .preview-line{width:70%}.preview-trust .preview-shape{min-height:45px;grid-row:1/2}.preview-trust .preview-blocks,.preview-process .preview-blocks{grid-column:1/-1;justify-content:space-between}.preview-trust .preview-blocks i{width:29%;height:48px;background:#c9d9d0;border-radius:7px}.preview-gallery,.preview-styles{grid-template-columns:1fr 1fr 1fr;gap:8px}.preview-gallery .preview-shape,.preview-styles .preview-shape{grid-column:2;grid-row:1/4;background:#8fac9f}.preview-gallery .preview-blocks,.preview-styles .preview-blocks{display:block;background:#becfc5;border-radius:9px;height:100px}.preview-gallery .preview-blocks i,.preview-styles .preview-blocks i{display:none}.preview-gallery .preview-line,.preview-styles .preview-line{grid-column:1;background:#becfc5;height:100px;grid-row:1/4;width:100%;border-radius:9px}.preview-gallery .short,.preview-styles .short{display:none}.preview-process .preview-shape{min-height:40px}.preview-process .preview-blocks i{width:28%;height:31px;background:#b1c6ba}.preview-reviews{background:#23483e}.preview-reviews .preview-line{background:#84a497}.preview-reviews .preview-shape{background:#42675a;color:white}.preview-reviews .preview-shape svg{color:#c9d9d0}.preview-faq .preview-shape{grid-column:1;grid-row:1/4;min-height:70px}.preview-faq .preview-line,.preview-faq .preview-blocks{grid-column:2}.preview-faq .preview-blocks i{height:7px;width:80%;background:#a8bdb3}.preview-enquiry .preview-blocks{display:grid;grid-template-columns:1fr 1fr}.preview-enquiry .preview-blocks i{width:100%;height:14px}.preview-enquiry .preview-blocks i:last-child{grid-column:1/-1}.library-guidance{margin-top:60px;max-width:630px}.library-guidance h2{font-size:30px}.library-guidance>p{margin-top:18px;font-size:18px;color:var(--muted)}.library-guidance .fine-print{font-size:16px}.comparison-intro{padding-top:37px;padding-bottom:40px}.back-to-library{display:inline-flex;gap:10px;align-items:center;font-size:16px;margin-bottom:32px}.back-to-library svg{width:16px;height:16px}.comparison-intro>div{display:grid;grid-template-columns:1fr .65fr;gap:60px;align-items:end}.comparison-intro h1{font-size:clamp(38px,4vw,58px);letter-spacing:-2px}.comparison-intro>div>p{color:var(--muted);font-size:18px}.comparison-jumps{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.comparison-jumps a{font-size:16px;border:1px solid var(--line);border-radius:7px;padding:9px 13px}.comparison-jumps a:hover{background:var(--soft)}.component-example{border-top:1px solid var(--line);padding-top:24px;scroll-margin-top:100px}.example-caption{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:24px}.example-caption>div{display:flex;align-items:center;gap:15px}.example-number{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-size:16px}.example-caption h2{font-family:var(--body);font-size:18px;font-weight:600;letter-spacing:0}.example-caption p{font-size:18px;color:var(--muted);margin-top:4px}.example-caption .button{font-size:16px;min-height:40px;padding:10px 15px}.comparison-end{padding-block:55px 75px;display:flex;justify-content:space-between;gap:30px;align-items:center}.comparison-end h2{font-size:28px}.lib-component{scroll-margin-top:100px;min-width:0}.lib-section{padding:76px 0}.lib-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:32px}.lib-heading h2{font-size:clamp(30px,3vw,44px);max-width:22ch}.lib-heading>p{font-size:18px;color:var(--muted);max-width:32ch}.lib-photo{position:relative;overflow:hidden;min-width:0}.lib-photo img{height:100%;width:100%;object-fit:cover}.lib-photo figcaption{position:absolute;bottom:13px;left:13px;right:13px;border-radius:8px;background:#fffffff0;color:#3b5550;font-size:16px;line-height:1.4;padding:10px 13px}.lib-heading .section-label{margin-bottom:13px}/* Header family */
.lib-header-inner{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative}.lib-site-nav{display:flex;gap:24px;font-size:16px}.lib-site-nav a:hover{text-decoration:underline;text-underline-offset:5px}.lib-header-action{font-size:16px;padding:12px 16px;min-height:43px;gap:12px}.lib-menu-button{display:none;background:none;border:1px solid var(--line);border-radius:7px;height:38px;width:38px;align-items:center;justify-content:center}.lib-menu-button svg{width:18px;height:18px}.header-v2 .lib-header-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;padding-top:25px;padding-bottom:20px}.header-v2 .brand{grid-column:2;text-align:center}.header-v2 .lib-site-nav{grid-row:2;grid-column:1/-1;justify-content:center;padding-top:15px;border-top:1px solid var(--line);margin-top:4px}.header-v2 .lib-header-action{grid-column:3;grid-row:1;justify-self:end}.header-v3{padding:22px 0}.header-v3 .lib-header-inner{background:var(--soft);min-height:88px;padding:18px 24px;border-radius:14px}.header-contact-strip{background:var(--ink);color:#e4eeea;font-size:16px}.header-contact-strip .wrap{display:flex;justify-content:space-between;align-items:center;padding-block:10px;gap:20px}.header-contact-strip a{display:flex;gap:10px;align-items:center}.header-contact-strip svg{width:13px;height:13px}.header-v5 .lib-header-inner{min-height:140px;flex-wrap:wrap;gap:20px;padding:24px 0}.header-v5 .lib-site-nav{order:3;flex-basis:100%;border-top:1px solid var(--line);padding-top:18px;justify-content:flex-start}/* Trust family */
.lib-trust{padding:30px 0;border-block:1px solid var(--line)}.lib-trust-items{display:grid;grid-template-columns:repeat(3,1fr)}.lib-trust-item{display:flex;align-items:center;justify-content:center;gap:18px;padding:4px 20px;border-right:1px solid var(--line)}.lib-trust-item:last-child{border:0}.trust-symbol{display:grid;place-items:center;color:var(--accent)}.trust-symbol svg{width:29px;height:29px}.lib-trust h2{font-family:var(--body);font-size:18px;font-weight:600;letter-spacing:0;line-height:1.35}.lib-trust p{font-size:18px;color:var(--muted);margin-top:5px}.trust-v2{border:0;padding-block:25px}.trust-v2 .lib-trust-items{gap:20px}.trust-v2 .lib-trust-item{background:var(--soft);border:0;border-radius:12px;padding:24px 16px;justify-content:flex-start}.trust-v3{background:var(--ink);color:white;border:0;--muted:#f5f5f5;--line:#54756a;--accent:#d3e5dc;padding:32px 0}.trust-v4{border:0;padding:36px 0}.trust-v4 .lib-trust-item{flex-direction:column;text-align:center;gap:13px}.trust-v4 .trust-symbol{height:47px;width:47px;border-radius:50%;background:var(--soft)}.trust-v4 .trust-symbol svg{width:24px;height:24px}.trust-v5{border:0;padding:20px 0}.trust-v5 .lib-trust-items{border:1px solid var(--line);border-radius:14px;background:white;padding:22px 10px}.trust-v5 .lib-trust-item{gap:12px}.trust-v5 .trust-symbol{width:38px;height:38px;border:1px solid var(--line);border-radius:10px}.trust-v5 .trust-symbol svg{width:20px;height:20px}/* Gallery family: every layout retains manual carousel controls. */
.carousel-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:5px}.carousel-track::-webkit-scrollbar{display:none}.carousel-card{flex:0 0 46%;min-width:0;scroll-snap-align:start}.carousel-image{display:block;position:relative;overflow:hidden;width:100%;height:340px;border:0;border-radius:var(--image-radius);padding:0;background:var(--soft)}.carousel-image img{transition:transform .4s}.carousel-image:hover img{transform:scale(1.025)}.carousel-card>figcaption{display:flex;align-items:flex-start;gap:15px;margin-top:18px}.carousel-card h3{font-size:18px;line-height:1.3}.carousel-photo-number{font-size:16px;color:var(--muted);margin-top:4px}.carousel-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:25px}.carousel-controls>p{font-size:18px;color:var(--muted)}.carousel-controls>div{display:flex;align-items:center;gap:15px}.carousel-status{font-size:16px;min-width:45px;text-align:center}.gallery-v2 .lib-heading{text-align:center;display:block}.gallery-v2 .lib-heading h2{max-width:none}.gallery-v2 .lib-heading>p{margin:20px auto 0;max-width:55ch}.gallery-v2 .carousel-card{flex-basis:87%}.gallery-v2 .carousel-image{height:490px}.gallery-v2 .carousel-card>figcaption{justify-content:space-between;flex-direction:row-reverse}.gallery-v3{background:var(--soft)}.gallery-v3 .carousel-card{flex-basis:93%;display:grid;grid-template-columns:1.4fr 1fr;background:var(--paper);border-radius:16px;overflow:hidden;padding:16px;gap:35px}.gallery-v3 .carousel-image{height:385px}.gallery-v3 .carousel-card>figcaption{display:flex;flex-direction:column;align-self:center;margin:0;padding:20px 30px 20px 0;gap:20px}.gallery-v3 .carousel-card h3{font-size:31px;letter-spacing:-1px}.gallery-v3 .carousel-card figcaption p{font-size:18px;color:var(--muted);margin:20px 0 25px}.gallery-v4{background:var(--ink);color:white;--muted:#f5f5f5;--line:#618276;--accent:#d6e7df}.gallery-v4 .carousel-card{flex-basis:63%}.gallery-v4 .carousel-image{height:430px}.gallery-v4 .carousel-card>figcaption{border-bottom:1px solid var(--line);padding-bottom:18px}.gallery-v4 .icon-button:hover{background:#355c4d}.gallery-v5 .lib-carousel{background:var(--soft);border-radius:18px;padding:28px}.gallery-v5 .carousel-card{flex-basis:31%}.gallery-v5 .carousel-image{height:315px}.gallery-v5 .carousel-card>figcaption{gap:10px}.gallery-v5 .carousel-card h3{font-size:18px}/* Package family */
.lib-package{background:var(--soft)}.package-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px 65px}.package-intro{grid-column:2}.package-intro .lib-heading{margin-bottom:20px}.package-intro>p{color:var(--muted);font-size:18px}.package-room{grid-column:1;grid-row:1/3;min-height:610px}.package-room img{position:absolute;object-position:61% center}.package-detail{grid-column:2}.lib-package-items{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}.lib-package-item{display:flex;gap:13px}.lib-package-item>svg{color:var(--accent);width:24px;height:24px;flex-shrink:0}.lib-package-item h3{font-family:var(--body);font-weight:600;font-size:18px;letter-spacing:0;line-height:1.4}.lib-package-item p{font-size:18px;color:var(--muted);margin-top:7px}.package-v2{background:var(--bg)}.package-v2 .package-layout{display:block}.package-v2 .package-intro{text-align:center;max-width:650px;margin:0 auto 35px}.package-v2 .lib-heading{justify-content:center}.package-v2 .lib-heading h2{max-width:none}.package-v2 .package-room{min-height:0;height:410px}.package-v2 .package-room img{position:static;object-position:center 57%}.package-v2 .package-detail{margin-top:40px}.package-v2 .lib-package-items{grid-template-columns:repeat(3,1fr);gap:30px 45px}.package-v2 .package-detail>.fine-print{text-align:center}.package-v2 .package-detail>.text-link{display:flex;width:fit-content;margin:auto}.package-v3{background:white}.package-v3 .package-intro{grid-column:1}.package-v3 .package-room{grid-column:2}.package-v3 .package-detail{grid-column:1}.package-v3 .lib-package-items{grid-template-columns:1fr;gap:18px}.package-v3 .lib-package-item{padding-bottom:17px;border-bottom:1px solid var(--line)}.package-v3 .package-room{min-height:670px}.package-v4{background:var(--bg)}.package-v4 .package-room{min-height:650px}.package-v4 .lib-package-items{display:block}.package-chapter{border-bottom:1px solid var(--line)}.package-chapter summary{padding:17px 0}.package-chapter summary>span{display:flex;gap:12px;align-items:center}.package-chapter summary>span svg{width:21px;height:21px}.package-chapter>p{padding-left:33px;font-size:18px}.package-v5{background:var(--ink);color:white;--muted:#f5f5f5;--accent:#c6ded2;--line:#678c7b}.package-v5 .package-layout{grid-template-columns:1.1fr 1fr;gap:30px 50px}.package-v5 .package-intro,.package-v5 .package-detail{grid-column:1}.package-v5 .package-room{grid-column:2;min-height:600px}.package-v5 .text-link{border-color:#a9c3b7}.package-v5 .lib-package-item{flex-direction:column;gap:10px}/* Bathroom style family */
.lib-style-items{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.style-image{height:320px;min-width:0}.style-image img{border-radius:var(--image-radius)}.style-content{padding-top:20px}.style-content h3{font-size:22px}.style-content>p{font-size:18px;color:var(--muted);margin-top:12px;max-width:42ch}.style-action{font-size:16px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.style-action svg{width:17px;height:17px}.lib-style-item:hover .style-action{text-decoration:underline;text-underline-offset:4px}.styles-v2 .lib-style-items{grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:28px}.styles-v2 .lib-style-item:first-child{grid-row:1/3}.styles-v2 .lib-style-item:first-child .style-image{height:450px}.styles-v2 .lib-style-item:not(:first-child){display:grid;grid-template-columns:1fr 1.05fr;gap:22px;align-items:center}.styles-v2 .lib-style-item:not(:first-child) .style-image{height:230px}.styles-v2 .lib-style-item:not(:first-child) .style-content{padding:0}.styles-v2 .lib-style-item:not(:first-child) h3{font-size:21px}.styles-v3{background:var(--soft)}.styles-v3 .lib-style-items{display:grid;grid-template-columns:1fr;gap:22px}.styles-v3 .lib-style-item{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;background:var(--paper);border-radius:18px;padding:18px;align-items:center}.styles-v3 .style-image{height:270px}.styles-v3 .style-content{padding:20px 45px 20px 0}.styles-v3 .style-content h3{font-size:31px}.styles-v3 .style-content>p{font-size:18px}.styles-v3 .style-action{max-width:280px}.styles-v4 .lib-style-items{display:block;border-top:1px solid var(--line)}.styles-v4 .lib-style-item{display:grid;grid-template-columns:230px 1fr;gap:35px;align-items:center;border-bottom:1px solid var(--line);padding:24px 0}.styles-v4 .style-image{height:160px}.styles-v4 .style-content{padding:0;display:grid;grid-template-columns:1fr .8fr;gap:10px 35px;align-items:center}.style-index{font-size:16px;color:var(--muted);grid-column:1}.styles-v4 .style-content h3{grid-column:1;font-size:27px}.styles-v4 .style-content>p{grid-column:2;grid-row:1/3;margin:0}.styles-v4 .style-action{grid-column:1/-1;margin-top:0;padding-top:11px;border:0;justify-content:flex-start}.styles-v5 .lib-style-item{position:relative}.styles-v5 .style-image{height:420px}.styles-v5 .style-content{position:absolute;bottom:16px;left:16px;right:16px;background:#fffffff2;border-radius:11px;padding:20px;color:var(--ink)}.styles-v5 .style-content h3{font-size:20px}.styles-v5 .style-content>p{font-size:18px}.styles-v5 .style-action{margin-top:13px;padding-top:11px}/* Reasons family */
.lib-reasons{background:var(--paper)}.reasons-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px 75px}.reasons-intro{grid-column:2}.reasons-intro .lib-heading{margin-bottom:20px}.reasons-intro>p{font-size:18px;color:var(--muted)}.reasons-image{grid-column:1;grid-row:1/3;min-height:550px}.reasons-image img{position:absolute}.reasons-details{grid-column:2}.lib-reasons-list{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:26px}.lib-reasons-list li{display:flex;gap:15px;align-items:flex-start}.reason-check{display:grid;place-items:center;color:var(--accent)}.reason-check svg{width:20px;height:20px}.lib-reasons-list h3{font-family:var(--body);font-weight:600;font-size:18px;line-height:1.35;letter-spacing:0}.lib-reasons-list p{font-size:18px;color:var(--muted);margin-top:8px;max-width:47ch}.reasons-v2{background:var(--bg)}.reasons-v2 .reasons-layout{display:block}.reasons-v2 .reasons-intro{display:flex;justify-content:space-between;align-items:center;gap:50px;margin-bottom:30px}.reasons-v2 .reasons-intro>p{max-width:35ch}.reasons-v2 .lib-reasons-list{grid-template-columns:1fr 1fr;gap:30px 65px}.reasons-v2 .lib-reasons-list li{padding:25px 0;border-top:1px solid var(--line)}.reasons-v2 .reason-check{width:38px;height:38px;flex-shrink:0;background:var(--soft);border-radius:10px}.reasons-v2 .reasons-details>.text-link{margin-top:8px}.reasons-v3{background:var(--soft)}.reasons-v3 .reasons-layout{grid-template-columns:.85fr 1.3fr;gap:28px 55px}.reasons-v3 .reasons-intro{grid-column:1;grid-row:1;background:var(--ink);color:white;padding:35px;border-radius:16px}.reasons-v3 .reasons-intro .section-label,.reasons-v3 .reasons-intro>p{color:#cbded4}.reasons-v3 .reasons-intro h2{font-size:34px}.reasons-v3 .reasons-image{grid-column:1;grid-row:2;min-height:180px;height:180px}.reasons-v3 .reasons-details{grid-column:2;grid-row:1/3;align-self:center}.reasons-v3 .lib-reasons-list{gap:30px}.reasons-v3 .lib-reasons-list li{border-bottom:1px solid #b8c9c0;padding-bottom:26px}.reasons-v4 .reasons-intro,.reasons-v4 .reasons-details{grid-column:1}.reasons-v4 .reasons-image{grid-column:2}.reasons-v4 .lib-reasons-list{gap:20px}.reasons-v4 .lib-reasons-list li{background:var(--bg);padding:20px;border-radius:12px}.reasons-v5{background:var(--ink);color:white;--accent:#c9e0d4;--muted:#f5f5f5;--line:#54796a}.reasons-v5 .reasons-layout{grid-template-columns:.9fr 1.1fr;gap:70px}.reasons-v5 .reasons-intro{grid-column:1}.reasons-v5 .reasons-details{grid-column:2}.reasons-v5 .lib-reasons-list li{padding:0 0 22px;border-bottom:1px solid var(--line)}.reasons-v5 .text-link{border-color:#a3c3b3}/* Process family */
.process-intro>p{font-size:18px;color:var(--muted);max-width:53ch}.lib-process-steps{padding:0;margin:42px 0 0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.lib-process-steps li{padding-top:24px;border-top:1px solid var(--line)}.lib-step-number{font-family:var(--display);font-size:32px;color:var(--accent);display:block;margin-bottom:20px}.lib-process-steps h3{font-size:19px}.lib-process-steps p{font-size:18px;color:var(--muted);margin-top:12px}.process-v2 .process-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.process-v2 .process-intro .text-link{margin-top:25px}.process-v2 .lib-process-steps{grid-template-columns:1fr;gap:0;margin:0}.process-v2 .lib-process-steps li{display:flex;gap:25px;padding:20px 0 28px}.process-v2 .lib-step-number{font-size:23px;min-width:42px;margin:0}.process-v2 .lib-process-steps p{max-width:42ch}.process-v3{background:var(--soft)}.process-v3 .process-layout{display:grid;grid-template-columns:.9fr 1.2fr;gap:65px;align-items:center}.process-v3 .lib-process-steps{grid-template-columns:1fr 1fr;gap:20px;margin:0}.process-v3 .lib-process-steps li{background:var(--paper);padding:26px;border:0;border-radius:14px}.process-v3 .lib-step-number{font-size:25px;margin-bottom:30px}.process-v4 .process-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px 70px}.process-v4 .process-intro{grid-column:1/-1}.process-v4 .process-intro>p{max-width:60ch}.process-v4 .process-intro>.text-link{margin:20px 0}.process-v4 .process-image{height:465px;grid-column:1}.process-v4 .lib-process-steps{grid-column:2;grid-template-columns:1fr;gap:20px;margin:0}.process-v4 .lib-process-steps li{display:flex;gap:24px;padding-top:18px}.process-v4 .lib-step-number{font-size:23px;min-width:35px}.process-v5 .process-layout{background:var(--soft);border-radius:18px;padding:42px}.process-v5 .process-intro{display:flex;justify-content:space-between;gap:60px;align-items:center}.process-v5 .process-intro>p{max-width:35ch}.process-v5 .lib-process-steps{display:grid;grid-template-columns:1fr;gap:0;margin:15px 0 0}.process-v5 .lib-process-steps li{display:grid;grid-template-columns:50px 1fr;padding:20px 0;gap:20px}.process-v5 .lib-process-steps li>div{display:grid;grid-template-columns:.7fr 1fr;gap:35px;align-items:center}.process-v5 .lib-step-number{font-size:22px;margin:0}.process-v5 .lib-process-steps p{margin:0}/* Review family: explicitly labelled proof placeholders,never fabricated reviews. */
.lib-reviews{background:var(--soft)}.reviews-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.review-notice{font-size:16px;color:var(--muted);max-width:52ch}.review-quote{font-family:Georgia,serif;font-size:62px;line-height:.8;color:var(--accent)}.lib-review-card{padding:30px;border-left:1px solid var(--line)}.review-slot-title{font-family:var(--display);font-size:25px;line-height:1.4;max-width:26ch;margin:16px 0}.review-slot-copy{font-size:16px;color:var(--muted);margin-bottom:26px}.review-author-placeholder{display:flex;gap:12px;align-items:center}.review-author-placeholder>span{height:38px;width:38px;display:grid;place-items:center;background:#d1dfd7;border-radius:50%;color:#627e70;flex-shrink:0}.review-author-placeholder svg{height:18px;width:18px}.review-author-placeholder strong{display:block;font-size:16px;font-weight:500}.review-author-placeholder small{display:block;font-size:16px;color:var(--muted);margin-top:4px}.reviews-v2{background:var(--bg)}.reviews-v2 .reviews-layout{display:block}.reviews-v2 .reviews-intro{display:flex;justify-content:space-between;gap:60px;align-items:center;margin-bottom:32px}.reviews-v2 .review-notice{max-width:35ch}.reviews-v2 .lib-review-items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.reviews-v2 .lib-review-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:28px}.reviews-v2 .review-slot-title{font-size:21px}.reviews-v3{background:white}.reviews-v3 .reviews-layout{grid-template-columns:1fr 1fr;gap:25px 70px}.reviews-v3 .reviews-intro{grid-column:2;grid-row:1}.reviews-v3 .review-photo{grid-column:1;grid-row:1/3;min-height:510px}.reviews-v3 .review-photo img{position:absolute}.reviews-v3 .lib-review-items{grid-column:2}.reviews-v3 .lib-review-card{padding:15px 0 0;border:0}.reviews-v4{background:var(--ink);color:white;--muted:#f5f5f5;--accent:#c8e1d3;--line:#648272}.reviews-v4 .reviews-layout{display:block;max-width:880px;text-align:center}.reviews-v4 .lib-heading{display:block}.reviews-v4 .lib-heading h2{margin:auto;max-width:none}.reviews-v4 .review-notice{margin:auto}.reviews-v4 .lib-review-card{border:0;padding:35px 0 0}.reviews-v4 .review-slot-title{margin:17px auto;font-size:35px;max-width:24ch}.reviews-v4 .review-author-placeholder{justify-content:center}.reviews-v5 .reviews-layout{grid-template-columns:.8fr 1.2fr;align-items:start}.reviews-v5 .lib-review-items{display:grid;gap:18px}.reviews-v5 .lib-review-card{border:0;background:var(--paper);border-radius:12px;padding:25px;display:grid;grid-template-columns:35px 1fr;gap:5px 15px}.reviews-v5 .review-quote{grid-row:1/4;font-size:45px}.reviews-v5 .review-slot-title{font-size:20px;margin:0;max-width:none}.reviews-v5 .review-slot-copy{margin:8px 0 13px}.reviews-v5 .review-author-placeholder{grid-column:2}/* FAQ family */
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-intro>p{font-size:18px;color:var(--muted);margin:0 0 24px;max-width:34ch}.lib-faq-item{border-top:1px solid var(--line)}.lib-faq-item:last-child{border-bottom:1px solid var(--line)}.lib-faq-item summary{font-size:18px;font-weight:500;padding:23px 0;line-height:1.65}.lib-faq-item>p{font-size:18px;line-height:1.8;padding-right:25px}.faq-v2{background:var(--paper)}.faq-v2 .faq-layout{display:block;max-width:820px;margin:auto}.faq-v2 .faq-intro{text-align:center;margin-bottom:38px}.faq-v2 .lib-heading{justify-content:center}.faq-v2 .lib-heading h2{max-width:none}.faq-v2 .faq-intro>p{margin:0 auto 23px;max-width:none}.faq-v3{background:var(--soft)}.faq-v3 .faq-layout{display:block}.faq-v3 .faq-intro{margin-bottom:32px}.faq-v3 .lib-faq-items{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.faq-v3 .lib-faq-item{background:white;border:0;border-radius:12px;padding:0 22px}.faq-v3 .lib-faq-item summary{padding:24px 0}.faq-v3 .lib-faq-item p{padding-right:0}.faq-v4 .faq-layout{grid-template-columns:1fr 1fr;gap:65px}.faq-v4 .faq-photo{height:290px;margin-top:30px}.faq-v4 .lib-faq-items{align-self:center}.faq-v4 .lib-faq-item summary{padding:26px 0}.faq-v5 .faq-layout{display:block}.faq-v5 .faq-intro{max-width:650px;margin-bottom:42px}.faq-v5 .lib-faq-items{display:grid;grid-template-columns:1fr 1fr;gap:55px}.faq-group>h3{font-size:21px;margin-bottom:22px}.faq-group{background:var(--paper);border-radius:14px;padding:30px;border:1px solid var(--line)}/* Enquiry family: every form has unique labels and the same honest demo behaviour. */
.lib-enquiry{background:var(--ink);color:#fff;--muted:#f5f5f5;--accent:#d0e1d8}.enquiry-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.lib-enquiry-intro>p{font-size:18px;color:var(--muted);max-width:39ch}.lib-enquiry-intro .lib-contact-note{font-size:16px;max-width:43ch;margin-top:28px}.lib-enquiry-form{background:var(--paper);color:#183738;padding:32px;border-radius:16px;--muted:#303030;--accent:#1f5c59;--line:#d1ddda}.lib-enquiry-form .button{width:100%;margin-top:2px}.lib-form-status{font-size:16px;padding:14px;margin-top:16px;background:var(--soft);border-radius:7px}.enquiry-v2{background:var(--bg);color:var(--ink);--muted:#303030;--accent:#1f5c59}.enquiry-v2 .enquiry-layout{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:42px;gap:55px}.enquiry-v2 .lib-enquiry-form{padding:0;background:transparent}.enquiry-v2 .lib-enquiry-intro{padding-top:18px}.enquiry-v3{background:var(--soft);color:var(--ink);--muted:#303030;--accent:#1f5c59}.enquiry-v3 .enquiry-layout{grid-template-columns:1fr 1fr;gap:27px 65px}.enquiry-v3 .lib-enquiry-intro{grid-column:1;grid-row:1}.enquiry-v3 .enquiry-next{display:none}.enquiry-v3 .lib-contact-note{margin-top:17px}.enquiry-v3 .enquiry-image{height:280px;grid-column:1;grid-row:2}.enquiry-v3 .enquiry-form-wrap{grid-column:2;grid-row:1/3;align-self:center}.enquiry-v4{background:var(--bg);color:var(--ink);--muted:#303030;--accent:#1f5c59}.enquiry-v4 .enquiry-layout{display:block;max-width:720px;margin:auto}.enquiry-v4 .lib-enquiry-intro{text-align:center}.enquiry-v4 .lib-heading{justify-content:center}.enquiry-v4 .lib-heading h2{max-width:none}.enquiry-v4 .lib-enquiry-intro>p{margin-inline:auto;max-width:50ch}.enquiry-v4 .enquiry-next{justify-content:center;margin-block:22px}.enquiry-v4 .lib-contact-note{margin-top:0!important}.enquiry-v4 .enquiry-form-wrap{margin-top:32px}.enquiry-v4 .lib-enquiry-form{border:1px solid var(--line);padding:35px}.enquiry-v5{background:var(--soft);color:var(--ink);--muted:#303030;--accent:#1f5c59}.enquiry-v5 .enquiry-layout{grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.enquiry-v5 .lib-enquiry-form{padding:28px}.enquiry-v5 .enquiry-next{margin:22px 0}.optional-message{margin-bottom:15px;border-block:1px solid var(--line)}.optional-message summary{padding:13px 0;font-size:18px}.optional-message label{padding-top:5px}.optional-message textarea{min-height:85px}/* Footer family */
.lib-footer{padding:50px 0;background:var(--bg)}.footer-layout{display:flex;justify-content:space-between;gap:60px}.footer-identity>p{font-size:18px;color:var(--muted);margin-top:18px}.footer-layout nav{display:flex;gap:70px}.footer-layout nav>div{display:grid;gap:9px;align-content:start}.footer-layout h2{font-family:var(--body);font-size:18px;letter-spacing:0;font-weight:600;margin-bottom:6px}.footer-layout nav a{font-size:16px;color:var(--muted)}.footer-layout nav a:hover{text-decoration:underline;text-underline-offset:4px}.footer-base{border-top:1px solid var(--line);padding-top:23px;margin-top:36px;display:flex;justify-content:space-between;gap:40px;font-size:16px;color:var(--muted)}.footer-base>p:last-child{max-width:56ch}.footer-v2{background:var(--ink);color:#fff;--muted:#f5f5f5;--line:#648473}.footer-v2 .text-link{border-color:#a8c4b7}.footer-contact>p{font-size:18px;color:var(--muted);margin:14px 0 18px}.footer-contact h2{font-size:18px}.footer-contact .text-link{font-size:16px}.footer-invitation{display:flex;justify-content:space-between;gap:35px;align-items:center;background:var(--soft);border-radius:16px;padding:32px;margin-bottom:40px}.footer-invitation h2{font-size:30px}.footer-v3 .footer-layout nav{gap:45px}.footer-v4 .footer-layout{display:block;text-align:center}.footer-v4 .footer-identity>p{margin-inline:auto}.footer-v4 .footer-layout nav{justify-content:center;margin-top:28px;gap:40px}.footer-v4 .footer-layout nav>div{display:flex;gap:25px;align-items:center}.footer-v4 .footer-layout nav h2{display:none}.footer-v4 .footer-base{text-align:center;display:block}.footer-v4 .footer-base>p{margin:8px auto}.footer-v5{background:var(--soft)}.footer-v5 .footer-layout{display:grid;grid-template-columns:1.1fr 1.5fr 1fr;gap:45px}.footer-v5 .footer-layout nav{gap:35px}.footer-v5 .footer-contact{border-left:1px solid #b5c8be;padding-left:30px}/* Composer & gallery dialogs */
.composer-dialog{background:var(--bg);color:var(--ink);border:0;border-radius:18px;padding:30px;max-width:820px;width:calc(100% - 40px);max-height:90vh;overflow:auto}.composer-dialog::backdrop{background:#102f28b8}.composer-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.composer-heading h2{font-size:29px}.composer-heading .section-label{margin-bottom:9px}.composer-description{font-size:18px;color:var(--muted);margin-top:19px}.composer-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;margin-top:28px}.composer-fields label{margin:0}.composer-fields label>span{font-size:16px;font-weight:600;color:var(--ink)}.composer-fields select{font-family:var(--body);font-size:16px;color:var(--ink);display:block;width:100%;padding:12px;background:#fff;border:1px solid var(--line);border-radius:7px;margin:7px 0 6px;min-height:45px}.composer-fields label>a{font-size:16px;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}.composer-actions{position:sticky;bottom:-30px;background:var(--bg);padding:25px 0 10px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}.reset-composition{border:0;background:none;font-size:16px;text-decoration:underline;text-underline-offset:4px}.lib-lightbox{background:transparent;padding:0;border:0;color:white;max-width:90vw;max-height:93vh}.lib-lightbox img{max-width:88vw;max-height:80vh;width:auto;object-fit:contain;border-radius:16px}.lib-lightbox p{font-size:18px;padding:14px 0}.lib-lightbox button{position:fixed;right:22px;top:22px;background:white;color:#183738;border:0}.lib-lightbox::backdrop{background:#10231fe8}.modern-library:has(dialog[open]){overflow:hidden}.modern-library:has(dialog[open]) .mobile-contact{display:none}.modern-library .lib-component[data-family=hero] .modern-hero{margin-top:15px}
/* Tablet */
@media(max-width:1100px){.library-toolbar{padding-inline:20px;gap:15px}.library-toolbar nav{gap:3px}.library-toolbar nav a,.library-toolbar nav button{padding-inline:10px;font-size:16px}.copy-composition{font-size:16px;padding:10px}.library-logo{font-size:13px}.library-overview-heading{gap:45px}.library-card-grid{gap:20px}.family-card-heading{display:block}.family-card-heading>span{margin-top:10px}.family-card-bottom{display:block}.family-card-bottom>a{display:block;margin-top:7px}.family-preview{height:145px;padding:24px 17px}.lib-header-inner{gap:18px}.lib-header .brand{font-size:24px}.lib-site-nav{gap:15px;font-size:16px}.lib-header-action{font-size:16px;padding-inline:11px}.lib-header-action svg{display:none}.lib-section{padding-block:60px}.lib-heading{gap:25px}.package-layout,.reasons-layout{gap:28px 40px}.lib-package-items{gap:23px 18px}.lib-package-item{gap:10px}.gallery-v3 .carousel-card{gap:22px}.gallery-v3 .carousel-card>figcaption{padding-right:15px}.gallery-v5 .carousel-card{flex-basis:40%}.style-image{height:270px}.styles-v2 .lib-style-item:not(:first-child){gap:16px;grid-template-columns:1fr 1fr}.styles-v2 .lib-style-item:not(:first-child) .style-image{height:240px}.styles-v3 .lib-style-item{gap:35px}.styles-v4 .lib-style-item{grid-template-columns:190px 1fr;gap:25px}.styles-v5 .style-content{padding:15px;left:12px;right:12px}.process-v2 .process-layout{gap:55px}.process-v3 .process-layout{gap:35px}.process-v3 .lib-process-steps li{padding:22px}.reviews-layout{gap:40px}.reviews-v2 .lib-review-items{gap:16px}.reviews-v2 .lib-review-card{padding:20px}.reviews-v2 .review-slot-title{font-size:18px}.review-author-placeholder strong{font-size:16px}.review-author-placeholder small{font-size:16px}.faq-layout{gap:50px}.faq-v5 .lib-faq-items{gap:25px}.faq-group{padding:25px}.enquiry-layout{gap:50px}.enquiry-v2 .enquiry-layout{padding:30px;gap:35px}.enquiry-v3 .enquiry-layout{gap:25px 35px}.footer-layout{gap:35px}.footer-layout nav{gap:35px}.footer-v5 .footer-layout{gap:30px}.footer-v5 .footer-layout nav{gap:23px}.footer-v5 .footer-contact{padding-left:20px}.footer-v4 .footer-layout nav{gap:25px}.footer-v4 .footer-layout nav>div{gap:18px}}
/* Mobile: reset each composition into a readable, deliberately ordered layout. */
@media(max-width:800px){.library-toolbar{min-height:100px;display:grid;grid-template-columns:1fr auto;padding:11px 16px;gap:10px}.library-logo{font-size:12px}.library-logo span{font-size:9px;margin-top:3px}.library-toolbar nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:4px}.library-toolbar nav a,.library-toolbar nav button{font-size:16px;padding:8px 9px;min-height:34px}.library-toolbar nav svg{width:13px;height:13px}.copy-composition{grid-column:2;grid-row:1;padding:7px 9px;font-size:16px}.copy-composition svg{width:12px;height:12px}.copy-status{right:16px}.library-overview{padding-block:35px}.library-overview-heading{grid-template-columns:1fr;gap:24px}.library-overview-heading h1{font-size:43px;letter-spacing:-2px}.library-overview-heading>div>p:not(.section-label){font-size:16px;margin-bottom:20px}.library-overview-heading .button{font-size:16px}.library-stat-line{flex-wrap:wrap;gap:15px 25px;margin:30px 0 25px;padding:18px 0;font-size:16px}.library-stat-line strong{font-size:20px}.library-stat-line>span:last-child{margin-left:0;flex-basis:100%;font-size:16px}.library-card-grid{grid-template-columns:1fr;gap:20px}.family-card-heading{display:flex}.family-card-heading>span{margin:0}.family-preview{height:140px}.family-card-bottom{display:flex}.family-card-bottom>a{margin:0}.family-card-main>p{font-size:18px}.library-guidance{margin-top:35px}.library-guidance h2{font-size:25px}.library-guidance>p{font-size:18px}.comparison-intro{padding-top:25px;padding-bottom:28px}.back-to-library{font-size:16px;margin-bottom:22px}.comparison-intro>div{grid-template-columns:1fr;gap:20px}.comparison-intro h1{font-size:36px;letter-spacing:-1.5px}.comparison-intro>div>p{font-size:18px}.comparison-jumps{gap:7px;margin-top:24px}.comparison-jumps a{font-size:16px;padding:8px 10px}.example-caption{gap:13px;align-items:flex-start}.example-caption>div{gap:10px}.example-number{width:29px;height:29px;font-size:16px;flex-shrink:0}.example-caption h2{font-size:18px;line-height:1.4}.example-caption p{font-size:18px}.example-caption .button{font-size:16px;white-space:nowrap;padding:9px;gap:7px;min-height:35px}.example-caption .button svg{width:12px;height:12px}.component-example{padding-top:20px;scroll-margin-top:125px}.comparison-end{display:block;padding-block:35px 55px}.comparison-end h2{font-size:26px;margin-bottom:22px}.lib-component{scroll-margin-top:125px}.lib-section{padding-block:45px}.lib-heading{display:block;margin-bottom:25px}.lib-heading h2{font-size:33px;letter-spacing:-1.1px;max-width:none}.lib-heading>p{margin-top:18px;font-size:18px;max-width:45ch}.lib-photo figcaption{font-size:16px;padding:8px 10px;left:10px;right:10px;bottom:10px}.lib-header-inner{min-height:85px;gap:14px}.lib-header .brand{font-size:25px}.lib-header .brand span{font-size:9px}.lib-header-action{margin-left:auto;font-size:16px;padding:10px;max-width:115px;min-height:38px;text-align:center}.lib-menu-button{display:flex;flex-shrink:0;width:33px;height:36px}.lib-site-nav{display:none!important;position:absolute;left:0;right:0;top:100%;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;z-index:20;box-shadow:0 12px 24px #153c2912;margin:0!important;font-size:16px}.lib-site-nav.is-open{display:grid!important;gap:19px}.header-v2 .lib-header-inner{display:flex;padding-block:20px;min-height:90px}.header-v2 .brand{text-align:left}.header-v3{padding:13px 0}.header-v3 .lib-header-inner{min-height:85px;padding:18px 15px;gap:10px}.header-v3 .brand{font-size:23px}.header-v3 .lib-header-action{display:none}.header-v3 .lib-menu-button{margin-left:auto}.header-contact-strip .wrap{padding-block:8px;font-size:16px}.header-contact-strip span{max-width:150px}.header-contact-strip a{gap:6px}.header-contact-strip a svg{width:11px;height:11px}.header-v5 .lib-header-inner{min-height:85px;padding-block:20px;flex-wrap:nowrap}.header-v5 .lib-site-nav{padding-top:20px;flex-basis:auto}.header-v5 .lib-header-action{border-radius:7px}.modern-library .lib-component[data-family=hero] .modern-hero{margin-top:0}.lib-trust{padding-block:23px}.lib-trust-items{gap:8px}.lib-trust-item{padding:2px 5px;gap:10px;flex-direction:column;text-align:center;justify-content:flex-start}.trust-symbol svg{width:23px;height:23px}.lib-trust h2{font-size:18px;line-height:1.4}.lib-trust p{font-size:18px;line-height:1.65;margin-top:6px}.trust-v2 .lib-trust-items{gap:9px}.trust-v2 .lib-trust-item{padding:17px 7px;justify-content:flex-start;border-radius:11px}.trust-v3{padding-block:25px}.trust-v4{padding-block:26px}.trust-v4 .trust-symbol{width:36px;height:36px}.trust-v4 .trust-symbol svg{width:21px;height:21px}.trust-v5 .lib-trust-items{padding:16px 7px;gap:7px}.trust-v5 .lib-trust-item{gap:8px}.trust-v5 .trust-symbol{width:32px;height:32px}.trust-v5 .trust-symbol svg{height:18px;width:18px}.carousel-card{flex-basis:88%}.carousel-image{height:270px}.carousel-card>figcaption{gap:12px;margin-top:15px}.carousel-card h3{font-size:18px}.carousel-photo-number{font-size:16px;margin-top:3px}.carousel-controls{gap:13px;align-items:center;margin-top:20px}.carousel-controls>p{font-size:18px;max-width:150px}.carousel-controls>div{gap:7px}.carousel-controls .icon-button{width:32px;height:32px}.carousel-status{font-size:16px;min-width:38px}.gallery-v2 .carousel-card{flex-basis:94%}.gallery-v2 .carousel-image{height:300px}.gallery-v2 .lib-heading>p{font-size:18px}.gallery-v3 .carousel-card{flex-basis:95%;display:flex;flex-direction:column;gap:0;padding:12px}.gallery-v3 .carousel-image{height:220px}.gallery-v3 .carousel-card>figcaption{padding:18px 8px 13px;gap:11px;align-self:auto}.gallery-v3 .carousel-card h3{font-size:24px}.gallery-v3 .carousel-card figcaption p{font-size:18px;margin:13px 0 18px}.gallery-v3 .text-link{font-size:16px}.gallery-v4 .carousel-card{flex-basis:92%}.gallery-v4 .carousel-image{height:320px}.gallery-v5 .lib-carousel{padding:17px}.gallery-v5 .carousel-card{flex-basis:92%}.gallery-v5 .carousel-image{height:245px}.gallery-v5 .carousel-controls{display:block}.gallery-v5 .carousel-controls>p{max-width:none;margin-bottom:15px}.gallery-v5 .carousel-controls>div{justify-content:flex-end}.package-layout,.package-v5 .package-layout{display:flex;flex-direction:column;gap:27px}.package-intro .lib-heading{margin-bottom:18px}.package-intro>p{font-size:18px}.package-room,.package-v3 .package-room,.package-v4 .package-room,.package-v5 .package-room{height:330px;min-height:330px}.package-room img{position:static}.lib-package-items{gap:24px 18px}.lib-package-item{gap:10px}.lib-package-item>svg{width:21px;height:21px}.lib-package-item h3{font-size:18px}.lib-package-item p{font-size:18px;margin-top:6px}.package-v2 .package-intro{text-align:left;margin-bottom:25px}.package-v2 .lib-heading{justify-content:flex-start}.package-v2 .package-room{height:300px;min-height:300px}.package-v2 .package-detail{margin-top:30px}.package-v2 .lib-package-items{grid-template-columns:1fr 1fr;gap:25px 20px}.package-v2 .package-detail>.fine-print{text-align:left}.package-v2 .package-detail>.text-link{margin:0}.package-v3 .lib-package-items{gap:15px}.package-v3 .lib-package-item{padding-bottom:15px}.package-chapter summary{font-size:18px;padding-block:16px}.package-chapter>p{font-size:18px}.package-v5 .lib-package-item{gap:11px}.lib-style-items,.styles-v2 .lib-style-items{grid-template-columns:1fr;grid-template-rows:auto;gap:30px}.style-image{height:300px}.style-content{padding-top:18px}.style-content h3{font-size:24px}.style-content>p{font-size:18px;margin-top:10px}.style-action{font-size:16px;margin-top:15px;padding-top:13px}.styles-v2 .lib-style-item:first-child{grid-row:auto}.styles-v2 .lib-style-item:first-child .style-image{height:310px}.styles-v2 .lib-style-item:not(:first-child){grid-template-columns:.8fr 1fr;gap:19px}.styles-v2 .lib-style-item:not(:first-child) .style-image{height:205px}.styles-v2 .lib-style-item:not(:first-child) h3{font-size:21px}.styles-v2 .lib-style-item:not(:first-child) .style-content>p{font-size:18px}.styles-v2 .lib-style-item:not(:first-child) .style-action{font-size:16px;gap:8px}.styles-v3 .lib-style-item{display:block;padding:14px}.styles-v3 .style-image{height:250px}.styles-v3 .style-content{padding:22px 9px 15px}.styles-v3 .style-content h3{font-size:26px}.styles-v3 .style-content>p{font-size:18px}.styles-v3 .style-action{max-width:none}.styles-v4 .lib-style-item{grid-template-columns:105px 1fr;gap:20px;padding-block:22px}.styles-v4 .style-image{height:175px}.styles-v4 .style-content{display:block}.styles-v4 .style-content h3{font-size:21px;margin-top:7px}.styles-v4 .style-content>p{font-size:18px;margin-top:10px}.style-index{font-size:16px}.styles-v4 .style-action{font-size:16px;gap:10px;padding-top:14px}.styles-v5 .style-image{height:380px}.styles-v5 .style-content{left:14px;right:14px;bottom:14px;padding:19px}.styles-v5 .style-content h3{font-size:23px}.reasons-layout,.reasons-v3 .reasons-layout,.reasons-v5 .reasons-layout{display:flex;flex-direction:column;gap:27px}.reasons-intro>p{font-size:18px}.reasons-image,.reasons-v4 .reasons-image{height:300px;min-height:300px}.reasons-image img{position:static}.lib-reasons-list{gap:24px;margin-bottom:25px}.lib-reasons-list h3{font-size:18px}.lib-reasons-list p{font-size:18px}.reasons-v2 .reasons-intro{display:block;margin-bottom:22px}.reasons-v2 .reasons-intro>p{max-width:none}.reasons-v2 .lib-reasons-list{grid-template-columns:1fr;gap:0}.reasons-v2 .lib-reasons-list li{padding-block:22px}.reasons-v2 .reason-check{width:34px;height:34px}.reasons-v3 .reasons-intro{padding:28px}.reasons-v3 .reasons-intro h2{font-size:30px}.reasons-v3 .reasons-image{height:225px;min-height:225px}.reasons-v3 .reasons-details{align-self:stretch}.reasons-v3 .lib-reasons-list{gap:23px}.reasons-v4 .lib-reasons-list li{padding:20px}.reasons-v5 .lib-reasons-list li{padding-bottom:23px}.process-intro>p{font-size:18px}.lib-process-steps{grid-template-columns:1fr 1fr;gap:30px 23px;margin-top:32px}.lib-process-steps li{padding-top:20px}.lib-step-number{font-size:26px;margin-bottom:18px}.lib-process-steps h3{font-size:18px}.lib-process-steps p{font-size:18px;margin-top:10px}.process-v2 .process-layout,.process-v3 .process-layout,.process-v4 .process-layout{display:flex;flex-direction:column;gap:30px;align-items:stretch}.process-v2 .lib-process-steps{width:100%}.process-v2 .lib-process-steps li{gap:15px}.process-v2 .lib-step-number{font-size:22px;min-width:32px}.process-v3 .lib-process-steps{gap:15px}.process-v3 .lib-process-steps li{padding:22px 18px}.process-v3 .lib-step-number{margin-bottom:23px}.process-v4 .process-intro>.text-link{margin:22px 0 0}.process-v4 .process-image{height:290px}.process-v4 .lib-process-steps{gap:0}.process-v4 .lib-process-steps li{padding:20px 0 25px;gap:19px}.process-v5 .process-layout{padding:26px 22px;border-radius:16px}.process-v5 .process-intro{display:block}.process-v5 .process-intro>p{max-width:none}.process-v5 .lib-heading h2{font-size:29px}.process-v5 .lib-process-steps{margin-top:28px}.process-v5 .lib-process-steps li{grid-template-columns:31px 1fr;gap:15px}.process-v5 .lib-process-steps li>div{display:block}.process-v5 .lib-process-steps p{margin-top:10px}.reviews-layout,.reviews-v3 .reviews-layout,.reviews-v5 .reviews-layout{display:flex;flex-direction:column;gap:27px;align-items:stretch}.review-notice{font-size:16px}.lib-review-card{padding:15px 0 10px 25px}.review-slot-title{font-size:23px}.review-slot-copy{font-size:16px}.review-author-placeholder strong{font-size:16px}.review-author-placeholder small{font-size:16px}.reviews-v2 .reviews-intro{display:block;margin-bottom:25px}.reviews-v2 .review-notice{max-width:none}.reviews-v2 .lib-review-items{grid-template-columns:1fr;gap:18px}.reviews-v2 .lib-review-card{padding:25px}.reviews-v2 .review-slot-title{font-size:23px;max-width:none}.reviews-v3 .review-photo{height:300px;min-height:300px}.reviews-v3 .review-photo img{position:static}.reviews-v3 .lib-review-card{padding-top:0}.reviews-v4 .reviews-layout{display:block}.reviews-v4 .review-slot-title{font-size:28px;max-width:23ch}.reviews-v4 .lib-review-card{padding-top:35px}.reviews-v5 .lib-review-card{padding:23px 20px;gap:5px 10px;grid-template-columns:27px 1fr}.reviews-v5 .review-slot-title{font-size:20px}.reviews-v5 .review-author-placeholder{gap:8px}.reviews-v5 .review-author-placeholder>span{height:30px;width:30px}.reviews-v5 .review-author-placeholder strong{font-size:16px}.reviews-v5 .review-author-placeholder small{font-size:16px}.faq-layout,.faq-v4 .faq-layout{display:block}.faq-intro{margin-bottom:28px}.faq-intro>p{font-size:18px;margin-bottom:20px}.lib-faq-item summary{font-size:18px;padding:20px 0}.lib-faq-item>p{font-size:18px;padding-right:15px}.faq-v2 .faq-intro{margin-bottom:30px}.faq-v3 .lib-faq-items{grid-template-columns:1fr;gap:13px}.faq-v3 .lib-faq-item{padding:0 19px}.faq-v3 .lib-faq-item summary{padding-block:21px}.faq-v4 .faq-photo{height:240px;margin-top:25px}.faq-v4 .lib-faq-item summary{padding:21px 0}.faq-v5 .lib-faq-items{grid-template-columns:1fr;gap:20px}.faq-group{padding:24px 20px}.faq-group>h3{font-size:20px;margin-bottom:18px}.enquiry-layout,.enquiry-v3 .enquiry-layout,.enquiry-v5 .enquiry-layout{display:flex;flex-direction:column;gap:29px;align-items:stretch}.lib-enquiry-intro>p{font-size:18px;max-width:46ch}.lib-enquiry-intro .lib-contact-note{font-size:16px;margin-top:20px}.lib-enquiry-form{padding:24px 20px}.lib-enquiry-form label{font-size:16px}.lib-enquiry-form input,.lib-enquiry-form textarea{font-size:16px}.lib-enquiry-form .form-row{gap:13px}.lib-enquiry-form .button{font-size:16px}.lib-enquiry-form .demo-notice{font-size:16px}.enquiry-v2 .enquiry-layout{padding:25px 20px;gap:25px}.enquiry-v2 .lib-heading h2{font-size:30px}.enquiry-v2 .lib-enquiry-intro{padding:0}.enquiry-v3 .enquiry-image{height:240px}.enquiry-v3 .enquiry-form-wrap{align-self:stretch}.enquiry-v4 .enquiry-next{text-align:left}.enquiry-v4 .enquiry-form-wrap{margin-top:26px}.enquiry-v4 .lib-enquiry-form{padding:25px 20px}.enquiry-v5 .lib-enquiry-form{padding:24px 20px}.lib-form-status{font-size:16px}.lib-footer{padding-block:38px}.modern-library[data-library-view=home] .lib-footer{padding-bottom:110px}.footer-layout,.footer-v5 .footer-layout{display:flex;flex-direction:column;gap:30px}.footer-layout nav{gap:55px;justify-content:flex-start}.footer-identity>p{font-size:18px}.footer-layout nav a{font-size:16px}.footer-base{display:block;margin-top:28px;padding-top:20px;font-size:16px}.footer-base>p:last-child{margin-top:12px;max-width:none}.footer-contact>p{font-size:18px}.footer-v2 .footer-layout{gap:28px}.footer-invitation{display:block;padding:25px;margin-bottom:32px}.footer-invitation h2{font-size:27px;margin-bottom:22px}.footer-invitation .button{font-size:16px}.footer-v4 .footer-layout nav{display:grid;gap:13px;justify-content:center}.footer-v4 .footer-layout nav>div{gap:18px;justify-content:center}.footer-v5 .footer-contact{padding:22px 0 0;border-left:0;border-top:1px solid #b5c8be}.footer-v5 .footer-layout nav{gap:45px}.composer-dialog{padding:23px 20px;width:calc(100% - 24px);max-height:92vh;border-radius:15px}.composer-heading h2{font-size:25px}.composer-heading .icon-button{flex-shrink:0}.composer-description{font-size:18px}.composer-fields{grid-template-columns:1fr;gap:20px;margin-top:24px}.composer-fields select{font-size:16px;min-height:46px;padding:10px}.composer-fields label>a{font-size:16px}.composer-actions{bottom:-23px;display:grid;grid-template-columns:1fr;gap:15px;padding-top:20px;padding-bottom:12px}.composer-actions .button{font-size:16px}.reset-composition{font-size:16px}.lib-lightbox p{font-size:18px}.lib-lightbox button{right:12px;top:12px}
}
@media(min-width:550px) and (max-width:800px){.library-card-grid{grid-template-columns:1fr 1fr}.family-card-heading{display:block}.family-card-heading>span{margin-top:8px}.family-card-bottom{display:block}.family-card-bottom>a{margin-top:8px}.lib-style-items{grid-template-columns:1fr 1fr}.lib-style-item:last-child{grid-column:1/-1}.styles-v4 .lib-style-item:last-child{grid-column:auto}.composer-fields{grid-template-columns:1fr 1fr}.composer-fields select{font-size:16px}}
@media(max-width:370px){.library-toolbar{padding-inline:12px}.library-toolbar nav a,.library-toolbar nav button{font-size:16px;padding-inline:7px}.library-logo{font-size:11px}.library-logo span{font-size:8px}.copy-composition{font-size:16px}.library-overview-heading h1{font-size:38px}.comparison-intro h1{font-size:31px}.example-caption{flex-direction:column;gap:13px}.example-caption .button{margin-left:39px}.lib-header-action{display:none}.lib-header .brand{font-size:24px}.lib-menu-button{margin-left:auto}.lib-heading h2{font-size:29px}.lib-trust h2{font-size:18px}.lib-trust p{font-size:18px}.trust-v2 .lib-trust-items{gap:7px}.trust-v2 .lib-trust-item{padding-inline:5px}.lib-package-items{gap:23px 12px}.lib-package-item{gap:8px}.lib-package-item>svg{width:18px;height:18px}.lib-package-item h3{font-size:18px}.lib-package-item p{font-size:18px}.styles-v4 .lib-style-item{grid-template-columns:90px 1fr;gap:17px}.styles-v4 .style-content h3{font-size:19px}.styles-v4 .style-image{height:185px}.process-v3 .lib-process-steps{grid-template-columns:1fr}.process-v3 .lib-process-steps li{display:flex;gap:20px}.process-v3 .lib-step-number{font-size:22px;margin:0}.footer-layout nav{gap:35px}.footer-v4 .footer-layout nav>div{gap:14px}.footer-v4 .footer-layout nav a{font-size:16px}.lib-enquiry-form .form-row{grid-template-columns:1fr}.enquiry-v2 .lib-heading h2{font-size:27px}.review-author-placeholder strong{font-size:16px}.review-author-placeholder small{font-size:16px}}
@media(prefers-reduced-motion:reduce){.carousel-image img{transition:none}}html:has(body.modern-library){scroll-behavior:auto}/* Sticky library navigation already supplies most of the anchor offset. */
.component-example{scroll-margin-top:16px}.lib-component{scroll-margin-top:20px}
@media(max-width:800px){.component-example,.lib-component{scroll-margin-top:35px}}.lib-menu-button[aria-expanded=true] svg{transform:rotate(45deg)}.composer-fields select:focus-visible{outline:3px solid #b77b22;outline-offset:3px}/* Ready-made bathroom homepage flows. */
.hf-library{padding-top:64px;padding-bottom:80px}.hf-intro{max-width:760px;margin-bottom:48px}.hf-intro h1{font:600 clamp(34px,4.5vw,60px)/1.1 Manrope,sans-serif;letter-spacing:-.045em;margin:16px 0 24px}.hf-intro p{max-width:620px;line-height:1.7}.hf-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.hf-card{min-width:0;border:1px solid #d4dfda;border-radius:16px;overflow:hidden;background:white}.hf-card>img{width:100%;height:250px;object-fit:cover;border-radius:16px}.hf-card-body{padding:28px}.hf-card h2{font:600 27px/1.25 Manrope,sans-serif;margin:14px 0}.hf-card p{color:#526967;line-height:1.7}.hf-recommended{display:inline-block;color:#1f5c59;font-size:16px;font-weight:700}.hf-card details{margin:20px 0}.hf-card summary{cursor:pointer;font-weight:600;padding:8px 0}.hf-card ol{padding-left:24px;line-height:1.9;font-size:16px}.hf-card-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px}.hf-card-actions .button{margin:0}.hf-note{max-width:800px;margin:36px 0 0;line-height:1.7;color:#526967}.hf-section{padding-top:80px;padding-bottom:80px}.hf-section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}.hf-section figure{margin:0;min-width:0}.hf-section img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px}.hf-section h2{font:600 clamp(28px,3vw,44px)/1.15 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 24px}.hf-section p{line-height:1.7;color:#526967}.hf-section .hf-lead{font-size:18px}.hf-section-items{margin:28px 0}.hf-section-items article{padding:16px 0;border-top:1px solid #d4dfda}.hf-section h3{font:600 17px/1.4 Manrope,sans-serif;margin:0 0 6px}.hf-section-items p{margin:0;font-size:18px}.hf-section-2 .hf-section-grid{background:#edf4f3;padding:40px;border-radius:16px;gap:40px}.hf-section-3 .hf-section-grid{grid-template-columns:1fr}.hf-section-3 img{aspect-ratio:16/7}.hf-section-3 .hf-section-copy{max-width:1000px}.hf-section-3 .hf-section-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.hf-section-4 figure{order:2}.hf-section-4 .hf-section-copy{padding:24px 0}.hf-section-5 .hf-section-grid{background:#153f43;color:white;padding:40px;border-radius:16px}.hf-section-5 p{color:#e3efec}.hf-section-5 .text-link{color:white}.hf-section-5 .button{background:white;color:#153f43}
@media(max-width:750px){.hf-cards{grid-template-columns:1fr;gap:24px}.hf-library{padding-top:36px}.hf-card-body{padding:22px}.hf-card>img{height:220px}.hf-section{padding-top:48px;padding-bottom:48px}.hf-section-grid{grid-template-columns:1fr;gap:28px}.hf-section img{aspect-ratio:4/3}.hf-section-2 .hf-section-grid,.hf-section-5 .hf-section-grid{padding:22px;gap:28px}.hf-section-3 img{aspect-ratio:4/3}.hf-section-3 .hf-section-items{grid-template-columns:1fr;gap:0}.hf-section-4 figure{order:0}.hf-card-actions .button{white-space:normal;text-align:center}.hf-section-copy{min-width:0;overflow-wrap:break-word}}.hf-preview-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 4%;background:#edf4f3;color:#153f43;border-bottom:1px solid #cbd9d6}.hf-preview-tools span{font-size:16px}.hf-preview-tools a{font-size:16px;color:inherit}.hf-preview-tools .button{margin:0 0 0 auto;color:white}
@media(max-width:600px){.hf-preview-tools{gap:12px}.hf-preview-tools .button{margin-left:0}}
/* Keep all five exported header variants readable on narrow screens. */
@media(max-width:800px){.lib-header .lib-site-nav{
    left:0;right:0;top:100%;width:100%;max-height:calc(100dvh - 85px);
    overflow-y:auto;padding:8px 16px 12px;box-shadow:0 12px 25px #1233;
  }.lib-header .lib-site-nav.is-open{display:grid!important;gap:0}.lib-header .lib-site-nav a{display:flex;align-items:center;min-height:44px;padding:9px 0;line-height:1.3}.lib-header .lib-site-nav a+a{border-top:1px solid var(--line)}.header-v5 .lib-site-nav{padding-top:8px}
}

/* Allow larger copy to wrap within narrow phone cards. */
@media(max-width:600px){.lib-package-items,.package-v2 .lib-package-items{grid-template-columns:minmax(0,1fr)}.lib-package-item,.lib-package-item>div{min-width:0}.lib-package-item p{overflow-wrap:break-word}}

@media(max-width:600px){.lib-trust-items{grid-template-columns:minmax(0,1fr);gap:20px}.lib-trust-item{min-width:0;border-right:0}.lib-trust-item>div{min-width:0}.lib-photo figcaption{max-width:calc(100% - 32px);white-space:normal;flex-wrap:wrap;overflow-wrap:break-word}}
