@font-face{font-family:'Cormorant Fallback';src:local('Georgia');font-style:normal;ascent-override:104.2%;descent-override:32.4%;line-gap-override:0%;size-adjust:88.7%}@font-face{font-family:'Cormorant Fallback';src:local('Georgia');font-style:italic;ascent-override:115.8%;descent-override:36%;line-gap-override:0%;size-adjust:79.8%}@font-face{font-family:'Montserrat Fallback';src:local('Arial');font-weight:100 549;ascent-override:84.6%;descent-override:21.9%;line-gap-override:0%;size-adjust:114.5%}@font-face{font-family:'Montserrat Fallback';src:local('Arial');font-weight:550 900;ascent-override:93.4%;descent-override:24.2%;line-gap-override:0%;size-adjust:103.6%}







:root{--bg:#F7F3EC;--bg-2:#EFE7DA;--bg-3:#E6DAC7;--surface:#FCFAF6;--espresso:#2A2520;--navy:#3A322A;--navy-deep:#2A2520;--ink:#2A2520;--ink-soft:#5B5349;--muted:#655C50;--accent:#BE9550;--accent-deep:#8A6A33;--gold:#BE9550;--gold-deep:#8A6A33;--brass:#BE9550;--line:#E4DACB;--line-strong:#D8CAB3;--cream-text:#F7F3EC;--font-display:'Cormorant Garamond','Cormorant Fallback',Georgia,'Times New Roman',serif;--font-body:'Montserrat','Montserrat Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--fs-eyebrow:0.78rem;--fs-body:1.0625rem;--fs-lead:clamp(1.15rem,0.9rem + 0.9vw,1.4rem);--fs-h4:clamp(1.15rem,1rem + 0.6vw,1.4rem);--fs-h3:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);--fs-h2:clamp(2rem,1.4rem + 2.6vw,3.4rem);--fs-h1:clamp(2.7rem,1.6rem + 4.8vw,5.4rem);--fs-display:clamp(3.4rem,1.6rem + 7vw,7rem);--container:1240px;--container-narrow:820px;--gutter:clamp(1.25rem,5vw,4rem);--section-y:clamp(3.25rem,5.5vw,5.5rem);--r-sm:8px;--r-md:16px;--r-lg:28px;--r-xl:40px;--r-arch:1000px 1000px 0 0;--shadow-sm:0 2px 10px rgba(58,44,28,0.05);--shadow-md:0 14px 40px rgba(58,44,28,0.09);--shadow-lg:0 30px 80px rgba(58,44,28,0.14);--ease:cubic-bezier(0.22,1,0.36,1);--ease-soft:cubic-bezier(0.4,0,0.2,1);--dur:0.5s;--header-h:84px}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h)}body{font-family:var(--font-body);font-size:var(--fs-body);font-weight:400;line-height:1.7;color:var(--ink);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}img,picture,svg,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}ul,ol{list-style:none;padding:0}:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px;border-radius:4px}::selection{background:var(--accent);color:#fff}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.08;letter-spacing:-0.01em;color:var(--ink)}h1{font-size:var(--fs-h1);font-weight:400}h2{font-size:var(--fs-h2);font-weight:400}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4);line-height:1.25}p{max-width:68ch}.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--ink-soft);font-weight:300}.eyebrow{display:inline-flex;align-items:center;gap:0.7em;font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:0.28em;text-transform:uppercase;color:var(--accent-deep)}.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:0.7}.eyebrow--center::before{display:none}.serif-accent{font-family:var(--font-display);font-style:italic}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:var(--container-narrow)}.section{padding-block:var(--section-y)}.section--tint{background:var(--bg-2)}.section--sand{background:var(--bg-3)}.section--dark{background:var(--espresso);color:var(--cream-text)}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--cream-text)}.section-head{max-width:760px;margin-bottom:clamp(1.75rem,3vw,2.75rem)}.section-head--center{margin-inline:auto;text-align:center}.section-head .eyebrow{margin-bottom:1.25rem}.section-head p{margin-top:1.25rem}.section-head--center p{margin-inline:auto}.stack-sm>* + *{margin-top:0.75rem}.stack>* + *{margin-top:1.25rem}.stack-lg>* + *{margin-top:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6em;padding:1.05em 1.9em;font-family:var(--font-body);font-size:0.82rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;border:1px solid transparent;border-radius:100px;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);will-change:transform}.btn svg{width:1.05em;height:1.05em;transition:transform var(--dur) var(--ease)}.btn--primary{background:var(--espresso);color:var(--cream-text)}.btn--primary:hover{background:#1c1813;transform:translateY(-3px);box-shadow:var(--shadow-md)}.btn--primary:hover svg{transform:translateX(4px)}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn--ghost:hover{border-color:var(--espresso);background:var(--espresso);color:var(--cream-text);transform:translateY(-3px)}.btn--light{background:var(--cream-text);color:var(--espresso)}.btn--light:hover{background:#fff;transform:translateY(-3px);box-shadow:var(--shadow-md)}.btn--on-dark.btn--ghost{color:var(--cream-text);border-color:rgba(247,243,236,0.35)}.btn--on-dark.btn--ghost:hover{background:var(--cream-text);color:var(--espresso);border-color:var(--cream-text)}.btn--block{width:100%}.link-arrow{display:inline-flex;align-items:center;gap:0.5em;font-weight:600;font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-deep);position:relative}.link-arrow svg{width:1em;height:1em;transition:transform var(--dur) var(--ease)}.link-arrow::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}.link-arrow:hover::after{transform:scaleX(1)}.link-arrow:hover svg{transform:translateX(4px)}.site-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);display:flex;align-items:center;transition:background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),height var(--dur) var(--ease)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-header.is-scrolled{background:rgba(247,243,236,0.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);height:70px}body.menu-open .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg);box-shadow:none}.brand{display:inline-flex;align-items:center;gap:0.7rem;z-index:2}.brand__mark{width:30px;height:36px;color:var(--accent-deep);flex:none}.brand__name{font-family:var(--font-display);font-size:1.7rem;font-weight:500;letter-spacing:0.32em;text-transform:uppercase;padding-left:0.32em;line-height:1}.site-header:not(.is-scrolled) .brand__name{color:var(--ink)}.nav{display:flex;align-items:center;gap:2.4rem}.nav__list{display:flex;align-items:center;gap:2.1rem}.nav__link{font-size:0.82rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;position:relative;padding-block:0.4rem;transition:color var(--dur) var(--ease)}.nav__link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--accent-deep);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}.nav__link:hover{color:var(--accent-deep)}.nav__link:hover::after,.nav__link[aria-current="page"]::after{transform:scaleX(1)}.nav__link[aria-current="page"]{color:var(--accent-deep)}.nav__cta{padding-block:0.85em;padding-inline:1.5em}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;z-index:110}.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--ink);margin-inline:auto;transition:transform 0.4s var(--ease),opacity 0.3s var(--ease)}.nav-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.hero{position:relative;min-height:min(100svh,920px);display:flex;align-items:flex-end;padding-top:var(--header-h);padding-bottom:clamp(3rem,7vw,6rem);overflow:hidden;isolation:isolate}.hero__media{position:absolute;inset:0;z-index:-2}.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,37,32,0.12) 0%,rgba(42,37,32,0) 35%,rgba(42,37,32,0.30) 100%)}.hero__inner{width:100%}.hero__eyebrow{color:var(--espresso);margin-bottom:1.5rem}.hero h1{max-width:14ch}.hero h1 em{font-style:italic;color:var(--accent-deep)}.hero__lead{max-width:46ch;margin-top:1.75rem}.hero__actions{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem}.hero__meta{margin-top:3rem;display:flex;flex-wrap:wrap;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}.hero__meta-item{display:flex;flex-direction:column;gap:0.15rem}.hero__meta-item strong{font-family:var(--font-display);font-size:2rem;font-weight:500;line-height:1}.hero__meta-item span{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft)}.ph{position:relative;overflow:hidden;background:radial-gradient(120% 120% at 30% 20%,#F3EADC 0%,#E7D9C3 45%,#D8C4A6 100%);isolation:isolate}.ph::before{content:"";position:absolute;left:50%;bottom:-18%;transform:translateX(-50%);width:62%;aspect-ratio:1 / 1.7;border-radius:var(--r-arch);background:linear-gradient(180deg,rgba(255,255,255,0.5),rgba(255,255,255,0));mix-blend-mode:soft-light}.ph::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,0.10) 0 2px,rgba(0,0,0,0) 2px 9px);opacity:0.4;mix-blend-mode:overlay}.ph__label{position:absolute;left:1rem;bottom:1rem;z-index:2;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(42,37,32,0.45);background:rgba(255,255,255,0.55);padding:0.3rem 0.6rem;border-radius:100px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ph--dark{background:radial-gradient(120% 120% at 30% 20%,#4a4038 0%,#322b24 60%,#211c17 100%)}.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.arch{border-radius:var(--r-arch)}.arch-top{border-radius:50% 50% var(--r-md) var(--r-md) / 22% 22% 4% 4%}.zoom{overflow:hidden}.zoom>*{transition:transform 1.2s var(--ease)}.zoom:hover>*{transform:scale(1.05)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.split--reverse>:first-child{order:2}.split__media{position:relative}.split__media .ph{aspect-ratio:4 / 5;border-radius:var(--r-lg)}.split__media--arch .ph{aspect-ratio:3 / 4.4;border-radius:var(--r-arch)}.float-card{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.25rem 1.5rem;box-shadow:var(--shadow-md);max-width:240px}.float-card--br{right:-1.5rem;bottom:2rem}.float-card__num{font-family:var(--font-display);font-size:2.4rem;line-height:1;color:var(--accent-deep)}.float-card__txt{font-size:0.8rem;color:var(--ink-soft);margin-top:0.4rem}.grid{display:grid;gap:clamp(1.25rem,2.5vw,2rem)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.collection-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.collection-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}.collection-card__media{aspect-ratio:4 / 3.4}.collection-card__media .ph{width:100%;height:100%}.collection-card__body{padding:1.6rem 1.6rem 1.8rem;display:flex;flex-direction:column;flex:1}.collection-card__index{font-size:0.72rem;letter-spacing:0.18em;color:var(--accent-deep);margin-bottom:0.6rem}.collection-card h3{font-size:var(--fs-h4);margin-bottom:0.5rem}.collection-card p{font-size:0.95rem;color:var(--ink-soft);flex:1}.collection-card .link-arrow{margin-top:1.25rem}.collection-card__link{position:absolute;inset:0;z-index:1}.feature{padding:clamp(1.75rem,3vw,2.5rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);height:100%;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.feature:hover{border-color:var(--line-strong)}.feature__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--bg-2);color:var(--accent-deep);margin-bottom:1.4rem}.feature__icon svg{width:24px;height:24px}.feature h3{font-size:1.3rem;margin-bottom:0.6rem}.feature p{font-size:0.95rem;color:var(--ink-soft)}.section--dark .feature{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.1)}.section--dark .feature p{color:rgba(247,243,236,0.72)}.section--dark .feature__icon{background:rgba(255,255,255,0.07);color:var(--brass)}.steps{counter-reset:step;display:grid;gap:clamp(1.5rem,3vw,2.5rem)}.steps--4{grid-template-columns:repeat(4,1fr)}.step{position:relative;padding-top:2.5rem}.step::before{counter-increment:step;content:"0" counter(step);font-family:var(--font-display);font-size:3rem;color:var(--accent);opacity:0.6;line-height:1;position:absolute;top:-0.4rem;left:0}.step h3{font-size:1.35rem;margin-bottom:0.5rem;padding-top:1.2rem;border-top:1px solid var(--line-strong)}.step p{font-size:0.95rem;color:var(--ink-soft)}.section--dark .step h3{border-color:rgba(255,255,255,0.18)}.section--dark .step p{color:rgba(247,243,236,0.72)}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(0.75rem,1.5vw,1.25rem);grid-auto-flow:dense}.gallery__item{border-radius:var(--r-md);overflow:hidden}.gallery__item .ph{width:100%;height:100%}.gallery__item--tall{grid-column:span 4;grid-row:span 2}.gallery__item--wide{grid-column:span 8}.gallery__item--sq{grid-column:span 4}.gallery__item--half{grid-column:span 6}.gallery__item .ph{aspect-ratio:auto;min-height:240px}.gallery__item--tall .ph{min-height:500px}.filters{display:flex;flex-wrap:wrap;gap:0.6rem;justify-content:center;margin-bottom:2.5rem}.filter{padding:0.6em 1.3em;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;border:1px solid var(--line-strong);border-radius:100px;background:transparent;cursor:pointer;transition:all var(--dur) var(--ease)}.filter:hover{border-color:var(--espresso)}.filter.is-active{background:var(--espresso);color:var(--cream-text);border-color:var(--espresso)}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,2.5vw,2rem)}.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.75rem,3vw,2.5rem);display:flex;flex-direction:column}.quote__mark{font-family:var(--font-display);font-size:4rem;line-height:0.6;color:var(--accent);height:2rem}.quote p{font-family:var(--font-display);font-size:1.35rem;line-height:1.4;color:var(--ink);flex:1}.quote__author{margin-top:1.5rem;display:flex;align-items:center;gap:0.85rem}.quote__avatar{width:44px;height:44px;border-radius:50%;background:var(--bg-3);flex:none}.quote__name{font-weight:600;font-size:0.92rem}.quote__loc{font-size:0.8rem;color:var(--muted)}.stars{display:inline-flex;gap:2px;color:var(--brass);margin-bottom:1rem}.stars svg{width:16px;height:16px}.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}.stat strong{display:block;font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);line-height:1;color:var(--ink)}.section--dark .stat strong{color:var(--cream-text)}.stat span{font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-top:0.6rem;display:block}.faq{max-width:820px;margin-inline:auto}.faq__item{border-top:1px solid var(--line-strong)}.faq__item:last-child{border-bottom:1px solid var(--line-strong)}.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.6rem 0;background:none;border:none;text-align:left;cursor:pointer;font-family:var(--font-display);font-size:clamp(1.2rem,2.5vw,1.5rem);color:var(--ink)}.faq__icon{flex:none;width:26px;height:26px;position:relative}.faq__icon::before,.faq__icon::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:1.5px;background:var(--accent-deep);transform:translate(-50%,-50%);transition:transform var(--dur) var(--ease)}.faq__icon::after{transform:translate(-50%,-50%) rotate(90deg)}.faq__item.is-open .faq__icon::after{transform:translate(-50%,-50%) rotate(0)}.faq__a{overflow:hidden;max-height:0;transition:max-height var(--dur) var(--ease)}.faq__a-inner{padding-bottom:1.6rem;color:var(--ink-soft)}.faq__a-inner p{max-width:70ch}.cta-band{position:relative;overflow:hidden}.cta-band .container{position:relative;z-index:2;text-align:center}.cta-band h2{max-width:18ch;margin-inline:auto}.cta-band .lead{max-width:52ch;margin:1.5rem auto 0;color:rgba(247,243,236,0.78)}.cta-band__arch~.container>p{margin-inline:auto;text-wrap:balance}.section--dark .btn--ghost{color:var(--cream-text);border-color:rgba(247,243,236,0.35)}.section--dark .btn--ghost:hover{background:var(--cream-text);color:var(--espresso);border-color:var(--cream-text)}.cta-band__actions{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.cta-band__arch{position:absolute;bottom:-40%;left:50%;transform:translateX(-50%);width:min(900px,90%);aspect-ratio:1 / 1;border-radius:var(--r-arch);background:radial-gradient(circle at 50% 0%,rgba(176,141,87,0.22),rgba(176,141,87,0) 60%);z-index:1}.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.75rem,4vw,3rem);box-shadow:var(--shadow-md)}.field{margin-bottom:1.4rem}.field label{display:block;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:0.55rem}.field .req{color:var(--accent-deep)}.field input,.field textarea,.field select{width:100%;padding:0.95em 1.1em;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:1rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent-deep);background:#fff;box-shadow:0 0 0 4px rgba(122,92,62,0.1)}.field textarea{resize:vertical;min-height:120px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.field-hint{font-size:0.82rem;color:var(--muted);margin-top:0.4rem}.chip-group{display:flex;flex-wrap:wrap;gap:0.6rem}.chip{position:relative}.chip input{position:absolute;opacity:0;pointer-events:none}.chip label{display:inline-block;padding:0.6em 1.1em;margin:0;font-size:0.85rem;letter-spacing:0.02em;text-transform:none;font-weight:500;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:100px;cursor:pointer;transition:all var(--dur) var(--ease)}.chip input:checked + label{background:var(--espresso);color:var(--cream-text);border-color:var(--espresso)}.chip input:focus-visible + label{outline:2px solid var(--accent-deep);outline-offset:2px}.form-success{display:none;text-align:center;padding:2rem 1rem}.form-success.is-visible{display:block}.form-success svg{width:56px;height:56px;color:var(--accent-deep);margin:0 auto 1rem}.contact-list{display:grid;gap:1.75rem}.contact-item{display:flex;gap:1.1rem;align-items:flex-start}.contact-item__icon{flex:none;width:46px;height:46px;border-radius:50%;background:var(--bg-2);color:var(--accent-deep);display:grid;place-items:center}.contact-item__icon svg{width:20px;height:20px}.contact-item h4{font-family:var(--font-body);font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:0.3rem}.contact-item a,.contact-item p{font-size:1.05rem;color:var(--ink)}.contact-item a:hover{color:var(--accent-deep)}.page-hero{padding-top:calc(var(--header-h) + clamp(3rem,7vw,6rem));padding-bottom:clamp(2.5rem,5vw,4rem);background:var(--bg-2);position:relative;overflow:hidden}.page-hero .eyebrow{margin-bottom:1.25rem}.page-hero h1{max-width:16ch}.page-hero p{margin-top:1.25rem;max-width:56ch}.breadcrumb{display:flex;gap:0.5rem;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}.breadcrumb a:hover{color:var(--accent-deep)}.breadcrumb span{color:var(--line-strong)}.product-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.product-row + .product-row{margin-top:clamp(4rem,8vw,7rem)}.product-row--reverse .product-row__media{order:2}.product-row__media .ph{aspect-ratio:5 / 4;border-radius:var(--r-lg)}.product-row__media--arch .ph{aspect-ratio:4 / 5;border-radius:var(--r-arch)}.product-row__index{font-family:var(--font-display);font-size:1.1rem;color:var(--accent-deep);margin-bottom:0.75rem}.product-row ul.ticks{margin-top:1.5rem;display:grid;gap:0.7rem}.ticks li{display:flex;gap:0.7rem;align-items:flex-start;font-size:0.97rem;color:var(--ink-soft)}.ticks svg{flex:none;width:20px;height:20px;color:var(--accent-deep);margin-top:2px}.product-row .btn{margin-top:2rem}.site-footer{background:var(--espresso);color:rgba(247,243,236,0.7);padding-top:clamp(3.5rem,7vw,6rem)}.site-footer h4{color:var(--cream-text);font-family:var(--font-body);font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1.4rem;font-weight:600}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:clamp(2rem,4vw,4rem)}.footer-brand .brand__name{color:var(--cream-text)}.footer-brand .brand__mark{color:var(--brass)}.footer-brand p{color:rgba(247,243,236,0.6);margin-top:1.25rem;font-size:0.95rem;max-width:34ch}.footer-links li + li{margin-top:0.85rem}.footer-links a{font-size:0.95rem;transition:color var(--dur) var(--ease)}.footer-links a:hover{color:var(--cream-text)}.footer-contact a{color:rgba(247,243,236,0.7)}.footer-contact a:hover{color:var(--cream-text)}.footer-social{display:flex;gap:0.75rem;margin-top:1.5rem}.footer-social a{width:40px;height:40px;border:1px solid rgba(247,243,236,0.18);border-radius:50%;display:grid;place-items:center;transition:all var(--dur) var(--ease)}.footer-social a:hover{background:var(--brass);border-color:var(--brass);color:var(--espresso)}.footer-social svg{width:18px;height:18px}.footer-bottom{margin-top:clamp(3rem,6vw,5rem);padding-block:1.75rem;border-top:1px solid rgba(247,243,236,0.12);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-size:0.82rem}.footer-bottom a:hover{color:var(--cream-text)}.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.9s var(--ease),transform 0.9s var(--ease);transition-delay:var(--reveal-delay,0s)}.reveal.is-visible{opacity:1;transform:none}.reveal-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease)}.reveal-img.is-visible{clip-path:inset(0 0 0 0)}.load-up{opacity:0;transform:translateY(24px);animation:loadUp 1s var(--ease) forwards}.load-up:nth-child(1){animation-delay:0.1s}.hero__eyebrow.load-up{animation-delay:0.15s}.hero h1.load-up{animation-delay:0.30s}.hero__lead.load-up{animation-delay:0.55s}.hero__actions.load-up{animation-delay:0.75s}.hero__meta.load-up{animation-delay:0.95s}@keyframes loadUp{to{opacity:1;transform:none}}.kenburns{animation:kenburns 22s ease-in-out infinite alternate}@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-1.5%,-1%)}}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee__track{display:flex;gap:4rem;width:max-content;animation:marquee 34s linear infinite}.marquee__track span{font-family:var(--font-display);font-size:1.5rem;color:var(--ink-soft);white-space:nowrap;display:flex;align-items:center;gap:4rem}.marquee__track span::after{content:"✦";color:var(--accent);font-size:0.8em}@keyframes marquee{to{transform:translateX(-50%)}}@media (max-width:1024px){.grid--4{grid-template-columns:repeat(2,1fr)}.steps--4{grid-template-columns:repeat(2,1fr)}.stat-band{grid-template-columns:repeat(2,1fr);gap:2.5rem 1rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}.quote-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}@media (max-width:860px){:root{--header-h:72px}.nav-toggle{display:flex}.nav{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:2.5rem;background:var(--bg);padding:2rem;transform:translateX(100%);transition:transform 0.5s var(--ease);z-index:105}.nav.is-open{transform:translateX(0)}.nav__list{flex-direction:column;gap:0;text-align:center;width:100%}.nav__link{font-size:1.4rem;font-family:var(--font-display);text-transform:none;letter-spacing:0;padding-block:0.9rem}.nav__link::after{display:none}.nav__cta{margin-top:1rem;font-family:var(--font-body);font-size:0.82rem;text-transform:uppercase}.split,.product-row,.product-row--reverse .product-row__media{grid-template-columns:1fr}.split--reverse>:first-child,.product-row--reverse .product-row__media{order:0}.split__media{order:-1}.float-card--br{right:1rem;bottom:1rem}.grid--3{grid-template-columns:1fr}.grid--2{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.gallery__item--tall,.gallery__item--wide,.gallery__item--sq,.gallery__item--half{grid-column:span 1;grid-row:auto}.gallery__item--tall .ph{min-height:320px}.field-row{grid-template-columns:1fr}.hero{align-items:center}}@media (max-width:520px){.grid--4{grid-template-columns:1fr}.steps--4{grid-template-columns:1fr}.stat-band{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}.hero__actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important}.reveal,.load-up{opacity:1 !important;transform:none !important}.reveal-img{clip-path:none !important}}.eyebrow::before{background:var(--gold);opacity:1}.nav__link::after{background:var(--gold)}.nav__link:hover,.nav__link[aria-current="page"]{color:var(--accent-deep)}.nav__link[aria-current="page"]::after{background:var(--gold)}.btn--primary:hover{background:#1c1813}.btn--gold{background:var(--gold);color:#2A2520}.btn--gold:hover{background:#cda863;transform:translateY(-3px);box-shadow:var(--shadow-md)}.link-arrow::after{background:var(--gold)}.brand{display:inline-flex;align-items:center;gap:0.7rem}.brand__emblem{height:50px;width:auto;flex:none;transition:height var(--dur) var(--ease)}.site-header.is-scrolled .brand__emblem{height:42px}.brand__wordmark{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:0.28rem}.brand__name{font-family:var(--font-display);font-weight:500;font-size:1.45rem;line-height:1;letter-spacing:0.30em;color:var(--ink);padding-left:0.30em;transition:color var(--dur) var(--ease)}.brand__tag{font-size:0.5rem;line-height:1;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold-deep);padding-left:0.32em;transition:color var(--dur) var(--ease)}@media (max-width:480px){.brand{gap:0.55rem}.brand__emblem{height:40px}.brand__name{font-size:1.18rem;letter-spacing:0.24em;padding-left:0.24em}.brand__tag{font-size:0.42rem;letter-spacing:0.22em}}body.home .site-header:not(.is-scrolled) .brand__name{color:var(--cream-text)}body.home .site-header:not(.is-scrolled) .brand__tag{color:var(--gold)}body.home .site-header:not(.is-scrolled) .nav__link{color:rgba(247,243,236,0.92)}body.home .site-header:not(.is-scrolled) .nav__link:hover{color:#fff}body.home .site-header:not(.is-scrolled) .nav-toggle span{background:var(--cream-text)}.footer-brand .brand__emblem{height:60px}.footer-brand .brand__name{color:var(--cream-text)}.footer-brand .brand__tag{color:var(--gold)}.stars{display:inline-flex;gap:2px;color:var(--gold)}.stars svg{width:18px;height:18px}.media-fill{width:100%;height:100%;object-fit:cover;display:block}.split__media .ph .media-fill,.product-row__media .ph .media-fill{position:absolute;inset:0}.zoom>img{transition:transform 1.2s var(--ease)}.zoom:hover>img{transform:scale(1.05)}.hero{color:var(--cream-text)}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s var(--ease);will-change:opacity}.hero-slide.is-active{opacity:1;animation:heroKen 9s ease-out forwards}@keyframes heroKen{from{transform:scale(1.12)}to{transform:scale(1)}}.hero__media::after{background:linear-gradient(105deg,rgba(34,29,24,0.82) 0%,rgba(34,29,24,0.55) 45%,rgba(42,37,32,0.25) 100%)}.hero__eyebrow{color:var(--gold) !important}.hero h1{color:var(--cream-text)}.hero h1 em{color:var(--gold);font-style:italic}.hero__lead{color:rgba(247,243,236,0.84)}.hero__meta-item strong{color:var(--cream-text)}.hero__meta-item span{color:rgba(247,243,236,0.7)}.hero .btn--ghost{color:var(--cream-text);border-color:rgba(247,243,236,0.4)}.hero .btn--ghost:hover{background:var(--cream-text);color:#2A2520;border-color:var(--cream-text)}.hero__inner>*{opacity:0;transform:translateY(22px);animation:heroUp 1s var(--ease) forwards}.hero__inner>*:nth-child(1){animation-delay:0.15s}.hero__inner>*:nth-child(2){animation-delay:0.30s}.hero__inner>*:nth-child(3){animation-delay:0.46s}.hero__inner>*:nth-child(4){animation-delay:0.62s}.hero__inner>*:nth-child(5){animation-delay:0.78s}@keyframes heroUp{to{opacity:1;transform:none}}.marquee__track{animation-duration:52s}.marquee__track span{color:var(--ink-soft);opacity:0.85}.marquee__track span::after{color:var(--gold)}.carousel{position:relative}.carousel-viewport{overflow:hidden;border-radius:var(--r-lg);padding:8px 6px 16px}.carousel-track{display:flex;gap:clamp(1rem,2vw,1.75rem);transition:transform .7s var(--ease);will-change:transform;cursor:grab}.carousel-track.dragging{transition:none;cursor:grabbing}.carousel-card{flex:0 0 calc((100% - 2 * clamp(1rem,2vw,1.75rem)) / 3)}.carousel-arrow{position:absolute;top:42%;transform:translateY(-50%);width:3.25rem;height:3.25rem;border-radius:50%;background:var(--surface);color:var(--espresso);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;box-shadow:var(--shadow-md);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.carousel-arrow:hover{background:var(--espresso);color:var(--cream-text)}.carousel-arrow svg{width:1.2rem;height:1.2rem}.carousel-arrow--prev{left:-1.1rem}.carousel-arrow--next{right:-1.1rem}.carousel-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.75rem}.carousel-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--line-strong);cursor:pointer;padding:0;transition:all .35s var(--ease)}.carousel-dot.is-active{background:var(--gold);width:28px;border-radius:9999px}@media (max-width:1024px){.carousel-card{flex-basis:calc((100% - clamp(1rem,2vw,1.75rem)) / 2)}}@media (max-width:768px){.carousel-card{flex-basis:100%}.carousel-arrow{display:none}}.shot{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4 / 3.3;box-shadow:var(--shadow-sm);background:var(--bg-3)}.shot img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}.shot:hover img{transform:scale(1.06)}.shot__cap{position:absolute;left:0;right:0;bottom:0;padding:1.6rem;color:#fff;background:linear-gradient(to top,rgba(34,29,24,0.92),rgba(34,29,24,0));transform:translateY(10px);opacity:0;transition:all .45s var(--ease)}.shot:hover .shot__cap{transform:none;opacity:1}.shot__cap h3{color:var(--gold);font-size:1.25rem;margin-bottom:.25rem}.shot__cap p{font-size:.9rem;color:rgba(255,255,255,0.92)}.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem)}@media (max-width:860px){.ba-grid{grid-template-columns:1fr}}.ba-title{text-align:center;font-family:var(--font-display);font-size:1.5rem;color:var(--ink);margin-bottom:1.25rem}.ba-slider{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--shadow-md);cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;user-select:none;-webkit-user-select:none}.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.ba-slider .ba-before{z-index:2;clip-path:inset(0 50% 0 0)}.ba-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--gold);transform:translateX(-50%);box-shadow:0 0 12px rgba(190,149,80,0.7);z-index:4;pointer-events:none}.ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:var(--gold);color:#2A2520;display:flex;align-items:center;justify-content:center;z-index:5;box-shadow:0 4px 14px rgba(0,0,0,.25)}.ba-slider.touched .ba-handle{animation:none}.ba-handle svg{width:24px;height:24px}@keyframes baPulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.55}50%{transform:translate(-50%,-50%) scale(1.56);opacity:0}}.ba-tag{position:absolute;top:1rem;padding:.45rem 1rem;background:rgba(34,29,24,0.82);color:#fff;border-radius:100px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;z-index:3}.ba-tag--before{left:1rem}.ba-tag--after{right:1rem}.ba-cap{text-align:center;color:var(--ink-soft);margin-top:1.25rem;font-size:.95rem;max-width:46ch;margin-inline:auto}.compare{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--line)}.compare th,.compare td{padding:1.25rem 1rem;text-align:center;border-bottom:1px solid var(--line)}.compare thead th{background:var(--espresso);color:var(--cream-text);font-family:var(--font-body);font-size:.82rem;letter-spacing:.04em;font-weight:600}.compare tbody tr:last-child td{border-bottom:none}.compare tbody tr:hover td{background:rgba(190,149,80,0.08)}.compare .row-name{text-align:left;font-weight:600;color:var(--ink)}.compare .yes{color:var(--gold-deep);font-weight:700}.compare .no{color:var(--line-strong)}@media (max-width:720px){.compare th,.compare td{padding:.8rem .5rem;font-size:.8rem}}.floating-cta{position:fixed;right:1.5rem;bottom:1.5rem;z-index:90}.floating-cta a{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.5rem;background:var(--gold);color:#2A2520;border-radius:100px;font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 30px rgba(190,149,80,.4);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.floating-cta a:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(190,149,80,.5)}.floating-cta svg{width:18px;height:18px}@media (max-width:600px){.floating-cta{right:1rem;bottom:1rem}.floating-cta a{padding:.8rem 1.1rem;font-size:.72rem}.site-footer{padding-bottom:4.5rem}}.wa-btn{position:fixed;right:1.5rem;bottom:5.5rem;z-index:90;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(37,211,102,.4);transition:transform var(--dur) var(--ease)}.wa-btn:hover{transform:scale(1.08)}.wa-btn svg{width:30px;height:30px;color:#fff}@media (max-width:600px){.wa-btn{right:1rem;bottom:4.8rem;width:50px;height:50px}}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--gold),#d8b974);box-shadow:0 0 10px rgba(190,149,80,.5)}body.menu-open .scroll-progress,body.menu-open .floating-cta,body.menu-open .wa-btn{opacity:0;pointer-events:none}.form-success svg{color:var(--gold-deep)}@media (prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide.is-active{opacity:1;animation:none}.hero__inner>*{opacity:1;transform:none;animation:none}.ba-handle{animation:none}.carousel-track{transition:none}}.nav__item--has-dropdown{position:static}.nav__link--toggle{display:inline-flex;align-items:center;gap:0.3rem}.nav__chevron{width:12px;height:12px;flex:none;transition:transform var(--dur) var(--ease)}.nav__item--has-dropdown:hover .nav__chevron,.nav__item--has-dropdown:focus-within .nav__chevron,.nav__item--has-dropdown.is-open .nav__chevron{transform:rotate(180deg)}.nav__mega{position:fixed;left:0;right:0;top:var(--header-h);background:var(--surface);border-top:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:90;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity 0.22s var(--ease),transform 0.22s var(--ease),visibility 0.22s var(--ease);transition-delay:0.18s}.nav__mega::before{content:"";position:absolute;left:0;right:0;top:-22px;height:22px}.nav__item--has-dropdown:hover .nav__mega,.nav__item--has-dropdown:focus-within .nav__mega{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}.site-header .nav__mega-inner{display:block;width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);padding-block:clamp(1.4rem,2.5vw,2.25rem);align-items:initial;justify-content:initial}.nav__mega-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:0.9rem;border-bottom:1px solid var(--line)}.nav__mega-eyebrow{font-family:var(--font-body);font-size:0.72rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent-deep);margin:0}.nav__mega-all{display:inline-flex;align-items:center;gap:0.4rem;font-family:var(--font-body);font-size:0.78rem;font-weight:600;letter-spacing:0.04em;color:var(--ink);text-decoration:none;transition:color var(--dur) var(--ease),gap var(--dur) var(--ease)}.nav__mega-all svg{width:16px;height:16px}.nav__mega-all:hover{color:var(--accent-deep);gap:0.65rem}.nav__mega-grid{--mg-cols:7;--mg-gap:clamp(0.6rem,1.2vw,1.1rem);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--mg-gap)}.nav__mega-grid>.mega-card{width:calc((100% - (var(--mg-cols) - 1) * var(--mg-gap)) / var(--mg-cols))}.mega-card{display:flex;flex-direction:column;gap:0.55rem;text-decoration:none;color:var(--ink);border-radius:var(--r-md);overflow:hidden}.mega-card__media{display:block;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--line)}.mega-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s var(--ease)}.mega-card:hover .mega-card__media img{transform:scale(1.07)}.mega-card__name{font-family:var(--font-body);font-size:0.82rem;font-weight:500;letter-spacing:0.01em;line-height:1.3;padding-inline:0.15rem;transition:color var(--dur) var(--ease)}.mega-card:hover .mega-card__name{color:var(--accent-deep)}@media (max-width:1100px){.nav__mega-grid{--mg-cols:5}}@media (max-width:860px){.nav__chevron{display:inline-block}.nav{justify-content:flex-start;overflow-y:auto;padding-top:calc(var(--header-h) + 1.25rem);padding-bottom:2rem}.nav__mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:transparent;width:100%;max-height:0;overflow:hidden;transition:max-height 0.4s var(--ease)}.nav__mega::before{display:none}.nav__item--has-dropdown.is-open .nav__mega{max-height:2200px}.nav__mega-inner{padding:0.5rem 0 1rem}.nav__mega-head{margin-bottom:0.85rem;padding-bottom:0.6rem;justify-content:center;gap:1.5rem}.nav__mega-grid{--mg-cols:2;--mg-gap:0.7rem}.mega-card__media{aspect-ratio:16 / 10}.mega-card__name{text-align:center;font-size:0.78rem}body.home .site-header:not(.is-scrolled) .nav.is-open .nav__link{color:var(--ink)}body.home .site-header:not(.is-scrolled) .nav.is-open .nav__link:hover{color:var(--accent-deep)}body.home .site-header:not(.is-scrolled) .nav-toggle.is-open span{background:var(--ink)}}.product-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(1.25rem,2.5vw,2rem)}.product-hub-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform 0.35s var(--ease),box-shadow 0.35s var(--ease)}.product-hub-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.product-hub-card__img{aspect-ratio:4 / 2.8;overflow:hidden}.product-hub-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}.product-hub-card:hover .product-hub-card__img img{transform:scale(1.05)}.product-hub-card__body{padding:1.4rem 1.5rem 1.6rem;flex:1;display:flex;flex-direction:column;gap:0.5rem}.product-hub-card__body h3{font-family:var(--font-display);font-size:1.3rem;color:var(--ink);line-height:1.2}.product-hub-card__body p{font-size:0.88rem;color:var(--ink-soft);line-height:1.6;flex:1}.product-hub-card__body .link-arrow{margin-top:0.5rem;font-size:0.8rem}.option-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.25rem,2.5vw,1.75rem);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.option-card:hover{border-color:var(--gold);box-shadow:var(--shadow-sm)}.option-card h3{font-family:var(--font-display);font-size:1.15rem;color:var(--ink);margin-bottom:0.6rem;padding-bottom:0.6rem;border-bottom:1px solid var(--line)}.option-card p{font-size:0.9rem;color:var(--ink-soft);line-height:1.7}.related-card{display:block;text-decoration:none;color:inherit}.related-card:hover img{transform:scale(1.05)}.related-card img{transition:transform 1s var(--ease)}.trust-bar{background:var(--espresso,#2A2520);color:var(--cream-text,#F7F3EC);padding-block:clamp(1.25rem,2.5vw,1.75rem)}.trust-bar__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(0.75rem,2vw,2rem);text-align:center}.trust-bar__item{display:flex;flex-direction:column;gap:0.2rem;position:relative}.trust-bar__item:not(:last-child)::after{content:"";position:absolute;right:calc(clamp(0.75rem,2vw,2rem) / -2);top:50%;transform:translateY(-50%);width:1px;height:60%;background:rgba(247,243,236,0.18)}.trust-bar__item strong{font-family:var(--font-display);font-weight:500;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1;color:var(--gold,#BE9550)}.trust-bar__item span{font-family:var(--font-body);font-size:clamp(0.68rem,1.2vw,0.8rem);letter-spacing:0.04em;color:rgba(247,243,236,0.82)}@media (max-width:600px){.trust-bar__list{grid-template-columns:1fr 1fr;gap:1.25rem 0.75rem}.trust-bar__item:nth-child(2)::after{display:none}}.trust-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.75rem)}.trust-badge{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.5rem,2.5vw,2rem) clamp(1.25rem,2vw,1.5rem);text-align:center}.trust-badge__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1.1rem;border-radius:50%;background:rgba(190,149,80,0.12);color:var(--gold-deep,#9a7838)}.trust-badge__icon svg{width:28px;height:28px}.trust-badge h3{font-family:var(--font-display);font-size:1.12rem;color:var(--ink);margin-bottom:0.5rem;line-height:1.25}.trust-badge p{font-size:0.88rem;color:var(--ink-soft);line-height:1.55}@media (max-width:900px){.trust-badges{grid-template-columns:1fr 1fr}}@media (max-width:520px){.trust-badges{grid-template-columns:1fr}}.quick-quote{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}.quick-quote__copy h2{color:var(--cream-text,#F7F3EC)}.quick-quote__copy .lead{color:rgba(247,243,236,0.86)}.quick-quote__copy .lead strong{color:var(--gold)}.quick-quote__points{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:0.75rem}.quick-quote__points li{position:relative;padding-left:1.9rem;color:rgba(247,243,236,0.92);font-size:0.95rem}.quick-quote__points li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A2520' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat}.quick-quote__call{margin-top:1.75rem;color:rgba(247,243,236,0.8);font-size:0.95rem}.quick-quote__call a{color:var(--gold);font-weight:600;text-decoration:none}.quick-quote__call a:hover{text-decoration:underline}.quick-quote__panel{position:relative}.quick-quote__form{background:var(--surface);border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--shadow-lg)}.qf-field{margin-bottom:1.1rem}.qf-field label{display:block;font-family:var(--font-body);font-size:0.78rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink);margin-bottom:0.4rem}.qf-field input,.qf-field select{width:100%;padding:0.85em 1em;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-sm);font-family:var(--font-body);font-size:1rem;color:var(--ink);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.qf-field input:focus,.qf-field select:focus{outline:none;border-color:var(--accent-deep);background:#fff;box-shadow:0 0 0 4px rgba(190,149,80,0.14)}.quick-quote__form .btn--block{width:100%;margin-top:0.35rem}.qf-note{margin-top:0.9rem;text-align:center;font-size:0.8rem;color:var(--ink-soft)}@media (max-width:820px){.quick-quote{grid-template-columns:1fr;gap:2.25rem}}.nav__phone{display:inline-flex;align-items:center;gap:0.45rem;font-family:var(--font-body);font-size:0.82rem;font-weight:600;letter-spacing:0.02em;color:var(--ink);text-decoration:none;white-space:nowrap;transition:color var(--dur) var(--ease)}.nav__phone svg{width:17px;height:17px;color:var(--gold-deep,#9a7838)}.nav__phone:hover{color:var(--accent-deep)}body.home .site-header:not(.is-scrolled) .nav__phone{color:var(--cream-text,#F7F3EC)}body.home .site-header:not(.is-scrolled) .nav__phone svg{color:var(--gold)}@media (max-width:860px){.nav__phone{font-size:1.1rem;margin-top:0.5rem}.nav__phone svg{width:20px;height:20px}body.home .site-header:not(.is-scrolled) .nav__phone{color:var(--ink)}body.home .site-header:not(.is-scrolled) .nav__phone svg{color:var(--gold-deep,#9a7838)}}.collections-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(0.75rem,1.4vw,1.25rem)}.collections-grid .collection-card__media{aspect-ratio:4 / 2.5}.collections-grid .collection-card__body{padding:0.95rem 1.05rem 1.1rem}.collections-grid .collection-card__index{font-size:0.62rem;letter-spacing:0.16em;margin-bottom:0.4rem}.collections-grid .collection-card h3{font-size:1.1rem;margin-bottom:0.35rem}.collections-grid .collection-card p{font-size:0.82rem;line-height:1.5}.collections-grid .collection-card .link-arrow{margin-top:0.85rem;font-size:0.78rem}@media (max-width:1080px){.collections-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:720px){.collections-grid{grid-template-columns:repeat(2,1fr);gap:0.7rem}.collections-grid .collection-card p{display:none}.collections-grid .collection-card__media{aspect-ratio:4 / 3}}.nav__cta{white-space:nowrap;padding-inline:1.35em;letter-spacing:0.04em}@keyframes ctaPulse{0%{box-shadow:0 0 0 0 rgba(190,149,80,0.55)}70%{box-shadow:0 0 0 12px rgba(190,149,80,0)}100%{box-shadow:0 0 0 0 rgba(190,149,80,0)}}.nav__cta{animation:ctaPulse 2.6s ease-out infinite}.nav__cta:hover{animation-play-state:paused}@media (max-width:860px){.nav__cta{animation:none;white-space:normal}}@media (prefers-reduced-motion:reduce){.nav__cta{animation:none}}.stat strong{position:relative;padding-bottom:0.7rem}.stat strong::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:30px;height:2px;border-radius:2px;background:var(--gold)}.stat span{color:var(--ink-soft) !important;font-weight:600;font-size:0.84rem;letter-spacing:0.08em;margin-top:0.9rem}.ph:has(img)::before,.ph:has(img)::after{content:none !important}.form-success__team{display:block;width:100%;max-width:320px;margin:0 auto 1.25rem;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.form-success h3 + p strong,.form-success p strong{color:var(--accent-deep)}.bf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.booking-form .bf-opt{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;font-size:0.82em}.bf-group{border:none;margin:0 0 1.9rem;padding:0}.bf-section__title{font-family:var(--font-display);font-size:1.3rem;color:var(--ink);margin:0 0 1.1rem;padding-bottom:0.6rem;border-bottom:1px solid var(--line);width:100%}.booking-form .field{margin-bottom:1.25rem}.booking-form .field label{font-size:0.95rem;font-weight:600;color:var(--ink);margin-bottom:0.45rem}.booking-form .field input,.booking-form .field select,.booking-form .field textarea{font-size:1.05rem;padding:0.95em 1.05em;min-height:52px}.booking-form .field textarea{min-height:120px}.booking-form .req{color:var(--accent-deep);font-weight:700}.bf-choice{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bf-option{position:relative;display:flex;gap:0.85rem;cursor:pointer;padding:1.15rem 1.2rem;border:2px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.bf-option input{margin-top:0.2rem;width:22px;height:22px;flex:none;accent-color:var(--gold-deep);cursor:pointer}.bf-option__title{display:block;font-family:var(--font-display);font-size:1.2rem;color:var(--ink);line-height:1.2}.bf-option__desc{display:block;font-size:0.86rem;color:var(--ink-soft);margin-top:0.3rem;line-height:1.5}.bf-option:hover{border-color:var(--gold)}.bf-option:has(input:checked){border-color:var(--gold);background:rgba(190,149,80,0.08);box-shadow:0 0 0 3px rgba(190,149,80,0.14)}.bf-option:has(input:focus-visible){outline:2px solid var(--accent-deep);outline-offset:2px}.btn--lg{font-size:1rem;padding-block:1.05em}@media (max-width:560px){.bf-choice{grid-template-columns:1fr}}#quote:not(.section--dark){background:linear-gradient(180deg,var(--bg-2),var(--bg))}#quote .form-card{background:#fff;border:1px solid var(--line-strong);box-shadow:var(--shadow-lg)}.prodsel--up .prodsel__panel{top:auto;bottom:calc(100% + 6px)}.field__label{display:block;font-size:0.95rem;font-weight:600;color:var(--ink);margin-bottom:0.45rem;text-transform:uppercase;letter-spacing:0.08em}.qf-field .field__label{font-size:0.78rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase}.booking-form .field input,.booking-form .field select,.booking-form .field textarea{border-width:1.5px;border-color:var(--line-strong);background:var(--bg)}.booking-form .bf-section__title{border-bottom-color:var(--line-strong)}.booking-form .bf-section__title::before{content:"";display:inline-block;width:6px;height:18px;margin-right:0.6rem;border-radius:3px;background:var(--gold);vertical-align:-3px}.req{color:#b0492f;font-weight:700}.prodsel{position:relative}.prodsel__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;padding:0.85em 1.05em;cursor:pointer;text-align:left;background:var(--bg);border:1.5px solid var(--line-strong);border-radius:var(--r-sm);font-family:var(--font-body);font-size:1.05rem;color:var(--ink);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.prodsel__btn:hover{border-color:var(--gold)}.prodsel__btn[aria-expanded="true"]{border-color:var(--accent-deep);box-shadow:0 0 0 4px rgba(190,149,80,0.14)}.prodsel__current{color:var(--muted)}.prodsel.is-filled .prodsel__current{color:var(--ink);font-weight:500}.prodsel__chev{width:16px;height:16px;flex:none;color:var(--gold-deep);transition:transform var(--dur) var(--ease)}.prodsel__btn[aria-expanded="true"] .prodsel__chev{transform:rotate(180deg)}.prodsel.is-invalid .prodsel__btn{border-color:#b0492f;box-shadow:0 0 0 4px rgba(176,73,47,0.14)}.prodsel__panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:0.5rem;max-height:360px;overflow-y:auto}.prodsel__group{font-family:var(--font-body);font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-deep);padding:0.75rem 0.6rem 0.35rem}.prodsel__opt{width:100%;display:flex;align-items:center;gap:0.85rem;padding:0.55rem 0.6rem;border:none;background:none;border-radius:var(--r-sm);cursor:pointer;text-align:left;font-family:var(--font-body);font-size:1rem;color:var(--ink);transition:background 0.15s var(--ease)}.prodsel__opt:hover,.prodsel__opt:focus-visible{background:var(--bg-2);outline:none}.prodsel__thumb{width:48px;height:40px;flex:none;border-radius:8px;overflow:hidden;background:var(--bg-3)}.prodsel__thumb img{width:100%;height:100%;object-fit:cover}.prodsel__name{line-height:1.3}.addr{position:relative}.addr__list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;list-style:none;margin:0;padding:0.4rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);max-height:260px;overflow-y:auto}.addr__item{padding:0.7rem 0.8rem;border-radius:var(--r-sm);cursor:pointer;font-size:0.98rem;color:var(--ink);line-height:1.4}.addr__item:hover,.addr__item:focus-visible{background:var(--bg-2);outline:none}.stat-section .stat strong{color:var(--gold)}.stat-section .stat strong::after{background:var(--gold)}.stat-section .stat span{color:rgba(247,243,236,0.9) !important;font-weight:600}.shot--link{display:block;text-decoration:none;color:inherit;cursor:pointer}.shot--link .shot__cap p{display:inline-flex;align-items:center;gap:0.3rem;color:var(--gold)}.spotlight{position:relative;overflow:hidden;padding-block:clamp(4rem,7vw,5.5rem)}.spotlight::before,.spotlight::after{content:"";position:absolute;top:0;bottom:0;width:clamp(30px,8vw,110px);z-index:3;pointer-events:none}.spotlight::before{left:0;background:linear-gradient(90deg,var(--bg-3) 0%,rgba(230,218,199,0) 100%)}.spotlight::after{right:0;background:linear-gradient(270deg,var(--bg-3) 0%,rgba(230,218,199,0) 100%)}.spotlight-track{display:flex;align-items:center;gap:clamp(1.1rem,2.2vw,1.75rem);width:max-content;padding-inline:clamp(1rem,4vw,3rem);cursor:grab;will-change:transform}.spotlight-track.dragging{cursor:grabbing}.spotlight-card{flex:0 0 clamp(190px,20vw,280px);aspect-ratio:4 / 3.15;border-radius:var(--r-lg);overflow:hidden;position:relative;box-shadow:var(--shadow-sm);transform:scale(1);transition:transform 0.5s cubic-bezier(.22,1,.36,1),box-shadow 0.5s ease}.spotlight-card img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none;user-select:none;pointer-events:none}.spotlight-card.is-center{transform:scale(1.32);box-shadow:var(--shadow-lg);z-index:4}.spotlight-card.is-hover{transform:scale(1.55) !important;box-shadow:var(--shadow-lg);z-index:5}@media (max-width:640px){.spotlight-card{flex-basis:160px}.spotlight-card.is-center{transform:scale(1.18)}.spotlight-card.is-hover{transform:scale(1.3) !important}}@media (prefers-reduced-motion:reduce){.spotlight-card,.spotlight-card.is-center,.spotlight-card.is-hover{transition:none}}/*a11y*/.eyebrow{color:#6E5426}.section--dark .eyebrow{color:#D8B879}.prodsel__current{color:#6B6257}.footer-h,footer h3.footer-h{font-family:'Montserrat',sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 1rem}/*lcpfix2*/.hero__inner>*{opacity:0;animation:heroUp2 .6s var(--ease) .25s forwards}@keyframes heroUp2{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero__inner>*{opacity:1;animation:none;transform:none}}/*a11y2*/.site-header .brand__tag{color:#6E5426}.breadcrumb a{color:#6B6257}.breadcrumb span{color:#6B6257}.contact-h{font-family:var(--font-display);font-size:var(--fs-h4);margin:0 0 .2rem;font-weight:500}/*reveal*/html{visibility:visible}/*clsfix*/@media (max-width:820px){.hero{min-height:0}.hero__inner{padding-top:clamp(1.5rem,6vw,3rem);padding-bottom:1rem}}
/* ---- Gesture hardening: no pinch-zoom, no skew/pan, no double-tap zoom ---- */
html{touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y}
body{touch-action:pan-x pan-y;overscroll-behavior-x:none}
html,body{max-width:100%;overflow-x:clip}
.carousel-track,.spotlight-track{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.carousel-viewport,.spotlight{touch-action:pan-y;overscroll-behavior-x:none}
.carousel-track img,.spotlight-track img,.ba-slider img{-webkit-user-drag:none;user-select:none;pointer-events:none}

/* ===== Unified Crown lead form ===== */
.cform{position:relative}
.form-card .cform{background:none;padding:0;box-shadow:none;border-radius:0}
.qf-field{margin-bottom:1.05rem}
.qf-field label,.qf-field .field__label{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}
.qf-field .req{color:var(--gold-deep);font-weight:700}
.qf-field .opt{font-weight:500;text-transform:none;letter-spacing:0;color:#6B6155;font-size:.72rem}
.qf-help{margin:.42rem 0 0;font-size:.75rem;color:#6B6155;line-height:1.5}
.qf-field textarea{width:100%;padding:.85em 1em;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-sm);font-family:var(--font-body);font-size:1rem;color:var(--ink);line-height:1.55;resize:vertical;min-height:98px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}
.qf-field textarea:focus{outline:none;border-color:var(--accent-deep);background:#fff;box-shadow:0 0 0 4px rgba(190,149,80,.14)}
.qf-field input::placeholder,.qf-field textarea::placeholder{color:#A99E8D}
.qf-note{display:flex;align-items:center;justify-content:center;gap:.45rem;line-height:1.4}
.qf-note svg{width:14px;height:14px;flex:none;color:var(--gold-deep)}
.cform__head{margin-bottom:1.6rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}
.cform__head h2{font-size:var(--fs-h3);margin:.55rem 0 0;line-height:1.15}
.cform__head p{margin:.55rem 0 0;color:var(--ink-soft);font-size:.95rem}
.cform__rule{width:52px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-deep));margin-bottom:1.1rem}

/* ===== Contact page ===== */
.trust-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.6rem}
.trust-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border:1px solid var(--line-strong);border-radius:1000px;background:var(--surface);font-size:.76rem;font-weight:600;letter-spacing:.01em;color:var(--ink-soft)}
.trust-chip svg{width:13px;height:13px;flex:none;color:var(--gold-deep)}
.next-card{background:var(--bg-2);border-radius:var(--r-lg);padding:clamp(1.6rem,3vw,2.1rem)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:1.3rem;counter-reset:none}
.steps li{display:grid;grid-template-columns:auto 1fr;gap:.95rem;align-items:start}
.steps__n{width:31px;height:31px;border-radius:50%;background:var(--gold);color:#fff;font-family:var(--font-body);font-weight:700;font-size:.85rem;display:grid;place-items:center}
.steps__t{display:block;font-weight:700;color:var(--ink);margin-bottom:.22rem}
.steps__d{display:block;color:var(--ink-soft);font-size:.9rem;line-height:1.55}


/* ===== Option-card CTA (real, clickable) ===== */
.option-card{position:relative;display:flex;flex-direction:column}
.option-card p{flex:1}
.option-card__cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line);font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);text-decoration:none;transition:gap var(--dur) var(--ease),color var(--dur) var(--ease)}
.option-card__cta svg{width:15px;height:15px;flex:none;transition:transform var(--dur) var(--ease)}
.option-card:hover .option-card__cta{color:var(--ink)}
.option-card:hover .option-card__cta svg{transform:translateX(4px)}
.option-card__cta:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:3px}

