/* Multi-page editorial layout */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--green);padding:12px 16px}
.skip-link:focus{left:12px}
.section{scroll-margin-top:90px}
.hero h1{font-size:clamp(49px,5.5vw,78px)}
.hero-description{max-width:480px}
.footer{grid-template-columns:1.1fr 1fr 1.4fr auto;row-gap:14px}
.footer nav{display:flex;gap:14px;flex-wrap:wrap;grid-column:1/4}
.footer nav a,.footer-contact a{font-size:9px;color:#72736a}
.footer nav a:hover,.footer-contact a:hover{color:var(--gold)}
.footer-contact{display:flex;gap:12px;grid-column:1/4}
.footer .back-top{grid-column:4;grid-row:1}
.footer .copyright{grid-column:4;grid-row:2}
.why-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;background:#fbf9f4}
.why-heading h2{font:500 clamp(38px,4.2vw,57px)/1.12 var(--serif);letter-spacing:-.04em;margin:0 0 16px}
.why-heading h2 em,.catalogue-card-copy h2 em{color:var(--green-2)}
.why-heading>p:last-child{font-size:12px;line-height:1.8;max-width:310px;color:var(--muted)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.why-grid article{padding:20px 0;border-top:1px solid var(--line)}
.why-grid article>span{font-size:8px;letter-spacing:.16em;color:var(--gold)}
.why-grid h3{font:500 20px var(--serif);margin:10px 0 6px}
.why-grid p{font-size:10px;line-height:1.8;color:var(--muted);margin:0}
.catalogue-preview{background:#f0ede5}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.catalogue-card{background:#fbf9f4;min-width:0}
.catalogue-photo{height:330px;display:block;position:relative;overflow:hidden;background:#e7e1d6}
.catalogue-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:saturate(.76)}
.catalogue-photo:hover img{transform:scale(1.035)}
.catalogue-photo>span:not(.sample-label){position:absolute;left:12px;bottom:12px;background:#fbf9f4e8;padding:8px 10px;font-size:8px;letter-spacing:.1em;color:var(--green)}
.sample-label{display:inline-block;background:#f0e8d9;color:#765b32;padding:7px 9px;font-size:7px;letter-spacing:.13em;font-weight:700}
.catalogue-photo .sample-label{position:absolute;top:12px;left:12px}
.catalogue-card-copy{padding:20px}
.catalogue-card-copy .eyebrow{margin-bottom:7px;font-size:8px}
.catalogue-card-copy h2{font:500 23px var(--serif);margin:0 0 9px}
.catalogue-card-copy>p:not(.eyebrow){font-size:10px;line-height:1.8;color:#72736a}
.catalogue-card-copy .text-link{display:inline-block;margin-top:8px;font-size:9px}
.reference-code{display:block;font-size:8px;color:var(--gold);letter-spacing:.13em;margin-bottom:10px}
.demo-note{font-size:9px!important;background:#f4eee2;padding:9px;color:#775c36!important}
.empty-content{grid-column:1/-1;max-width:540px;margin:25px auto;padding:35px;text-align:center;background:#fbf9f4}
.empty-content>span{color:var(--gold);font-size:20px}
.empty-content h2,.empty-content h3{font:500 26px var(--serif);margin:10px 0}
.empty-content p{font-size:11px;line-height:1.8;color:var(--muted)}
.empty-content .button{margin-top:12px}
.home-fabrics{background:var(--green);color:#f5f1e8;padding:70px 10vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}
.home-fabrics .eyebrow{color:#d1b27e}
.home-fabrics-intro h2{font:500 clamp(36px,4vw,52px)/1.13 var(--serif);margin:0 0 12px}
.home-fabrics-intro h2 em{color:#d5bd91}
.home-fabrics-intro>p:not(.eyebrow){font-size:10px;line-height:1.8;color:#d0d1c9}
.home-fabrics-intro .text-link{color:#fff;display:inline-block;margin-top:10px}
.home-fabric-list a{display:grid;grid-template-columns:34px 1fr 20px;gap:13px;align-items:center;padding:16px 0;border-top:1px solid #ffffff39}
.home-fabric-list a:last-child{border-bottom:1px solid #ffffff39}
.home-fabric-list a>span{color:#d2af73;font-size:9px}
.home-fabric-list b,.home-fabric-list small{display:block}
.home-fabric-list b{font:500 18px var(--serif)}
.home-fabric-list small{font-size:9px;color:#c2c6bc;margin-top:4px}
.home-fabric-list i{font-style:normal;color:#d2af73}
.reviews-section{padding:90px 10vw;background:#f5f1e8}
.reviews-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}
.reviews-heading h2{font:500 clamp(38px,4.4vw,57px)/1.1 var(--serif);margin:0;letter-spacing:-.04em}
.reviews-heading h2 em{color:var(--green-2)}
.rating-summary{display:grid;grid-template-columns:auto auto;gap:2px 11px;align-items:center}
.rating-summary strong{font:500 35px var(--serif)}
.rating-summary small{grid-column:1/3;font-size:8px;color:var(--muted)}
.review-stars{color:#a57d3f;letter-spacing:.1em;font-size:13px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.review-card{background:var(--paper);padding:23px}
.review-card blockquote{font:500 16px/1.7 var(--serif);margin:17px 0}
.review-card>p{font-size:9px;color:var(--muted);margin:0}
.review-empty{display:flex;align-items:center;gap:13px;padding:17px 20px;border:1px solid var(--line);font-size:10px;color:var(--muted)}
.review-empty span{color:var(--gold);font-size:18px}
.review-empty p{margin:0}
.review-invite{margin-top:28px;background:#e9e5da;padding:27px;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}
.review-invite h3{font:500 21px var(--serif);margin:0 0 9px}
.review-invite>div>p{font-size:10px;line-height:1.8;color:var(--muted)}
.review-form label{display:block;font-size:9px;font-weight:600;color:#55564f;margin:10px 0}
.review-form input,.review-form select,.review-form textarea{display:block;width:100%;padding:10px 0;background:transparent;border:0;border-bottom:1px solid #c9c4b8;font:11px var(--sans);outline:none}
.review-form .button{margin-top:8px}
.optional-label{font-size:7px;color:#99968a;letter-spacing:.13em;margin-left:5px}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.page-hero{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;min-height:500px;align-items:center}
.page-hero-copy{padding:75px 8vw 75px 10vw}
.page-hero-copy h1,.simple-page-heading h1{font:500 clamp(43px,5.4vw,70px)/1.12 var(--serif);letter-spacing:-.04em;margin:0 0 20px}
.page-hero-copy h1 em,.simple-page-heading h1 em,.about-story h2 em,.page-cta h2 em,.contact-info-panel h2 em,.timeline-intro h2 em{color:var(--green-2)}
.page-hero-copy>p:not(.eyebrow){font-size:12px;line-height:1.95;color:#696a62;max-width:470px;margin-bottom:23px}
.page-hero-image{height:500px;min-height:100%}
.page-hero-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.76)}
.about-story{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw}
.about-story h2{font:500 clamp(34px,4vw,52px)/1.16 var(--serif);margin:0 0 19px}
.about-story>div p{font-size:12px;line-height:1.95;color:#686960;max-width:700px}
.about-pillars{display:grid;grid-template-columns:repeat(4,1fr);background:var(--green);color:#f5f1e8;padding:56px 8vw;gap:30px}
.about-pillars article>span{color:#d0b17d;font-size:9px}
.about-pillars h2{font:500 20px var(--serif);margin:16px 0 8px}
.about-pillars p{font-size:10px;line-height:1.85;color:#d5d7cf}
.page-cta{padding:82px 20px 90px;text-align:center;background:#e9e5da}
.page-cta h2{font:500 clamp(38px,4.5vw,58px)/1.15 var(--serif);margin:0 0 23px}
.page-cta>p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0 auto 20px}
.page-cta .button{margin-top:7px}
.simple-page-heading{padding:88px 10vw 45px;text-align:center;max-width:1060px;margin:auto}
.simple-page-heading .eyebrow{margin-bottom:15px}
.simple-page-heading h1{margin-bottom:16px}
.simple-page-heading>p:last-child{max-width:660px;margin:0 auto;font-size:12px;line-height:1.9;color:var(--muted)}
.catalogue-page-section,.fabrics-list-section{padding:30px 9vw 85px}
.catalogue-filters{justify-content:center;flex-wrap:wrap;margin-bottom:25px}
.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalogue-card[hidden]{display:none}
.catalogue-page-section .catalogue-card-copy{min-height:250px}
.fabric-options-wide{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:#f4f1e8}
.fabric-options-wide article{padding:43px 10vw;border-right:1px solid #ffffff35}
.fabric-options-wide article>span{color:#d1b27e;font-size:9px}
.fabric-options-wide h2{font:500 27px var(--serif);margin:13px 0}
.fabric-options-wide p{font-size:10px;line-height:1.85;color:#d3d5cd;max-width:390px}
.fabric-options-wide .text-link{display:inline-block;color:white;margin-top:7px}
.fabric-catalogue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.fabric-card{background:#f0ede5}
.fabric-card>img,.fabric-swatch{width:100%;height:230px;object-fit:cover}
.fabric-swatch{display:grid;place-items:center;background:linear-gradient(130deg,#e6dfd0,#c7bda8);font-size:33px;color:#9a855e}
.fabric-card-copy{padding:20px}
.fabric-card-copy .eyebrow{margin:0 0 7px;font-size:8px}
.fabric-card-copy h2{font:500 22px var(--serif);margin:0 0 10px}
.fabric-card-copy>p:not(.eyebrow){font-size:10px;line-height:1.8;color:var(--muted)}
.fabric-card-copy dl{margin:15px 0}
.fabric-card-copy dl div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #d7d2c7;padding:8px 0;font-size:9px}
.fabric-card-copy dt{color:var(--muted)}
.fabric-card-copy dd{margin:0;text-align:right}
.fabric-card-copy .availability{color:#76633f}
.fabric-card-copy .text-link{display:inline-block;font-size:9px}
.timeline-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}
.timeline-intro h2{font:500 clamp(37px,4vw,53px)/1.13 var(--serif);margin:0 0 16px}
.timeline-intro>p:last-child{font-size:11px;line-height:1.85;color:var(--muted);max-width:310px}
.tailoring-timeline article{display:grid;grid-template-columns:44px 1fr 20px;gap:16px;align-items:start;padding:21px 0;border-top:1px solid var(--line)}
.tailoring-timeline article>span:first-child{font-size:9px;color:var(--gold);padding-top:5px}
.tailoring-timeline h2{font:500 21px var(--serif);margin:0 0 6px}
.tailoring-timeline p{font-size:10px;line-height:1.75;color:var(--muted);margin:0}
.timeline-star{color:var(--gold);font-size:14px}
.timeline-note{grid-column:2;font-size:9px;line-height:1.7;color:#89877c;background:#f0ede5;padding:13px 16px}
.contact-page-heading{max-width:900px}
.contact-page-grid{padding:32px 10vw 95px;background:#e9e5da;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.contact-info-panel{padding:15px 0}
.contact-info-panel h2{font:500 35px/1.18 var(--serif);margin:0 0 14px}
.contact-info-panel>p:not(.eyebrow){font-size:11px;line-height:1.8;color:var(--muted)}
.contact-info-panel dl{margin:25px 0}
.contact-info-panel dl div{padding:12px 0;border-top:1px solid #c9c4b8}
.contact-info-panel dt{font-size:8px;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}
.contact-info-panel dd{font-size:11px;margin:6px 0 0}
.contact-info-panel dd a{border-bottom:1px solid #bdb6a5}
.settings-placeholder{font-size:10px;line-height:1.7;background:#f6f0e5;padding:12px;color:#77746a}
.contact-page-grid .enquiry-form{align-self:start}
.contact-page-grid .success-message a{display:inline-block;margin-left:8px;color:var(--green);text-decoration:underline}
.privacy-note a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.privacy-page{min-height:65vh;max-width:760px;margin:0 auto;padding:100px 30px 120px}
.privacy-page h1{font-size:clamp(48px,7vw,78px);margin-bottom:24px}
.privacy-page>p:not(.eyebrow){font-size:14px;line-height:2;color:#63645c;max-width:650px}
.privacy-page>p a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.privacy-page .privacy-updated{font-size:10px;color:#8f8e83;margin-top:38px}

/* Private shop administration */
.admin-body{background:#f2f0e9;min-height:100vh}
.admin-login{width:min(460px,calc(100% - 36px));margin:9vh auto;background:#fbf9f4;padding:42px}
.admin-login>.brand{margin-bottom:48px}
.admin-login h1,.admin-heading h1{font:500 clamp(38px,5vw,52px)/1.1 var(--serif);letter-spacing:-.04em;margin:0 0 10px}
.admin-login h1 em,.admin-heading h1 em{color:var(--green-2)}
.admin-muted{font-size:11px;color:var(--muted);line-height:1.7}
.admin-login form>label{display:block;font-size:10px;margin:18px 0}
.admin-login input:not([type=checkbox]){width:100%;display:block;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:transparent;font:12px var(--sans)}
.admin-login .remember{display:flex;align-items:center;gap:8px;color:var(--muted)}
.admin-login .button{width:100%;justify-content:space-between}
.admin-back{display:block;margin-top:25px;font-size:10px;color:var(--muted)}
.admin-top{height:72px;background:#fbf9f4;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid #e0ddd3}
.admin-top>div{display:flex;align-items:center;gap:18px}
.admin-user{font-size:10px;color:var(--muted)}
.admin-logout{border:0;background:none;color:var(--green);font:600 10px var(--sans);cursor:pointer}
.admin-main{max-width:1180px;margin:auto;padding:58px 28px 100px}
.admin-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}
.admin-heading .eyebrow{margin-bottom:10px}
.admin-heading .button{height:42px}
.admin-nav{position:sticky;top:0;z-index:8;background:#fbf9f9ef;backdrop-filter:blur(12px);display:flex;gap:22px;padding:14px 18px;margin:0 0 28px;overflow:auto;border:1px solid #e3dfd5}
.admin-nav a{white-space:nowrap;font-size:10px;color:#606158}
.admin-section{scroll-margin-top:75px;background:#fbf9f4;margin:18px 0;padding:26px}
.admin-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}
.admin-section-heading .eyebrow{margin:0 0 6px}
.admin-section-heading h2{font:500 27px var(--serif);margin:0}
.admin-count{font-size:9px;color:var(--muted)}
.admin-record{display:grid;grid-template-columns:1fr auto;gap:18px;padding:18px 0;border-top:1px solid var(--line);align-items:start}
.record-title{font:500 17px var(--serif);margin-bottom:5px}
.admin-record p{font-size:10px;line-height:1.7;color:#67685e;margin:3px 0}
.admin-record small{font-size:8px;color:#89877c}
.record-message{white-space:pre-line}
.admin-record form{display:flex;align-items:center;gap:7px}
.admin-record select,.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea{background:transparent;border:1px solid #d3cfc2;padding:9px;font:10px var(--sans);max-width:100%}
.admin-record select{max-width:130px}
.small-button{border:1px solid var(--green);padding:9px 13px;background:var(--green);color:white;font:600 9px var(--sans);cursor:pointer}
.button-danger{background:transparent;color:#8e4436;border-color:#c5a198}
.record-actions{display:flex;gap:8px}
.status-pill{font:600 8px var(--sans);border-radius:20px;padding:5px 8px;background:#e8e1d3;color:#655c4c;vertical-align:middle}
.status-contacted{background:#e2e7ed;color:#465a73}
.status-completed{background:#dfebe1;color:#356144}
.status-archived{background:#e8e7e2;color:#696a63}
.admin-record .review-stars{color:#a57d3f}
.admin-empty{padding:18px;background:#f4f1e9;font-size:10px;color:var(--muted)}
.admin-pagination{margin-top:12px;font-size:10px}
.admin-editor{background:#f4f1e9;padding:18px;margin:15px 0}
.admin-editor h3{font:500 18px var(--serif);margin:0 0 13px}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 15px;margin-bottom:14px}
.admin-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:9px;color:#5e5f56}
.admin-form-grid .field-wide{grid-column:1/-1}
.admin-form-grid textarea{resize:vertical}
.admin-list-item{padding:11px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);font-size:10px}
.admin-list-item em{font-style:normal;color:#8b6938;font-size:8px;background:#f0e8d9;padding:4px 7px}
.admin-hint{font-size:9px;color:var(--muted);line-height:1.7}
.admin-alert,.admin-success{padding:12px 15px;margin:14px 0;font-size:10px;background:#f4e5e2;color:#883b30}
.admin-success{background:#e1ede3;color:#2e6241}
.admin-top form{margin:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:1000px){
  .catalogue-grid,.fabric-catalogue-grid{grid-template-columns:repeat(2,1fr)}
  .page-hero-copy{padding:60px 6vw}.page-hero-image{height:450px}
  .about-pillars{padding:45px 6vw;grid-template-columns:repeat(2,1fr)}
  .home-fabrics{padding:58px 7vw}.reviews-section{padding:75px 7vw}
  .review-invite{gap:4vw}.contact-page-grid{padding:30px 7vw 75px;gap:5vw}
  .admin-main{padding:45px 20px 75px}
}
@media(max-width:700px){
  .why-section{grid-template-columns:1fr;gap:15px}.why-grid{gap:0 17px}.why-grid h3{font-size:17px}
  .catalogue-grid,.fabric-catalogue-grid{grid-template-columns:1fr}.catalogue-photo{height:310px}
  .catalogue-page-section,.fabrics-list-section{padding:25px 6vw 65px}.catalogue-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto}.catalogue-filters .filter-button{white-space:nowrap}
  .home-fabrics{grid-template-columns:1fr;padding:52px 7vw;gap:25px}
  .reviews-section{padding:67px 6vw}.reviews-heading{align-items:start;gap:20px;flex-direction:column}.review-grid{grid-template-columns:1fr}.review-invite{grid-template-columns:1fr;padding:20px;gap:15px}
  .page-hero{grid-template-columns:1fr}.page-hero-copy{padding:58px 7vw 40px}.page-hero-copy h1,.simple-page-heading h1{font-size:47px}.page-hero-image{height:330px;min-height:0}
  .about-story{grid-template-columns:1fr;gap:18px}.about-pillars{grid-template-columns:1fr 1fr;gap:25px 18px;padding:38px 7vw}.about-pillars h2{font-size:18px}
  .simple-page-heading{padding:64px 7vw 30px}.simple-page-heading>p:last-child{font-size:11px}
  .fabric-options-wide{grid-template-columns:1fr}.fabric-options-wide article{padding:30px 8vw;border-right:0;border-bottom:1px solid #ffffff35}
  .fabric-card>img,.fabric-swatch{height:220px}.timeline-section{grid-template-columns:1fr;gap:25px}.timeline-note{grid-column:1}
  .contact-page-grid{grid-template-columns:1fr;padding:28px 6vw 65px;gap:20px}.contact-info-panel h2{font-size:30px}
  .footer{grid-template-columns:1fr auto;padding:24px 6vw}.footer nav,.footer-contact{grid-column:1/3}.footer .back-top{grid-column:2;grid-row:1}.footer .copyright{grid-column:2;grid-row:2}.footer nav{gap:13px}.footer-contact{flex-direction:column;gap:8px}
  .admin-login{padding:30px 24px;margin:6vh auto}.admin-main{padding:30px 14px 65px}.admin-heading{align-items:start;gap:12px;flex-direction:column}.admin-heading h1{font-size:39px}.admin-section{padding:19px 14px}.admin-record{grid-template-columns:1fr;gap:12px}.record-actions{flex-wrap:wrap}.admin-form-grid{grid-template-columns:1fr}.admin-form-grid .field-wide{grid-column:auto}.admin-top{padding:0 4vw}.admin-top>div{gap:9px}.admin-user{font-size:8px}.admin-list-item{align-items:start}.admin-nav{gap:15px;padding:12px}.form-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.catalogue-photo img{transition:none}}
.admin-edit{border-top:1px solid var(--line);padding:11px 0;font-size:10px}
.admin-edit>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--green);font-weight:600;list-style:none}
.admin-edit>summary::-webkit-details-marker{display:none}
.admin-edit>summary::after{content:'＋';color:var(--gold);font-size:15px}
.admin-edit[open]>summary::after{content:'−'}
.admin-edit>form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:15px;background:#f4f1e9;margin-top:12px}
.admin-edit>form label{display:flex;flex-direction:column;gap:5px;font-size:9px;color:#5e5f56}
.admin-edit>form input,.admin-edit>form textarea,.admin-edit>form select{padding:8px;border:1px solid #d3cfc2;background:transparent;font:10px var(--sans)}
.admin-edit>form textarea{min-height:55px;resize:vertical}
.admin-edit>form button{justify-self:start}
.admin-edit>form .button-danger{grid-column:2}
@media(max-width:700px){.admin-edit>form{grid-template-columns:1fr}}
