:root{--pine:#173d32;--dark:#102a23;--gold:#ad8c56;--paper:#f8f7f3;--ink:#25392f;--line:#d9ddd6;--muted:#667167}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}button:disabled{opacity:.45;cursor:not-allowed}.notice{background:var(--pine);color:white;padding:9px 5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px}.notice span{letter-spacing:0}header{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{font-size:18px;letter-spacing:2px;display:flex;align-items:center;gap:12px;line-height:1.2}.brand small{display:block;font-size:12px;letter-spacing:3px;margin-top:5px}.mark{font-size:35px;line-height:1}.link{border:0;background:transparent;padding:0;color:inherit;text-decoration:underline;text-underline-offset:4px}nav{display:flex;gap:24px;font-size:14px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:580px}.hero-copy{padding:80px 10% 60px}.eyebrow{color:var(--gold);letter-spacing:2.3px;font-size:12px;font-weight:600;margin:0 0 20px}h1,h2{font:normal clamp(38px,4vw,66px)/1.08 Georgia,serif;letter-spacing:-1px;margin:0 0 28px}h2{font-size:clamp(32px,3.5vw,50px)}h3{font:normal 26px/1.2 Georgia,serif;margin:12px 0 20px}h4{font-size:17px;margin:22px 0 12px}.hero-copy>p:not(.eyebrow){max-width:410px;color:var(--muted)}.hero-foot{margin-top:65px;font-size:12px;letter-spacing:2px}.hero-image{margin:0;position:relative;background:#e3e4dc;min-height:380px}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-image figcaption{position:absolute;bottom:18px;left:20px;background:#fffE;padding:8px 12px;font-size:12px}.button,.outline{display:inline-block;border:1px solid var(--pine);padding:14px 20px;text-align:center;font-size:14px;background:var(--pine);color:white}.outline{background:transparent;color:var(--pine)}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.section{padding:75px 5%}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:32px}.section-head h2{margin-bottom:0}.section-head>p{color:var(--muted);max-width:420px}.filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end}label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink)}input,select,textarea{border:1px solid var(--line);background:#fff;color:var(--ink);padding:13px;min-width:0;width:100%;border-radius:0;font-size:16px}textarea{resize:vertical;min-height:95px}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{appearance:none;margin:0}.filters label{flex:1;min-width:140px}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:25px 0}.product-card{background:transparent;border:0;padding:0;text-align:left;color:inherit}.product-card img{width:100%;height:245px;object-fit:cover;background:#eceee8;display:block}.product-card strong{display:block;font-size:16px;line-height:1.35;margin-top:12px}.product-card small{font-size:12px;color:var(--muted);display:block;overflow-wrap:anywhere}.price{display:block;margin-top:6px;font-size:15px;font-weight:600}.muted{font-size:14px;color:var(--muted)}.designer{background:#eeefe8}.design-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:55px;align-items:start}.step{display:flex;gap:18px;align-items:center;margin:28px 0 12px}.step h3{margin:0}.step>span{color:var(--gold);font:24px Georgia,serif}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.wide{grid-column:1/-1}.check{flex-direction:row;align-items:flex-start;gap:10px;font-size:15px}.check input{width:19px;height:19px;flex:none;accent-color:var(--pine);margin:2px 0}.layer-check{margin:25px 0 15px;font-weight:600}.presets{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.presets .outline{padding:10px 12px}.presets .active{background:var(--pine);color:white}.fabric-choice{width:100%;border:1px solid var(--pine);padding:14px;text-align:left;background:white;color:var(--pine)}.fabric-preview{display:grid;grid-template-columns:100px 1fr;gap:15px;margin:15px 0;align-items:center}.fabric-preview img{width:100px;height:110px;object-fit:cover}.fabric-preview p{margin:0;font-size:14px}.fabric-preview small{font-size:12px;overflow-wrap:anywhere;color:var(--muted)}.finish-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.finish-card{background:var(--paper);color:inherit;border:1px solid var(--line);padding:15px;text-align:left}.finish-card.selected{border:2px solid var(--pine);padding:14px}.finish-card img{width:100%;height:95px;object-fit:contain;background:#fff}.finish-card strong,.finish-card small{display:block}.finish-card small{font-size:12px;color:var(--muted)}.photo-pending{font-size:12px;color:var(--muted);height:50px;display:flex;align-items:center}.quote{background:var(--paper);padding:28px;border:1px solid var(--line);position:sticky;top:20px}.quote h3{margin-top:0}.quote>.button,.quote>.outline{width:100%;margin-bottom:10px}.quote-line{padding:14px 0;border-bottom:1px solid var(--line)}.line-head{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:15px}.line-head strong{white-space:nowrap}.line-meta{font-size:12px;color:var(--muted);margin:5px 0}.line-controls{display:flex;gap:12px;align-items:center;font-size:12px}.line-controls input{width:86px;padding:5px;font-size:14px}.line-controls button{border:0;background:none;padding:0;color:var(--pine);text-decoration:underline;font-size:13px}.total{display:flex;justify-content:space-between;gap:15px;padding:20px 0;font-size:17px;border-top:1px solid var(--line);margin-top:14px}.total strong{white-space:nowrap}.window-card{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.window-card .actions{margin-top:8px}.window-card button{font-size:12px}.care{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{padding:0 0 18px;background:var(--paper);border:1px solid var(--line);text-align:left;color:inherit}.service-card.active{border:2px solid var(--pine)}.service-card img{width:100%;height:170px;object-fit:cover}.service-card h3{font-size:23px;margin:16px}.service-card p{margin:8px 16px;font-size:14px}.care-builder{display:grid;grid-template-columns:1.35fr 1fr;gap:55px;margin-top:40px}.studio{background:var(--pine);color:#fff;padding:70px 6%;text-align:center}.studio h2{margin-bottom:20px}.studio p:last-child{color:#d2ded5}footer{padding:40px 5%;display:flex;gap:22px;justify-content:space-between;align-items:center;font-size:14px}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:36px;max-width:760px;width:calc(100% - 30px);max-height:90vh;overflow:auto}dialog::backdrop{background:#0c241eb3}.close{position:sticky;top:0;float:right;border:0;background:var(--paper);font-size:30px;color:var(--ink);padding:0 8px;z-index:2}dialog h2{font-size:35px;margin-right:35px}#product-detail-body img{width:100%;height:340px;object-fit:contain;background:#fff}#finish-detail-body img{width:100%;height:260px;object-fit:contain;background:#fff}.payment-note{padding:15px;background:#eee6d7;font-size:14px}.status{padding:15px 5%;font-size:14px}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px}.admin-tabs button{padding:10px;font-size:13px}.admin-products{max-height:360px;overflow:auto;border:1px solid var(--line)}.admin-product{padding:10px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:14px}.admin-product button{font-size:13px}.admin-hint{background:#e9ece4;padding:14px;font-size:14px}.catalogue-books{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.catalogue-books a{border:1px solid var(--line);padding:12px;font-size:14px}.photo-note{font-size:12px;color:var(--muted);margin-top:6px}.badge{display:inline-block;background:#e8eadf;padding:4px 10px;font-size:12px}.error{color:#9d3030}.success{color:#176c3c}.print-heading{display:none}
@media(max-width:1050px){nav{gap:12px}.products{grid-template-columns:repeat(3,1fr)}.service-grid{grid-template-columns:repeat(3,1fr)}.design-grid,.care-builder{gap:25px}.hero-copy{padding:55px 8%}header{flex-wrap:wrap}nav{order:3;width:100%;justify-content:center}}
@media(max-width:700px){body{font-size:16px}.notice span{display:none}.notice{font-size:12px}.brand{font-size:15px}header{padding:18px 5%}nav{flex-wrap:wrap;justify-content:flex-start;font-size:13px;gap:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6%}.hero-foot{margin-top:30px}.hero-image{min-height:350px}.section{padding:45px 6%}.section-head{display:block}.section-head>p{margin-top:20px}.products{grid-template-columns:1fr 1fr;gap:18px 12px}.product-card img{height:180px}.design-grid,.care-builder{grid-template-columns:1fr}.quote{position:static;padding:22px}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card img{height:145px}.service-card h3{font-size:21px}.fields{gap:12px}.filters label{min-width:120px}.catalogue-books{grid-template-columns:1fr 1fr}.studio{padding:50px 6%}footer{flex-wrap:wrap}dialog{padding:24px}.presets .outline{font-size:12px}.total{font-size:16px}.finish-card img{height:90px}}
@media print{body{background:#fff;font-size:12px}header,.notice,.hero,#catalogue,#care,.studio,footer,.selection,.quote button,.quote .check,.quote>p,.quote .actions,#app-status,dialog,.line-controls,.presets,.section-head{display:none!important}#design{padding:0;background:white}.design-grid{display:block}.quote{border:0;padding:10px;position:static}.quote .eyebrow,.quote #quote-room,.quote #quote-dimensions,.quote #quote-lines,.quote #quote-total,.quote #quote-notice,.quote>.total:first-of-type{display:none}.window-card{break-inside:avoid}.hide-print-sizes .window-measures{display:none}.print-heading{display:block}.quote:before{content:'CURTAIN LIVING · PURE LUXURY — QUOTATION';font-size:18px;display:block;margin-bottom:20px}}

.care-inclusions{margin:18px 0;padding:20px;border-left:3px solid var(--gold);background:#eef0e9}.care-inclusions p{font-size:14px;margin:6px 0 16px}.care-inclusions div:last-child p{margin-bottom:0}.service-price{font-weight:600;color:var(--pine)}.service-included{font-size:14px}.service-card small{font-size:12px;color:var(--muted)}

.fabric-specs{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:8px 16px;font-size:14px}.fabric-specs dt{text-transform:capitalize;font-weight:600}.fabric-specs dd{margin:0;overflow-wrap:anywhere}

.booking-card details{margin:16px 0}.booking-card label{display:block;margin:12px 0}.booking-card textarea{min-height:80px;width:100%}.booking-card .actions{flex-wrap:wrap}.booking-card .outline{text-decoration:none;display:inline-block}.payment-qr{max-width:280px;width:100%;object-fit:contain}.booking-action-status{color:var(--pine)}#saved-quotation-print{display:none}@media print{body.print-saved> *{display:none!important}body.print-saved>#saved-quotation-print{display:block!important;padding:24px}.print-saved .line-head{display:flex;justify-content:space-between}.print-saved .line-meta{font-size:12px}}

.showroom{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}.showroom address{font-style:normal;line-height:1.7;margin:18px 0}.showroom iframe{width:100%;height:340px;border:0;border-radius:12px}.showroom .actions{flex-wrap:wrap}.showroom a{display:inline-block;text-decoration:none}.print-shop{display:none}@media(max-width:760px){.showroom{grid-template-columns:1fr;gap:24px}.showroom iframe{height:300px}}@media print{.showroom{display:none!important}.print-shop{display:block;margin:0 0 20px;line-height:1.5}}

/* Keep the entire ripple curtain and sheer installation in view. */
.hero{align-items:center;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.hero-image{aspect-ratio:auto;min-height:0;width:100%;max-width:none;margin:0;background:transparent}.hero-image img{display:block;position:static;width:100%;height:auto;object-fit:contain}.hero-image figcaption{max-width:calc(100% - 40px);overflow-wrap:anywhere}
@media(max-width:700px){.hero{grid-template-columns:minmax(0,1fr)}.hero-image{max-width:none;margin:0}}

.booking-payments{margin-top:24px;border-top:1px solid var(--line);padding-top:14px}.payment-submission,.receipt-card,.bank-details{margin:18px 0;padding:18px;border:1px solid var(--line);background:#fff}.bank-details dl{display:grid;grid-template-columns:140px 1fr;gap:8px}.bank-details dt{color:var(--muted)}.bank-details dd{margin:0;overflow-wrap:anywhere}.receipt-number{overflow-wrap:anywhere;font-size:12px}.payment-submission .check{margin:18px 0}.payment-proof-form summary{cursor:pointer;font-weight:600}.payment-proof-form form{padding-top:14px}@media(max-width:700px){.bank-details dl{grid-template-columns:1fr;gap:4px}.bank-details dd{margin-bottom:8px}}

.delivery-plan{white-space:pre-wrap;overflow-wrap:anywhere}@media print{.print-saved .quote-line{break-inside:avoid;border-bottom:1px solid #ddd;padding:10px 0}.print-saved h3{break-after:avoid}.print-saved .receipt-number{overflow-wrap:anywhere}}

.eyebrow{color:#806532}.studio .eyebrow{color:#d9bd8c}.filters label:has(#cat-selection){min-width:200px}.line-controls button{min-height:44px;padding:6px}.booking-search{display:flex;align-items:end;gap:12px;margin:20px 0}.booking-search label{flex:1}.booking-search button{min-height:48px}.order-history{font-size:13px}.lifecycle-form{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--pine);outline-offset:2px}@media(max-width:600px){.filters label:has(#cat-selection){min-width:0}.booking-search{flex-wrap:wrap}.booking-search label{flex-basis:100%}}

.booking-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.summary-card{background:#fff;border:1px solid var(--line);padding:14px 10px;color:var(--pine);text-align:left;min-height:105px}.summary-card strong{display:block;font:30px Georgia,serif;margin-bottom:7px}.summary-card span{display:block;font-size:13px;line-height:1.4}.summary-card.selected{border:2px solid var(--pine);background:#e9ece4;padding:13px 9px}@media(max-width:600px){.booking-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

#blind-gallery{max-width:1000px}#blind-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}#blind-products img{object-fit:cover;background:#f4f0e9}#blind-products .product-card{display:flex;flex-direction:column;text-align:left}#blind-products .price{font-size:13px}#choose-blind{margin-bottom:18px}@media(max-width:700px){#blind-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#blind-products img{height:150px}}

.stock-swatch{width:90px;height:90px;object-fit:contain;display:block;margin:8px 0}

.offer-strip{overflow:hidden;background:var(--gold);color:#fff;font-size:13px;font-weight:700;letter-spacing:1.4px;white-space:nowrap}.offer-track{display:flex;width:max-content;animation:offer-scroll 22s linear infinite}.offer-track span{padding:10px 9vw}.offer-track span:after{content:' ✦ ';padding-left:9vw}@keyframes offer-scroll{to{transform:translateX(-50%)}}

.policies{background:#eef0e9}.policies h2{max-width:700px}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.policy-grid article{padding:22px;background:#fff;border:1px solid var(--line)}.policy-grid h3{font-size:23px;margin-top:0}.policy-grid p{margin-bottom:0;color:var(--muted)}.price s,.service-price s{color:var(--muted);margin-right:5px}.price strong,.service-price strong{color:var(--pine)}@media(max-width:700px){.policy-grid{grid-template-columns:1fr}}

.fabric-preview img[data-change-fabric]{cursor:pointer}.fabric-preview img[data-change-fabric]:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

#factory-preview img[data-change-blind]{cursor:pointer}#factory-preview img[data-change-blind]:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
/* Keep long catalogue names, quotes and dialogs inside narrow screens. */
.hero-copy,.section-head>div,.section-head>p,.selection,.quote,.care-builder>div,.products>*,.service-grid>*,.fields>*,.finish-cards>*{min-width:0}h1,h2,h3,h4,.product-card strong,.service-card p,.line-head span,.window-card,.booking-card{overflow-wrap:anywhere}.line-controls{flex-wrap:wrap}.line-head{flex-wrap:wrap}.hero-image figcaption{font-size:14px}.offer-strip:hover .offer-track,.offer-strip:focus-within .offer-track{animation-play-state:paused}
@media(max-width:380px){.fields,.finish-cards,.service-grid{grid-template-columns:minmax(0,1fr)}.fabric-preview{grid-template-columns:80px minmax(0,1fr)}.fabric-preview img{width:80px}.quote{padding:18px}dialog{padding:18px}.filters label{min-width:0;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.offer-track{animation:none;width:auto;white-space:normal}.offer-track span{padding:10px 5%}.offer-track span[aria-hidden]{display:none}.offer-track span:after{content:none}}

@media print{@page{size:A4;margin:15mm}.offer-strip,#policies{display:none!important}.print-saved h1{font-size:24pt}.print-saved h2{font-size:18pt}.print-saved h3{font-size:14pt}.print-saved p,.print-saved .line-head,.print-saved .line-meta{overflow-wrap:anywhere;white-space:normal}.print-saved .line-head strong{white-space:normal}.print-saved img{max-width:100%;max-height:160mm;object-fit:contain;break-inside:avoid}.print-saved .quote-line{break-inside:avoid}}