/* ===== Mobile spacing corrections ===== */
@media (max-width:600px){
  /* trust chips wrapped one-per-line at ragged widths — align them into a tidy stack */
  .trust-row{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:1.4rem}
  .trust-chip{width:100%;justify-content:flex-start;padding:.6rem .9rem}
  /* hero + section stacked to ~112px of dead space above the fold */
  .page-hero+.section{padding-top:clamp(2rem,7vw,3rem)}
  /* option-card CTA was a 36px tap target — below the 44px minimum */
  .option-card__cta{padding-top:1rem;padding-bottom:.35rem;min-height:44px;align-items:center}
  /* 0.28em tracking pushed short eyebrows onto two lines */
  .eyebrow{letter-spacing:.16em}
  .eyebrow::before{width:18px}
}

/* spotlight cards carrying a .shot figure (captioned style gallery) */
.spotlight-card .shot{height:100%;width:100%;aspect-ratio:auto;border-radius:0;box-shadow:none;border:0;margin:0}
.spotlight-card .shot img{width:100%;height:100%;object-fit:cover;display:block}
.spotlight-card .shot__cap{padding:0.7rem 0.85rem}
.spotlight-card .shot__cap h3{font-size:0.9rem;line-height:1.25}
.spotlight-card .shot__cap p{font-size:0.72rem}

/* ===== Ambient product background (hover a card -> that product's photos drift behind) ===== */
#collections{position:relative;isolation:isolate;overflow:hidden}
#collections > .container{position:relative;z-index:2}
.amb{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.amb__layer{position:absolute;inset:-8%;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.02);
  transition:opacity 1.2s var(--ease-soft), transform 9s linear;
  filter:saturate(0.92) contrast(1)}
.amb__layer.is-on{opacity:var(--amb-op,0.55);transform:scale(1.09)}
/* veil keeps the copy readable over any photo */
.amb::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,var(--bg-2) 0%,rgba(239,231,218,0.80) 14%,rgba(239,231,218,0.46) 34%,rgba(239,231,218,0.46) 74%,var(--bg-2) 100%)}
#collections.amb-active .section-head{transition:opacity var(--dur) var(--ease)}
/* Cards stay fully opaque and legible at all times — never fade the panel the
   copy sits on. De-emphasis is done on the photo only, plus a gold accent and
   lift on the one you're pointing at. */
.collection-card,.product-hub-card{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}
#collections .collection-card,#collections .product-hub-card{background:var(--surface)}
#collections.amb-active .collection-card__media img,
#collections.amb-active .product-hub-card__img img{filter:saturate(0.72) brightness(0.96);transition:filter var(--dur) var(--ease)}
#collections.amb-active .collection-card.is-amb .collection-card__media img,
#collections.amb-active .product-hub-card.is-amb .product-hub-card__img img{filter:none}
#collections.amb-active .collection-card.is-amb,
#collections.amb-active .product-hub-card.is-amb{border-color:var(--gold);box-shadow:var(--shadow-lg)}
@media (prefers-reduced-motion:reduce){
  .amb__layer{transition:opacity .3s linear;transform:none}
  .amb__layer.is-on{transform:none}
  #collections.amb-active .collection-card{opacity:1}
}

/* ===== Product hero: background carousel of that product ===== */
.page-hero--media{position:relative;isolation:isolate;overflow:hidden}
.page-hero--media > .container{position:relative;z-index:2}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg__layer{position:absolute;inset:0;background-size:cover;background-position:50% 30%;
  background-image:var(--bg-d);
  opacity:0;transform:scale(1.05);
  transition:opacity 1.5s var(--ease-soft)}
.hero-bg__layer.is-on{opacity:1;animation:heroDrift 16s linear forwards}
@keyframes heroDrift{from{transform:scale(1.05) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-1.2%,-0.8%,0)}}
/* angled veil — solid behind the copy, opening out to the photo on the right */
.hero-bg::after{content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(239,231,218,0) 62%,var(--bg-2) 100%),
    linear-gradient(100deg,
      var(--bg-2) 0%,
      var(--bg-2) 26%,
      rgba(239,231,218,0.80) 38%,
      rgba(239,231,218,0.32) 52%,
      rgba(239,231,218,0.05) 68%,
      rgba(239,231,218,0) 100%)}
/* a hairline of gold where the veil meets the image — small, but it reads as considered */
.hero-bg::before{content:"";position:absolute;top:0;bottom:0;left:38%;width:1px;z-index:2;
  background:linear-gradient(180deg,rgba(190,149,80,0) 0%,rgba(190,149,80,0.35) 45%,rgba(190,149,80,0) 100%)}
.page-hero--media .lead{max-width:46ch}

@media (max-width:860px){
  /* Mobile: don't hide a light photo behind cream — give it its own band.
     Copy sits on clean background, the product carousel runs full-width beneath it. */
  .page-hero--media{padding-bottom:calc(58vw + 1.5rem)}
  .hero-bg{top:auto;bottom:0;height:58vw;max-height:300px;border-radius:var(--r-md) var(--r-md) 0 0}
  .hero-bg__layer{background-image:var(--bg-m);background-position:50% 45%}
  .hero-bg__layer.is-on{animation-duration:22s}
  /* only soften the top edge so the band melts into the copy above it */
  .hero-bg::after{background:linear-gradient(180deg,var(--bg-2) 0%,rgba(239,231,218,0.42) 7%,rgba(239,231,218,0) 16%)}
  .hero-bg::before{display:none}
  .page-hero--media h1{max-width:none}
}
@media (prefers-reduced-motion:reduce){
  .hero-bg__layer{transition:opacity .3s linear;transform:none}
  .hero-bg__layer.is-on{animation:none;transform:none}
}

/* ===== Product photo carousel (the arched shot on each product page) ===== */
.pcar{cursor:zoom-in}
.pcar img{transition:opacity 1.1s var(--ease-soft)}
.pcar .pcar__b{opacity:0}
.pcar.is-flip img:first-of-type{opacity:0}
.pcar.is-flip .pcar__b{opacity:1}
.pcar__dots{position:absolute;left:0;right:0;bottom:1rem;z-index:3;display:flex;justify-content:center;gap:7px}
.pcar__dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.55);
  box-shadow:0 1px 3px rgba(0,0,0,0.35);transition:width var(--dur) var(--ease),background var(--dur) var(--ease)}
.pcar__dot.is-on{width:20px;border-radius:3px;background:#fff}
/* tap-to-zoom affordance, mobile only */
.pcar__hint{position:absolute;right:0.85rem;bottom:0.85rem;z-index:3;display:none;
  align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:1000px;
  background:rgba(34,29,24,0.62);color:#fff;font-family:var(--font-body);font-size:.68rem;
  font-weight:600;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(6px)}
.pcar__hint svg{width:12px;height:12px}
@media (hover:none){.pcar__hint{display:inline-flex}.pcar__dots{bottom:2.6rem}}

/* ===== Lightbox ===== */
.lb{position:fixed;inset:0;z-index:9999;display:none;background:rgba(22,19,16,0.975);
  align-items:center;justify-content:center;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.lb.is-open{display:flex}
.lb__img{max-width:94vw;max-height:82vh;object-fit:contain;border-radius:var(--r-md);
  box-shadow:0 30px 90px rgba(0,0,0,.5);user-select:none;-webkit-user-drag:none}
.lb__cap{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 1.1rem);
  text-align:center;color:rgba(255,255,255,.86);font-family:var(--font-body);font-size:.86rem;padding:0 1.5rem}
.lb__x,.lb__nav{position:absolute;z-index:2;display:grid;place-items:center;
  width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,0.14);color:#fff;backdrop-filter:blur(8px);transition:background var(--dur) var(--ease)}
.lb__x:hover,.lb__nav:hover{background:rgba(255,255,255,0.26)}
.lb__x{top:calc(env(safe-area-inset-top) + 1rem);right:1rem}
.lb__nav svg,.lb__x svg{width:22px;height:22px}
.lb__prev{left:1rem;top:50%;transform:translateY(-50%)}
.lb__next{right:1rem;top:50%;transform:translateY(-50%)}
.lb__count{position:absolute;top:calc(env(safe-area-inset-top) + 1.5rem);left:1.25rem;
  color:rgba(255,255,255,.72);font-family:var(--font-body);font-size:.8rem;letter-spacing:.06em}
@media (max-width:600px){
  .lb__img{max-width:100vw;max-height:68vh;border-radius:0}
  .lb__prev,.lb__next{width:42px;height:42px;top:auto;bottom:calc(env(safe-area-inset-bottom) + 1.1rem);transform:none}
  .lb__prev{left:1.1rem}.lb__next{right:1.1rem}
  /* keep the caption clear of the arrows */
  .lb__cap{bottom:calc(env(safe-area-inset-bottom) + 4.4rem);padding:0 4.5rem;font-size:.8rem}
}
body.lb-open{overflow:hidden}

/* ===== Before/after row (3 across, stacks on mobile) ===== */
.ba-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,2.5vw,2.25rem);align-items:start}
.ba-item .ba-slider{width:100%}
.ba-item .ba-title{font-size:1.15rem;margin:1.1rem 0 0;text-align:left}
.ba-item .ba-cap{margin:.5rem 0 0;text-align:left;max-width:none;font-size:.9rem;line-height:1.6}
.ba-item .ba-tag{font-size:.62rem;padding:.35rem .7rem}
@media (max-width:980px){.ba-row{grid-template-columns:1fr 1fr}}
@media (max-width:680px){
  .ba-row{grid-template-columns:1fr;gap:2.25rem}
  .ba-item .ba-title{font-size:1.2rem;text-align:center}
  .ba-item .ba-cap{text-align:center}
  /* the handle needs to be a comfortable thumb target on a phone */
  .ba-item .ba-handle{width:46px;height:46px}
}

/* ---- Google reviews ---- */
.rv-head{display:flex;flex-wrap:wrap;gap:1.75rem 2.5rem;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(2.25rem,4vw,3.25rem)}
.rv-stars{display:inline-flex;gap:2px;line-height:0}
.rv-stars svg{width:15px;height:15px;fill:var(--gold);display:block}
.rv-score{display:inline-flex;align-items:center;gap:1rem;padding:1rem 1.35rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.rv-score:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.rv-score__num{font-family:var(--font-display);font-size:2.6rem;line-height:1;color:var(--ink)}
.rv-score__right{display:grid;gap:.45rem}
.rv-score__meta{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.rv-score__meta svg{width:14px;height:14px}
.rv-grid{columns:3;column-gap:1.5rem}
@media (max-width:1024px){.rv-grid{columns:2}}
@media (max-width:660px){.rv-grid{columns:1}}
.rv-card{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.75rem 1.7rem 1.4rem;margin:0 0 1.5rem;position:relative;box-shadow:var(--shadow-sm);overflow:hidden}
.rv-card::after{content:"\201C";position:absolute;top:-.35rem;right:1rem;font-family:var(--font-display);font-size:5.5rem;line-height:1;color:var(--gold);opacity:.15;pointer-events:none}
.rv-card__text{margin:.95rem 0 0;font-size:.96rem;line-height:1.75;color:var(--ink-soft);position:relative;z-index:1}
.rv-card__foot{display:flex;align-items:center;gap:.75rem;margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.rv-card__avatar{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--bg-3);color:var(--gold-deep);font-family:var(--font-display);font-size:1.2rem;font-weight:600;line-height:1}
.rv-card__who{display:grid;min-width:0}
.rv-card__name{font-weight:600;font-size:.9rem;color:var(--ink)}
.rv-card__meta{font-size:.74rem;color:var(--muted);letter-spacing:.02em}
.rv-card__g{flex:none;margin-left:auto;width:17px;height:17px;opacity:.9}
.rv-more{text-align:center;margin-top:.5rem}
.rv-more a{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:#755828;text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:.35rem}
.rv-more a:hover{color:var(--ink);border-bottom-color:var(--gold)}
.rv-more svg{width:15px;height:15px}
.rv-strip{display:block;background:var(--bg-2);border-block:1px solid var(--line);text-decoration:none;color:inherit}
.rv-strip:hover{background:var(--bg-3)}
.rv-strip__inner{max-width:var(--container);margin-inline:auto;padding:.85rem var(--gutter);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.55rem .9rem}
.rv-strip strong{font-family:var(--font-display);font-size:1.3rem;line-height:1;color:var(--ink)}
.rv-strip__txt{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.rv-strip__txt svg{width:14px;height:14px}
.rv-strip__sep{width:1px;height:16px;background:var(--line-strong)}
.rv-strip__quote{font-family:var(--font-display);font-style:italic;font-size:1.02rem;color:var(--ink-soft)}
@media (max-width:760px){.rv-strip__quote,.rv-strip__sep--hide{display:none}}
.rv-head>div:first-child{flex:1 1 30rem;min-width:min(100%,20rem)}
.rv-score{flex:0 0 auto}
.rv-card__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:9;overflow:hidden}
.rv-card.is-open .rv-card__text{-webkit-line-clamp:unset;display:block}
.rv-card__more{margin-top:.7rem;padding:0;background:none;border:0;font-family:inherit;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);cursor:pointer;border-bottom:1px solid var(--line-strong)}
.rv-card__more:hover{color:var(--ink);border-bottom-color:var(--gold)}
.rv-grid.is-collapsed .rv-card--extra{display:none}
.rv-showall{text-align:center;margin-top:.75rem}
.rv-showall__btn{color:var(--ink);border-color:var(--line-strong);cursor:pointer}
/* ---- Mobile reading pass: 16px body, tighter rhythm, bigger tap targets ---- */
@media (max-width:640px){
  :root{
    --fs-lead:1.0625rem;
    --fs-h1:2.35rem;
    --fs-h2:1.75rem;
    --fs-h3:1.35rem;
    --fs-h4:1.1rem;
    --section-y:3.25rem;
  }
  body{line-height:1.65}
  h1{line-height:1.1}
  h2,h3{line-height:1.2}
  .lead{line-height:1.6}
  .section-head{margin-bottom:1.75rem}
  /* tap targets — Apple HIG asks for 44px, these were 20–32px */
  .footer-links a{display:inline-block;padding-block:.4rem}
  .rv-card__more{padding-block:.55rem}
  .carousel-dot{padding:9px;background-clip:content-box}
  .rv-card{padding:1.4rem 1.35rem 1.15rem}
  .rv-card__text{-webkit-line-clamp:7}
  .rv-card::after{font-size:4rem}
}
@media (max-width:640px){
  /* supporting copy was 13–15px — under the comfortable reading floor on a phone */
  .collection-card p,.feature p,.step p,.split p,.rv-card__text,
  .product-hub-card__body p,.option-card p,.related-card p,.quote__text{font-size:1rem;line-height:1.6}
  .collection-card p{line-height:1.55}
  .rv-card__text{line-height:1.65}
}
@media (max-width:640px){
  /* matches the specificity of the 860px rule that pinned this at 0.82rem (13px) */
  .collections-grid .collection-card p{font-size:0.95rem;line-height:1.55}
  .collections-grid .collection-card .link-arrow{font-size:0.82rem}
  .collections-grid .collection-card__index{font-size:0.68rem}
}
@media (max-width:640px){
  /* form helper text was 12px — too small on the one element that has to be easy */
  .qf-help,.opt{font-size:0.84rem}
  .qf-note{font-size:0.85rem}
}
@media (max-width:860px){
  /* 13px card copy is under the reading floor on tablets too, not just phones */
  .collections-grid .collection-card p{font-size:0.92rem;line-height:1.55}
}
/* ---- Sticky mobile actions: calling isn't the only way people want to start ---- */
@media (max-width:720px){
  .floating-cta{display:flex;gap:.5rem;align-items:center}
  .floating-cta .fcta{padding:.85rem 1.15rem;font-size:.78rem;min-height:44px}
  .floating-cta .fcta--call{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--shadow-md)}
  .floating-cta .fcta--call svg{color:var(--gold-deep)}
  .floating-cta .fcta--quote{background:var(--gold);color:#2A2520}
}
@media (max-width:600px){
  .floating-cta .fcta{padding:.75rem 1rem;font-size:.72rem}
}
/* ---- Desktop reading pass ---- */
/* Display type was pinned at its clamp ceiling (h1 86px, h2 54px). On a 1366x768
   laptop that pushed the hero to 938px and left the primary CTA 7px off the fold. */
@media (min-width:900px){
  :root{
    --fs-h1:clamp(2.7rem,1.6rem + 4.8vw,4.4rem);
    --fs-h2:clamp(2rem,1.4rem + 2.6vw,2.9rem);
  }
}
/* Review text was running at 35 characters per line in 3 columns — well under the
   45-75 range prose is comfortable at. Two columns gives ~55. */
@media (min-width:1025px){
  .rv-grid{columns:2}
}
/* Supporting copy that stayed at 12-14px on large screens */
@media (min-width:641px){
  .option-card p{font-size:1rem;line-height:1.65}
  .ba-cap{font-size:0.94rem}
  .qf-help,.opt{font-size:0.84rem}
  .qf-note{font-size:0.88rem}
}
/* On a short laptop (768px tall) the hero trust stats fell 5px below the fold.
   Tighten only there, so tall monitors keep the roomier spacing. */
@media (min-width:900px) and (max-height:850px){
  .hero__meta{margin-top:2rem}
  .hero{padding-bottom:4.5rem}
}
/* The two-action sticky CTA is fixed on desktop too — style it consistently there,
   not only under 720px where it was first defined. */
.floating-cta{display:flex;gap:.5rem;align-items:center}
.floating-cta .fcta{min-height:44px}
.floating-cta .fcta--call{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--shadow-md)}
.floating-cta .fcta--call svg{color:var(--gold-deep)}
.floating-cta .fcta--quote{background:var(--gold);color:#2A2520}
.floating-cta .fcta--call:hover{box-shadow:0 18px 40px rgba(58,44,28,.18)}
@media (min-width:900px) and (max-height:850px){
  .hero{padding-bottom:3.4rem}
}
.addr__item--hint{color:var(--muted);font-style:italic;cursor:default}
/* ---- Lead form reassurance ---- */
.qf-next{list-style:none;margin:1.1rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--line);display:grid;gap:.6rem}
.qf-next li{display:flex;gap:.7rem;align-items:flex-start;font-size:.85rem;line-height:1.55;color:var(--ink-soft)}
.qf-next li span{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--bg-3);color:var(--gold-deep);font-family:var(--font-display);font-size:.85rem;font-weight:600;margin-top:.05rem}
.qq-wa{display:inline-flex;align-items:center;gap:.42rem;margin-left:.75rem;color:var(--gold)}
.qq-wa svg{width:16px;height:16px}
.qq-proof{margin:1.5rem 0 0;padding:1.15rem 1.25rem;border-left:2px solid var(--gold);background:rgba(247,243,236,.06);border-radius:0 var(--r-sm) var(--r-sm) 0}
.qq-proof blockquote{margin:.6rem 0 0;font-family:var(--font-display);font-style:italic;font-size:1.08rem;line-height:1.5;color:var(--cream-text)}
.qq-proof figcaption{margin-top:.6rem;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(247,243,236,.6)}
@media (max-width:640px){
  .qq-wa{margin-left:0;display:flex;margin-top:.5rem}
  .qf-next li{font-size:.9rem}
}
/* ---- Meet the team ---- */
.team-block{display:grid;gap:clamp(1.75rem,4vw,3.25rem);align-items:center}
@media (min-width:860px){.team-block{grid-template-columns:1.05fr 1fr}}
.team-block__media{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);background:var(--bg-3)}
.team-block__media img{display:block;width:100%;height:auto}
.team-block__copy h2{margin-top:1rem}
.team-block__copy .lead{margin-top:1.1rem}
.team-block__names{list-style:none;margin:1.75rem 0 0;padding:1.4rem 0 0;border-top:1px solid var(--line-strong);display:flex;flex-wrap:wrap;gap:.9rem 2.75rem}
.team-block__names li{display:grid;gap:.15rem}
.team-block__names strong{font-family:var(--font-display);font-size:1.35rem;font-weight:500;color:var(--ink)}
.team-block__names span{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.team-block__note{margin-top:1.4rem;font-size:.9rem;color:var(--ink-soft)}
/* ---- Optional details toggle ---- */
.qf-more__btn{display:flex;align-items:center;gap:.55rem;width:100%;margin:.35rem 0 .25rem;padding:.85rem 1rem;background:transparent;border:1px dashed var(--line-strong);border-radius:var(--r-sm);color:var(--ink);font-family:inherit;font-size:.85rem;cursor:pointer;text-align:left;transition:border-color .25s var(--ease),background .25s var(--ease)}
.qf-more__btn span{color:var(--muted);font-size:.8rem}
.qf-more__btn svg{width:16px;height:16px;flex:none;color:var(--gold-deep);transition:transform .3s var(--ease)}
.qf-more__btn:hover{border-color:var(--gold);background:rgba(190,149,80,.06)}
.qf-more__btn.is-open svg{transform:rotate(45deg)}
.qf-more{display:grid;gap:0}
@keyframes qfMore{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.qf-more{animation:none}}
/* ---- Form density: the panel was 1488px tall with 56px inputs. Calm it down. ---- */
.quick-quote__form{padding:clamp(1.25rem,2.4vw,1.75rem)}
.cform .qf-field{margin-bottom:.8rem}
.cform .qf-field label,.cform .qf-field .field__label{font-size:.72rem;letter-spacing:.05em;margin-bottom:.3rem;color:var(--ink-soft)}
.cform .qf-field input,.cform .qf-field textarea,.cform .prodsel__btn{padding:.72rem .9rem;font-size:16px}
.cform .qf-field textarea{min-height:76px}
.qf-help{margin-top:.3rem;font-size:.76rem}
/* optional-details toggle — light panel, so light-surface colours */
.qf-more__btn{margin:.15rem 0 .7rem;padding:.65rem .85rem;font-size:.8rem;color:var(--gold-deep);border-color:var(--line-strong)}
.qf-more__btn span{font-size:.76rem}
.qf-more__btn svg{width:14px;height:14px}
.qf-more__btn:hover{border-color:var(--gold);background:rgba(190,149,80,.07);color:var(--ink)}
/* what-happens-next — also inside the light panel */
.qf-next{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line);gap:.45rem}
.qf-next li{font-size:.8rem;line-height:1.5;color:var(--ink-soft)}
.qf-next li span{width:19px;height:19px;font-size:.75rem;background:var(--bg-2);color:var(--gold-deep)}
.qf-note{margin-top:.8rem;font-size:.78rem}
.quick-quote__form .btn--block{margin-top:.5rem;padding-block:.95rem}
/* Rebalance: tightening the panel shouldn't push the small text under the readable floor. */
.cform .qf-field label,.cform .qf-field .field__label{font-size:.76rem;color:var(--ink)}
.qf-help{font-size:.82rem}
.qf-note{font-size:.82rem}
.qf-next li{font-size:.84rem}
.qf-more__btn{font-size:.85rem}
.qf-more__btn span{font-size:.8rem;color:var(--ink-soft)}  /* was 3.72:1, under AA */
/* `.qf-more{display:grid}` was beating the UA's [hidden]{display:none}, so the
   "optional" fields were on screen the whole time — the form never actually collapsed. */
.qf-more[hidden]{display:none}
/* keep the toggle on one line */
.qf-more__btn{justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
.qf-more__btn span{margin-left:auto;padding-left:.5rem}
@media (max-width:420px){
  .qf-more__btn{font-size:.8rem}
  .qf-more__btn span{font-size:.74rem}
}
/* toggle: short label, nothing to clip */
.qf-more__btn{justify-content:center;white-space:normal;overflow:visible;gap:.45rem}
.qf-more__btn span{margin-left:0;padding-left:0}
/* the form centres its text; numbered steps read badly that way */
.qf-next{text-align:left}
.qf-next li{align-items:flex-start}
.qf-next li span{font-weight:600}
/* On a 320px phone the CTA wrapped to two lines — tighten tracking, not the tap target. */
@media (max-width:380px){
  .quick-quote__form .btn--block,.form-card .btn--block{letter-spacing:.07em;font-size:.74rem;padding-inline:.85rem;gap:.5rem}
  .quick-quote__form .btn--block svg,.form-card .btn--block svg{width:14px;height:14px}
}
/* ---- Suburb pages ---- */
.sub-gallery{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.sub-shot{position:relative;display:block;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none;background:var(--bg-3);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.sub-shot:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.sub-shot img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.sub-shot__cap{position:absolute;left:0;right:0;bottom:0;display:grid;gap:.1rem;padding:1.6rem 1rem .85rem;color:var(--cream-text);font-size:.85rem;font-weight:600;background:linear-gradient(to top,rgba(26,20,14,.82),rgba(26,20,14,0))}
.sub-shot__cap span{font-weight:400;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;opacity:.8}
.sub-prods{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}
.sub-prod{display:inline-flex;align-items:center;min-height:44px;padding:.7rem 1.2rem;border-radius:100px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);text-decoration:none;font-size:.86rem;transition:border-color .3s var(--ease),background .3s var(--ease)}
.sub-prod:hover{border-color:var(--gold);background:var(--bg-2)}
.sub-near{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:960px;margin-inline:auto}
.sub-near__link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;padding:.9rem 1.15rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);text-decoration:none;font-size:.9rem;transition:border-color .3s var(--ease),transform .3s var(--ease)}
.sub-near__link:hover{border-color:var(--gold);transform:translateX(3px)}
.sub-near__link svg{width:16px;height:16px;flex:none;color:var(--gold-deep)}
.sub-near__link--all{background:var(--bg-2);font-weight:600}
/* areas hub */
.area-group{margin-bottom:clamp(2.25rem,4vw,3.25rem)}
.area-group:last-child{margin-bottom:0}
.area-group__h{font-family:var(--font-body);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);padding-bottom:.7rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line)}
.area-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.area-card{display:block;text-decoration:none;color:inherit;border-radius:var(--r-md);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.area-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}
.area-card__media{display:block;overflow:hidden;background:var(--bg-3)}
.area-card__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s var(--ease)}
.area-card:hover .area-card__media img{transform:scale(1.05)}
.area-card__name{display:block;padding:.85rem 1rem .1rem;font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--ink)}
.area-card__sub{display:block;padding:0 1rem .95rem;font-size:.72rem;letter-spacing:.1em;color:var(--muted)}
@media (max-width:640px){
  .sub-gallery{grid-template-columns:repeat(2,1fr);gap:.75rem}
  .sub-shot__cap{font-size:.76rem;padding:1.3rem .7rem .65rem}
  .sub-shot__cap span{font-size:.64rem}
  .area-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}
  .area-card__name{font-size:1.05rem;padding:.7rem .8rem .1rem}
  .area-card__sub{padding:0 .8rem .8rem}
  .sub-near{grid-template-columns:1fr}
}

/* --- WCAG AA: gold eyebrow needs a darker tone on tinted/sand grounds --- */
.section--tint .eyebrow,.section--sand .eyebrow{color:#755828}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;background:rgba(190,149,80,.55);transform:translate(-50%,-50%);transform-origin:50% 50%;animation:baPulse 2.4s ease-in-out infinite;will-change:transform,opacity;pointer-events:none;z-index:-1}
@media (prefers-reduced-motion:reduce){.ba-handle::after{animation:none;opacity:0}}

/* --- Why choose us: merged trust grid, high-contrast cards (2026-09-15) --- */
.why-section .section-head{margin-inline:auto}
.feature--pop{position:relative;overflow:hidden;padding:clamp(1.5rem,2.4vw,2rem);background:linear-gradient(180deg,#FFFDF9 0%,var(--surface) 100%);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm)}
.feature--pop::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-deep))}
.feature--pop .feature__icon{width:46px;height:46px;margin-bottom:1rem;background:linear-gradient(145deg,var(--accent),var(--accent-deep));color:#fff;box-shadow:0 6px 16px rgba(138,106,51,0.28)}
.feature--pop .feature__icon svg{width:22px;height:22px}
.feature--pop h3{font-size:1.12rem;line-height:1.25;margin-bottom:0.45rem}
.feature--pop p{color:var(--ink-soft);line-height:1.55}
.feature--pop:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow-md)}
@media (prefers-reduced-motion:reduce){.feature--pop:hover{transform:none}}
@media (max-width:640px){.feature--pop{display:grid;grid-template-columns:auto 1fr;column-gap:0.9rem;row-gap:0.3rem;align-items:center;padding:1.15rem 1.2rem 1.25rem}.feature--pop .feature__icon{grid-column:1;grid-row:1;width:38px;height:38px;margin:0}.feature--pop .feature__icon svg{width:19px;height:19px}.feature--pop h3{grid-column:2;grid-row:1;margin:0;font-size:1.12rem}.feature--pop p{grid-column:2;grid-row:2;font-size:0.95rem;line-height:1.55}}

/* --- Optional details panel: animate the height so nothing jumps (2026-09-15) --- */
.qf-more.qf-anim{overflow:hidden;opacity:0;will-change:height;transition:height 0.3s var(--ease),opacity 0.22s var(--ease-soft)}
.qf-more.qf-anim.is-open{opacity:1}
.qf-more__btn svg{transition:transform 0.3s var(--ease)}
@media (prefers-reduced-motion:reduce){.qf-more.qf-anim{transition:none;opacity:1}}

/* Expanding the optional-details panel must not re-centre the quote grid (2026-09-15) */
.qf-more.qf-anim{overflow-anchor:none}

/* Expanded quote panel used to leave a dead void beside the short copy column.
   Let the copy column fill the row and anchor its trailing contact line to the
   bottom: nothing above it moves, the gap closes. (2026-09-15) */
@media (min-width:900px){
.quick-quote__copy{align-self:stretch;display:flex;flex-direction:column}
.quick-quote__copy > .quick-quote__call{margin-top:auto;padding-top:1.5rem}
}

/* ============================================================================
   PERF PASS — Sept 2026. Lighthouse mobile 74 -> 90+.
   Appended last so it wins the cascade without touching the rules above.
   ========================================================================= */

/* 1. LCP: the <h1> is the LCP element. It was held at opacity:0 behind
      heroUp2 (0.25s delay + 0.6s duration), so it could not paint for ~850ms
      after CSS applied. Paint it at full opacity on frame 1 and keep the
      entrance as a transform-only slide, which is compositor-only and does
      not gate paint. */
@keyframes heroRise{from{transform:translateY(18px)}to{transform:none}}
.hero__inner>*{opacity:1;animation:heroRise .55s var(--ease) both}
.hero__inner>*:nth-child(1){animation-delay:0s}
.hero__inner>*:nth-child(2){animation-delay:.04s}
.hero__inner>*:nth-child(3){animation-delay:.08s}
.hero__inner>*:nth-child(4){animation-delay:.12s}
.hero__inner>*:nth-child(5){animation-delay:.16s}
.hero h1{opacity:1;animation:none;transform:none}
@media (prefers-reduced-motion:reduce){.hero__inner>*{animation:none;transform:none}}

/* 2. CLS: the hero buttons used to jump when Montserrat swapped in. The real
      cause was font traffic, not the buttons - see fonts.css. With the family
      served as one file instead of four, the swap lands early enough that
      nothing reflows, so no height needs reserving here. */

/* 3. Non-composited animation: .nav__cta pulsed box-shadow forever, which
      repaints every frame on the main thread. Same look, done with a
      transform+opacity ring on a pseudo-element, which the compositor owns. */
.nav__cta{animation:none;position:relative}
.nav__cta::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:0 0 0 2px rgba(190,149,80,.55);opacity:0;transform:scale(1);
  animation:ctaRing 2.6s ease-out infinite;will-change:transform,opacity}
@keyframes ctaRing{0%{opacity:.55;transform:scale(1)}70%{opacity:0;transform:scale(1.12)}100%{opacity:0;transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){.nav__cta::after{animation:none}}

/* 4. LCP bytes: the first hero slide shipped a 1600x1200 / 96KB photo to a
      412px phone. Same frame at 1000px wide is 36KB, and it sits under a dark
      gradient with text over it, so the difference is invisible on a phone.
      The preloads below are media-scoped to match these two rules exactly,
      so the browser fetches one file, never both. */
.hero-slide--first{background-image:url('../img/products/curtains-sheers-hero.webp')}
@media (max-width:700px){.hero-slide--first{background-image:url('../img/products/curtains-sheers-hero-m.webp')}}

/* ---- motorisation page: product tiles, spec table, power comparison -------- */
/* every selector is a class on purpose: a descendant selector like `.x img` gets
   swept into the critical-CSS KEEP regex and bloats the inlined above-fold block */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(1rem,2vw,1.6rem)}
.prod-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column}
.prod-tile__img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--bg-2)}
.prod-tile__body{padding:1rem 1.1rem 1.2rem}
.prod-tile__name{font-family:var(--font-display);font-size:1.15rem;color:var(--ink);margin:0 0 .3rem}
.prod-tile__meta{font-size:.85rem;color:var(--muted);margin:0;line-height:1.5}
.prod-tile__tag{display:inline-block;margin-top:.6rem;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-deep);border:1px solid var(--line-strong);border-radius:999px;padding:.25rem .6rem}

.spec-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.spec-table{width:100%;border-collapse:collapse;min-width:560px;font-size:.92rem}
.spec-table__th{text-align:left;font-family:var(--font-body);font-weight:600;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.9rem 1rem;border-bottom:1px solid var(--line-strong);white-space:nowrap}
.spec-table__td{padding:.85rem 1rem;border-bottom:1px solid var(--line);color:var(--ink-soft);vertical-align:top}
.spec-table__td--name{color:var(--ink);font-weight:600;white-space:nowrap}
.spec-table__row:last-child .spec-table__td{border-bottom:0}

.power-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(1.3rem,2.4vw,2rem);display:flex;flex-direction:column;gap:.55rem}
.power-card--pick{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.power-card__eyebrow{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--accent-deep);margin:0}
.power-card__name{font-family:var(--font-display);font-size:clamp(1.3rem,1.1rem+.5vw,1.6rem);color:var(--ink);margin:0}
.power-card__body{color:var(--ink-soft);margin:0;line-height:1.65}
.power-card__list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.45rem}
.power-card__item{position:relative;padding-left:1.35rem;color:var(--ink-soft);font-size:.95rem;line-height:1.55}
.power-card__item::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--accent)}

.step-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(1.2rem,2.5vw,2rem);counter-reset:step}
.step-item{position:relative;padding-top:2.9rem}
.step-item::before{counter-increment:step;content:counter(step);position:absolute;top:0;left:0;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--font-body);font-size:.95rem;font-weight:600;display:grid;place-items:center}
.step-item__name{font-family:var(--font-display);font-size:1.3rem;color:var(--ink);margin:0 0 .45rem}
.step-item__body{color:var(--ink-soft);margin:0;line-height:1.7}

.note-strip{border-left:3px solid var(--accent);background:var(--bg-2);padding:1rem 1.2rem;border-radius:0 var(--r-sm) var(--r-sm) 0;margin-top:1.6rem}
.note-strip__txt{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.65}
@media (max-width:700px){.spec-table{min-width:520px}}

/* ---- home: sheer vs blockout showcase ------------------------------------ */
/* class-only selectors so none of this is swept into the inlined critical CSS */
.sb-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,4.5vw,4.5rem);align-items:center}
.sb-copy{max-width:46ch}
.sb-rule{width:54px;height:2px;background:var(--accent);border:0;margin:0 0 1.6rem}
.sb-title{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1.08;color:var(--ink);margin:0 0 1.15rem}
.sb-title em{font-style:italic;color:var(--accent-deep)}
.sb-lead{color:var(--ink-soft);font-size:var(--fs-lead);line-height:1.62;margin:0}
.sb-legend{list-style:none;padding:0;margin:1.9rem 0 2.1rem;display:flex;flex-direction:column;gap:1.05rem}
.sb-legend__item{display:flex;gap:.95rem;align-items:flex-start;color:var(--ink-soft);font-size:.95rem;line-height:1.6}
.sb-legend__name{display:block;color:var(--ink);font-weight:600;letter-spacing:.02em;margin-bottom:.12rem}
.sb-swatch{flex:0 0 auto;width:32px;height:32px;border-radius:7px;border:1px solid var(--line-strong);margin-top:.1rem}
.sb-swatch--sheer{background:linear-gradient(135deg,#FFFFFF 0%,rgba(244,241,236,.45) 100%);box-shadow:inset 0 0 0 4px rgba(255,255,255,.85)}
.sb-swatch--block{background:linear-gradient(135deg,#CFC2AE 0%,#A08D74 100%)}
.sb-media{position:relative}
.sb-media .ba-slider{border-radius:var(--r-lg);box-shadow:0 26px 60px -26px rgba(42,37,32,.6)}
.ba-hint{position:absolute;left:50%;bottom:1.15rem;transform:translateX(-50%);z-index:6;pointer-events:none;background:rgba(34,29,24,.82);color:#fff;border-radius:100px;padding:.5rem 1.15rem;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;transition:opacity .45s var(--ease)}
/* crown.js adds .touched on first drag — the hint retires itself, no extra JS */
.sb-media .ba-slider.touched ~ .ba-hint{opacity:0}
@media (max-width:900px){
  .sb-grid{grid-template-columns:1fr;gap:clamp(1.75rem,5vw,2.5rem)}
  .sb-copy{max-width:none}
}
@media (prefers-reduced-motion:reduce){.ba-hint{transition:none}}

/* ---- CLS fix: reviews grid ------------------------------------------------
   crown.js collapses this grid and injects buttons AFTER first paint. On a fast
   machine that lands before paint and nothing moves; under Lighthouse's 4x CPU
   throttle it lands after, and the whole page below the reviews jumps (this was
   worth ~1.1 CLS on the homepage).
   So the first paint now renders the SAME layout the JS would produce:
   pre-collapsed reviews via CSS, and a reserved strip for the "Read more"
   button so inserting it never changes a card's height. ---------------------- */
.rv-grid.is-collapsed .rv-card:nth-of-type(n+7){display:none}
@media (max-width:640px){.rv-grid.is-collapsed .rv-card:nth-of-type(n+3){display:none}}
.rv-card{padding-bottom:3.15rem}
.rv-card__more{position:absolute;left:1.7rem;bottom:1.3rem;margin-top:0}
@media (max-width:640px){
  .rv-card{padding-bottom:2.8rem}
  .rv-card__more{left:1.35rem;bottom:1.1rem}
}

/* ---- Products menu, grouped (2026-10-24): curtains and roller blinds as photo
   cards in the order Danial asked for, everything else as a compact list below ---- */
.mega-groups{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem clamp(1.5rem,3vw,2.75rem)}
.mega-group__label{display:flex;align-items:center;gap:.75rem;max-width:none;white-space:nowrap;text-align:left;margin:0 0 .85rem;font-family:var(--font-body);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);line-height:1}
.mega-group__label::after{content:"";flex:1;height:1px;background:var(--line)}
.mega-group--curtains .nav__mega-grid{--mg-cols:4}
.mega-group--rollers .nav__mega-grid{--mg-cols:4}
.mega-group--more{grid-column:1 / -1}
.mega-list{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem 1.25rem}
.mega-link{display:flex;align-items:center;gap:.8rem;text-align:left;padding:.4rem .5rem .4rem .4rem;border-radius:12px;font-size:.84rem;font-weight:500;line-height:1.3;color:var(--ink);text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.mega-link:hover{background:var(--bg-2);color:var(--accent-deep)}
.mega-link__thumb{flex:none;width:46px;height:46px;border-radius:10px;overflow:hidden;background:var(--bg-2);border:1px solid var(--line)}
.mega-link__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mega-link:hover .mega-link__thumb img{transform:scale(1.1)}
@media (max-width:860px){
  .mega-groups{grid-template-columns:1fr;gap:1.15rem}
  .mega-group--curtains .nav__mega-grid,.mega-group--rollers .nav__mega-grid{--mg-cols:2}
  .mega-list{grid-template-columns:1fr 1fr;gap:.2rem .4rem}
  .mega-link{gap:.55rem;padding:.3rem;font-size:.78rem}
  .mega-link__thumb{width:36px;height:36px;border-radius:8px}
}

/* ---- Sheer + blockout landing pages (2026-10-24) ---------------------------
   The products menu above is flex, not grid, so its short last row sits centred.
   Everything here is below the fold: class-only selectors, kept out of critical CSS. */
/* hero buttons on the landing pages; phones already have the sticky Call bar */
.page-hero__ctas{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}
@media (max-width:860px){.page-hero__ctas .btn--ghost{display:none}}
/* the contact page's numbered list sets .steps{counter-reset:none}, which left every
   4-step row (home, about, these pages) reading 01 01 01 01 */
.steps--4{counter-reset:step}
.lp-ticks{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.75rem}
.lp-ticks li{position:relative;padding-left:1.95rem;color:var(--ink);font-size:.98rem;line-height:1.55}
.lp-ticks li::before{content:"";position:absolute;left:0;top:.15rem;width:20px;height:20px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A2520' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat}

.lp-choice{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.lp-choice:hover{border-color:var(--gold);box-shadow:var(--shadow-md);transform:translateY(-3px)}
.lp-choice__media{aspect-ratio:4 / 3;overflow:hidden;background:var(--bg-3)}
.lp-choice__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.lp-choice:hover .lp-choice__media img{transform:scale(1.05)}
.lp-choice__body{display:flex;flex-direction:column;flex:1;padding:clamp(1.15rem,2.2vw,1.5rem)}
.lp-choice__tag{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.45rem}
.lp-choice h3{font-family:var(--font-display);font-size:1.4rem;line-height:1.2;color:var(--ink);margin-bottom:.55rem}
.lp-choice__text{font-size:.95rem;color:var(--ink-soft);line-height:1.65;flex:1}
.lp-choice__best{margin-top:.95rem;font-size:.85rem;line-height:1.5;color:var(--ink)}
.lp-choice__best b{font-weight:600;color:var(--gold-deep)}
.lp-choice:hover .option-card__cta{color:var(--ink)}
.lp-choice:hover .option-card__cta svg{transform:translateX(4px)}

/* phones: the option cards become one swipeable row, the next card peeking in */
@media (max-width:640px){
  .lp-choices{display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gutter));padding:0 var(--gutter) .6rem;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .lp-choices::-webkit-scrollbar{display:none}
  .lp-choices>*{flex:0 0 82%;scroll-snap-align:start}
  .lp-choice:hover{transform:none}
}
/* "one window, three ways": drawn states of a double curtain / double roller */
.lp-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}
.lp-mode{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(.9rem,1.6vw,1.15rem) clamp(.9rem,1.6vw,1.15rem) clamp(1.15rem,2vw,1.5rem);text-align:center}
.lp-mode svg{display:block;width:100%;height:auto;border-radius:calc(var(--r-lg) - 8px);margin-bottom:1.1rem}
.lp-mode figcaption{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding-inline:.4rem}
.lp-mode__tag{display:block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.lp-mode__title{font-family:var(--font-display);font-size:1.45rem;line-height:1.2;color:var(--ink)}
.lp-mode__text{font-size:.93rem;line-height:1.6;color:var(--ink-soft);max-width:30ch}

/* sunscreen openness: the same view behind four densities of charcoal mesh */
.lp-open{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem)}
.lp-open li{display:flex;flex-direction:column;gap:.3rem}
.lp-open__sw{position:relative;display:block;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:var(--view) center / cover;border:1px solid var(--line-strong);margin-bottom:.75rem}
.lp-open__sw::after{content:"";position:absolute;inset:0;background-color:rgba(38,34,30,var(--shade));
  background-image:repeating-linear-gradient(0deg,rgba(20,17,15,.35) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(20,17,15,.35) 0 1px,transparent 1px 3px)}
.lp-open__pct{font-family:var(--font-display);font-size:2rem;line-height:1;color:var(--ink);font-weight:500}
.lp-open__name{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.lp-open__text{font-size:.93rem;line-height:1.6;color:var(--ink-soft)}
.lp-open__note{max-width:none;margin:1.75rem 0 0;text-align:center;font-size:.85rem;color:var(--muted)}

/* two real photos side by side, each with a short label */
.lp-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2.5vw,2rem);max-width:1040px;margin-inline:auto}
.lp-pair figure{margin:0}
.lp-pair img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-lg);box-shadow:0 22px 50px -28px rgba(42,37,32,.55)}
.lp-pair figcaption{margin-top:1rem;font-size:.95rem;line-height:1.6;color:var(--ink-soft);text-align:center;padding-inline:1rem}
.lp-pair .lp-mode__tag{margin-bottom:.3rem}
@media (max-width:860px){.lp-open{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.lp-pair{grid-template-columns:1fr}.lp-modes{display:flex}.lp-mode__text,.lp-open__text{font-size:1rem}}

.lp-dark{list-style:none;margin:1.9rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem 1.5rem}
.lp-dark li{display:grid;grid-template-columns:58px 1fr;column-gap:.9rem;row-gap:.15rem;align-content:start}
.lp-dark__sw{grid-row:span 2;display:block;width:58px;height:58px;border-radius:var(--r-sm);background:#221D18}
.lp-dark__sw--1{box-shadow:inset 4px 0 0 #F6E3BC,inset -4px 0 0 #F6E3BC,inset 0 4px 0 #F6E3BC,inset 9px 0 12px rgba(246,227,188,.45),inset -9px 0 12px rgba(246,227,188,.45)}
.lp-dark__sw--2{box-shadow:inset 2px 0 0 rgba(246,227,188,.75),inset -2px 0 0 rgba(246,227,188,.75),inset 5px 0 9px rgba(246,227,188,.22),inset -5px 0 9px rgba(246,227,188,.22)}
.lp-dark__sw--3{box-shadow:inset 0 2px 0 rgba(246,227,188,.28),inset 0 6px 10px rgba(246,227,188,.08)}
.lp-dark__sw--4{background:#0F0C0A}
.lp-dark strong{font-weight:600;color:var(--ink);font-size:.95rem;line-height:1.35}
.lp-dark span:last-child{color:var(--ink-soft);font-size:.88rem;line-height:1.55}
.lp-dark__scale{display:flex;justify-content:space-between;margin-top:1.4rem;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lp-dark__scale::before{content:"";order:1;flex:1;height:1px;margin:.5em 1rem 0;background:linear-gradient(90deg,var(--line-strong),var(--espresso))}
.lp-dark__scale span:last-child{order:2}
@media (max-width:520px){.lp-dark{grid-template-columns:1fr}}
@media (max-width:640px){.lp-dark span:last-child,.lp-choice__text{font-size:1rem;line-height:1.6}}

/* ---- motorised curtains page (2026-10-26). Class-only selectors on purpose (see the
   motorisation block above): descendant selectors get swept into the critical CSS. ---- */
.mc-anatomy{max-width:1000px;margin-inline:auto}
.mc-anatomy__svg{display:block;width:100%;height:auto;border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:0 22px 50px -32px rgba(42,37,32,.45)}
.mc-legend{list-style:none;padding:0;margin:clamp(1.5rem,3vw,2.25rem) auto 0;max-width:1000px;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.2vw,1.75rem)}
.mc-legend__item{display:flex;gap:.85rem;align-items:flex-start}
.mc-legend__n{flex:0 0 2rem;height:2rem;border-radius:50%;background:var(--espresso);color:var(--gold);display:grid;place-items:center;font-size:.9rem;font-weight:700}
.mc-legend__name{display:block;font-family:var(--font-display);font-size:1.25rem;line-height:1.2;color:var(--ink);margin-bottom:.3rem}
.mc-legend__text{display:block;font-size:.93rem;line-height:1.6;color:var(--ink-soft)}
.mc-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);box-shadow:0 22px 50px -28px rgba(42,37,32,.55)}
.mc-ctrl{margin-top:clamp(2.25rem,4.5vw,3.5rem);grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.mc-ctrl{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.mc-ctrl{grid-template-columns:1fr}}
.mc-day{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.mc-day__media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.75rem,1.6vw,1.25rem)}
.mc-day__img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-lg);box-shadow:0 22px 50px -28px rgba(42,37,32,.55)}
.mc-day__img--b{margin-top:clamp(2rem,5vw,3.5rem);object-position:82% 50%}
.mc-times{list-style:none;padding:0;margin:1.9rem 0 0;position:relative}
.mc-times::before{content:"";position:absolute;left:4.1rem;top:.5rem;bottom:2.2rem;width:1px;background:var(--line-strong)}
.mc-time{position:relative;padding:0 0 1.6rem 5.4rem}
.mc-time::before{content:"";position:absolute;left:calc(4.1rem - 5px);top:.5rem;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--bg-3)}
.mc-time__at{position:absolute;left:0;top:0;width:3.3rem;text-align:right;font-family:var(--font-display);font-size:1.45rem;line-height:1.2;font-weight:600;color:var(--gold-deep)}
.mc-time__ap{display:block;margin-top:.15rem;font-family:var(--font-body);font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mc-time__title{display:block;font-family:var(--font-display);font-size:1.3rem;line-height:1.25;color:var(--ink);margin-bottom:.3rem}
.mc-time__text{margin:0;font-size:.97rem;line-height:1.6;color:var(--ink-soft)}
.mc-uses{display:grid;grid-template-columns:1fr 1.35fr;grid-template-rows:repeat(2,minmax(260px,1fr));gap:clamp(1rem,2vw,1.5rem)}
.mc-use{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-3);box-shadow:var(--shadow-sm)}
.mc-use--tall{grid-row:1 / span 2}
.mc-use__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.mc-use:hover .mc-use__img{transform:scale(1.04)}
.mc-use__cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(3rem,6vw,4.5rem) clamp(1.1rem,2.2vw,1.6rem) clamp(1.1rem,2.2vw,1.5rem);background:linear-gradient(180deg,rgba(42,37,32,0) 0%,rgba(42,37,32,.55) 38%,rgba(42,37,32,.82) 100%)}
.mc-use__title{font-family:var(--font-display);font-size:clamp(1.35rem,1.1rem + .8vw,1.8rem);line-height:1.15;color:#FCFAF6;margin:0 0 .35rem}
.mc-use__text{margin:0;max-width:46ch;font-size:.95rem;line-height:1.55;color:rgba(247,243,236,.9)}
.mc-note{max-width:none;margin:1.25rem 0 0;text-align:center;font-size:.82rem;color:var(--muted)}
.mc-checks{grid-template-columns:1fr 1fr;gap:1rem 2.75rem;max-width:920px;margin-inline:auto}
@media (max-width:980px){
  .mc-legend{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .mc-day{grid-template-columns:1fr}
  .mc-uses{grid-template-columns:1fr;grid-template-rows:none}
  .mc-use{aspect-ratio:4/3.3}
  .mc-use--tall{grid-row:auto;aspect-ratio:4/4.6}
  .mc-checks{grid-template-columns:1fr}
}
@media (max-width:520px){
  .mc-legend{grid-template-columns:1fr}
  .mc-time{padding-left:4.6rem}
  .mc-times::before{left:3.5rem}
  .mc-time::before{left:calc(3.5rem - 5px)}
  .mc-time__at{width:2.8rem;font-size:1.3rem}
}

