
/* Offline-safe: system font stacks replace blocking third-party Google Fonts request. */
:root{--paper:#fcfaf7;--cream:#f4eee6;--ink:#25231f;--taupe:#b99a72;--dark:#161616;--border:#e3d9cb;--body:#5f5b54}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:400}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #9b6f2f;outline-offset:3px}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.04em}h1{font-size:clamp(3.1rem,5.3vw,6.8rem);line-height:1.02}h2{font-size:clamp(2.15rem,3.4vw,4.3rem);line-height:1.16}h3{font-size:clamp(1.45rem,2.0vw,2.15rem);line-height:1.2}p{color:var(--body);line-height:1.7}small{color:var(--body)}.kicker{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#937249;font-weight:700}.wrap{max-width:1470px;margin:0 auto;padding:0 clamp(22px,4.4vw,75px)}.notice{background:#1d1b19;color:#e3d8c6;padding:8px 18px;text-align:center;text-transform:uppercase;letter-spacing:.11em;font-size:10px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:36px;background:#f5f1eb;padding:8px max(calc((100% - 1320px)/2),4.5vw);color:#655d52;font-size:11px}.masthead{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;min-width:250px}.brand img{width:56px;height:56px;object-fit:contain;mix-blend-mode:multiply}.brand strong{font-weight:700;letter-spacing:.2em;font-size:18px;line-height:1.15}.brand span{display:block;letter-spacing:.18em;font-size:9px;margin-top:3px}.nav{display:flex;align-items:center;gap:clamp(15px,2.4vw,37px)}.nav a{font-size:12px;white-space:nowrap;transition:color .2s}.nav a:hover{color:#9d7442}.action{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:0 25px;background:#9d7449;border:1px solid #9d7449;color:white;letter-spacing:.02em;font-size:12px;transition:background .25s,transform .25s}.action:hover{background:#725232;transform:translateY(-2px)}.action.outline{background:transparent;color:#3d3228}.action.outline:hover{background:#f4e9da}.action.dark{background:#222;color:#fff;border-color:#222}.mobile-toggle{display:none;border:none;background:none;padding:8px;font-size:22px}.hero{display:grid;grid-template-columns:49% 51%;min-height:608px;background:#eee8df}.hero-copy{align-self:center;padding:70px max(40px,7vw) 70px max(25px,6.6vw)}.hero-copy h1{margin:21px 0 28px}.hero-copy h1 em{font-weight:400;color:#9b7751}.hero-copy p{max-width:380px;font-size:15px}.hero-actions{display:flex;gap:13px;margin-top:33px;flex-wrap:wrap}.hero-photo{position:relative;min-height:450px;overflow:hidden}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,232,223,.27),transparent 38%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:54% 50%;filter:saturate(.88)}.hero-photo .stamp{position:absolute;bottom:28px;right:30px;z-index:1;color:#534433;background:#f4eee6dc;padding:12px 17px;font-size:11px;letter-spacing:.17em;text-transform:uppercase}.proof{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:var(--paper);padding-top:24px;padding-bottom:24px}.proof article{text-align:center;font-size:12px;letter-spacing:.06em;border-right:1px solid #ded7cd}.proof article:last-child{border:0}.proof span{display:block;color:#8e6c45;font-size:10px;text-transform:uppercase;letter-spacing:.22em;margin-bottom:8px}.section{padding-top:95px;padding-bottom:95px}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}.section-intro h2{margin:8px 0 0}.textlink{border-bottom:1px solid #9a7a55;padding-bottom:5px;font-size:12px;color:#7b5d39;white-space:nowrap}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.collection-card{background:#f0e7dc;transition:transform .25s,box-shadow .25s;overflow:hidden}.collection-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px #32231416}.item-img{overflow:hidden;aspect-ratio:1.55}.item-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.collection-card:hover img{transform:scale(1.08)}.item-label{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;font-family:'Playfair Display',Georgia,serif;font-size:23px}.item-label span{font:18px 'DM Sans',sans-serif;color:#9d7449}.craft{display:grid;grid-template-columns:1fr 1fr;background:#24231f;color:#fff}.craft-photo{min-height:600px;position:relative;overflow:hidden}.craft-photo img{height:100%;width:100%;object-fit:cover;object-position:center 45%}.craft-details{padding:clamp(35px,6vw,110px);align-self:center}.craft-details h2{margin-top:12px}.craft-details p{color:#c9c1b3}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:40px 0 30px}.step-number{display:inline-grid;place-items:center;border:1px solid #bba27d;border-radius:50%;width:34px;height:34px;color:#d4b687;font-size:12px}.step strong{display:block;margin-top:13px;font-size:12px;font-weight:500}.step p{font-size:11px;line-height:1.5}.editorial{background:#efe8df}.editorial-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(25px,6vw,80px);align-items:center}.editorial-layout p{max-width:500px}.editorial-quote{padding:55px 45px;border-left:1px solid #c7b6a0;position:relative}.editorial-quote::before{content:'“';position:absolute;top:0;left:40px;font:120px 'Playfair Display',serif;color:#d4b995;opacity:.4}.editorial-quote p{position:relative;color:#292723;font:clamp(1.35rem,2vw,2rem)/1.5 'Playfair Display',serif}.editorial-quote small{letter-spacing:.1em}.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.path{border:1px solid #e2d6c7;padding:38px 30px;min-height:290px;display:flex;flex-direction:column;align-items:flex-start;transition:background .2s}.path:hover{background:#f4eadc}.path h3{margin:20px 0 13px}.path p{font-size:13px}.path a{margin-top:auto}.reputation{background:#272520;color:#fff}.reputation h2{color:#fff}.reputation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.quote{background:#35322c;padding:30px;min-height:215px}.quote p{color:#f5efe7;font:18px/1.55 'Playfair Display',Georgia,serif}.quote small{color:#c6b8a3}.quote .mark{font-size:25px;color:#c19c70}.contact{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.contact h2{margin-top:12px}.info{padding:35px;background:#f0e9df;display:grid;gap:18px}.info-line{border-bottom:1px solid #d9cdbd;padding-bottom:18px}.info-line:last-child{border-bottom:none;padding-bottom:0}.info-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#896840}.info-line strong{font-size:16px;font-weight:500}.footer{background:#161616;color:#ebe8e1;padding:56px 0 24px}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-logo{letter-spacing:.14em;font-size:21px;font-weight:700}.footer-logo span{display:block;letter-spacing:.12em;font-size:9px}.footer h4{font-weight:500;font-size:13px}.footer a,.footer p{display:block;color:#bbb4a9;font-size:12px;line-height:2}.copyright{border-top:1px solid #363330;margin-top:40px;padding-top:18px;font-size:11px;color:#81796e}.mobile-panel{display:none}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:99;padding:13px 20px;background:#292520;color:white;font-size:12px;box-shadow:0 10px 30px #2223;display:none}.toast.show{display:block}.concept{padding:14px 20px;background:#eee5d8;color:#6a5239;text-align:center;font-size:11px;line-height:1.5}
@media(max-width:1100px){.nav{display:none}.mobile-toggle{display:block}.masthead>.action{margin-left:auto}.mobile-panel.open{display:grid;grid-template-columns:repeat(2,1fr);padding:18px 22px 26px;gap:13px;border-top:1px solid #e9e2d7}.mobile-panel a{font-size:13px;padding:9px 0}.hero{min-height:520px}.hero-copy{padding-left:40px;padding-right:25px}.hero-copy h1{font-size:clamp(3.2rem,5vw,5rem)}}
@media(max-width:760px){.notice{font-size:9px}.topbar{display:none}.masthead{height:69px}.brand{min-width:0;gap:8px}.brand img{width:43px;height:43px}.brand strong{font-size:13px}.brand span{font-size:7px}.masthead>.action{display:none}.hero{grid-template-columns:1fr;display:flex;flex-direction:column-reverse}.hero-photo{min-height:340px}.hero-copy{padding:52px 24px 58px}.hero-copy h1{font-size:clamp(3.3rem,11vw,5rem)}.hero-photo .stamp{bottom:15px;right:16px;font-size:9px}.proof{grid-template-columns:1fr;gap:15px}.proof article{border-right:none;border-bottom:1px solid #eee3d8;padding-bottom:13px}.proof article:last-child{border:0}.section{padding-top:65px;padding-bottom:65px}.section-intro{display:block}.section-intro .textlink{display:inline-block;margin-top:15px}.collection-grid{grid-template-columns:repeat(2,1fr);gap:9px}.item-img{aspect-ratio:1.1}.item-label{font-size:17px;padding:14px 10px}.craft{grid-template-columns:1fr}.craft-photo{min-height:410px;max-height:500px}.craft-details{padding:55px 25px}.editorial-layout{grid-template-columns:1fr}.editorial-quote{padding:35px;border-left:0;border-top:1px solid #c7b6a0}.editorial-quote::before{left:30px}.paths{grid-template-columns:1fr}.path{min-height:210px;padding:25px}.reputation-grid{grid-template-columns:1fr}.quote{min-height:0}.contact{grid-template-columns:1fr;gap:15px}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner>div:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Non-production preview UI */
.preview-tools{position:fixed;z-index:80;right:16px;bottom:16px;display:flex;align-items:end;gap:9px;flex-direction:column;font:13px/1.45 'DM Sans',Arial,sans-serif}
.preview-tools button,.lab button,.lab select,.lab input,.dialog button,.dialog input,.dialog select,.dialog textarea{font:inherit}
.lab-launch{background:#1e1b18;color:#fff;border:1px solid #a58a68;padding:12px 17px;box-shadow:0 8px 26px #0002;cursor:pointer}
.lab{display:none;background:#fff;color:#24211e;box-shadow:0 18px 64px #0004;width:min(350px,calc(100vw - 32px));max-height:78vh;overflow-y:auto;padding:20px;border:1px solid #ded1c0}
.lab.open{display:block}.lab header{display:flex;align-items:center;justify-content:space-between;gap:10px}.lab h2{font:400 25px/1.1 Georgia,serif;margin:0}.lab p{font-size:12px;color:#6b6158}.lab label{display:block;margin:14px 0 6px;font-weight:600;font-size:12px}.lab input,.lab select{border:1px solid #c4b9aa;padding:10px;background:#fff;color:#25231f;width:100%}.lab-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.lab button:not(.tiny),.dialog .demo-submit{border:0;background:#8c6943;color:#fff;padding:11px;cursor:pointer}.lab button.secondary{background:#eee9e1;color:#27211a}.lab .tiny{border:0;background:none;cursor:pointer;font-size:22px;color:#4b4034}.lab-status{min-height:20px;font-size:12px;color:#694526;margin-top:10px}.demo-curtain{position:fixed;inset:0;z-index:100;background:#100f0eaf;display:none;align-items:center;justify-content:center;padding:16px}.demo-curtain.open{display:flex}.dialog{position:relative;background:#faf8f4;color:#2a241c;padding:clamp(22px,4vw,40px);width:min(570px,100%);max-height:93vh;overflow:auto}.dialog h2{margin:8px 0 16px;font-size:clamp(28px,3vw,43px)}.dialog .demo-close{position:absolute;right:14px;top:14px;border:0;background:none;font-size:28px;cursor:pointer}.dialog p{font-size:13px}.dialog label{display:block;font-size:12px;font-weight:600;margin:12px 0 5px}.dialog input,.dialog select,.dialog textarea{width:100%;border:1px solid #cabba8;padding:12px;background:#fff;color:#28231c}.dialog textarea{min-height:95px;resize:vertical}.dialog .demo-submit{margin-top:15px}.demo-note{background:#efe9df;padding:12px;font-size:12px;color:#5e5142}.dialog-message{padding-top:12px;font-weight:600;color:#5a4531}.preview-status{color:#665a4b;font-size:10px}
@media(max-width:650px){.preview-tools{right:10px;bottom:10px}.lab{max-height:72vh}.lab-launch{padding:11px 12px}}


/* 2026-10-23 research-backed staging refinement: discovery, finding, guidance, focus */
.skip-link{position:fixed;top:-100px;left:12px;z-index:140;background:#171512;color:white;padding:12px 16px}
.skip-link:focus{top:12px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #94652e;outline-offset:4px}
.intent-option,.category-filter{font:inherit;cursor:pointer;background:transparent;color:#3b342b;border:1px solid #ccbcaa;padding:12px 18px;min-height:44px;transition:background .17s,border-color .17s}
.intent-option.active,.category-filter.active{background:#2b2925;color:#fff;border-color:#2b2925}
.intent-option:hover,.category-filter:hover{border-color:#886943}
.discovery{padding-top:72px;padding-bottom:74px}
.discovery-intro{font-size:15px;max-width:610px;margin:-10px 0 25px}
.intent-options,.category-tabs{display:flex;flex-wrap:wrap;gap:9px}
.intent-result{margin-top:19px;background:#ede4d7;border:1px solid #e2d4c1;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:32px 36px}
.intent-result h3{margin:11px 0;font-size:clamp(24px,3vw,36px);font-family:'Playfair Display',Georgia,serif;font-weight:400}
.intent-result p{font-size:14px;max-width:610px;margin:0}
.intent-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;flex-shrink:0;min-width:170px}
.discovery-footnote,.collection-caption{font-size:11px;color:#776c5f;margin:12px 0 0}
.collection-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px}
.category-filter{font-size:12px;padding:10px 14px}
.category-count{color:#7e6f5f;font-size:12px;white-space:nowrap}
.collection-card[hidden]{display:none!important}
.service-guide{background:#f1eae1}
.guidance-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.guidance-card{background:#fcfaf7;border:1px solid #dfd2c3;padding:clamp(22px,4vw,42px);display:flex;align-items:flex-start;flex-direction:column}
.guidance-card h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(27px,3vw,39px);font-weight:400;line-height:1.2;margin:18px 0}
.guidance-card p{font-size:14px;line-height:1.7}.guidance-card .guide-note{color:#756551;font-size:12px;border-top:1px solid #e4d9ca;padding-top:15px}
.guidance-card a{margin-top:auto}
.questions{max-width:830px;margin:50px auto 0}.questions h3{font-size:clamp(25px,3vw,32px);font-family:'Playfair Display',Georgia,serif;font-weight:400}
.questions details{border-bottom:1px solid #cfc1af;padding:16px 0}.questions summary{cursor:pointer;font-size:14px;font-weight:500;list-style:none;padding-right:25px;position:relative}
.questions summary::after{content:'+';position:absolute;right:5px;font-size:20px;top:-5px}.questions details[open] summary::after{content:'−'}
.questions details p{margin:14px 0 4px;font-size:13px;max-width:740px}
@media(max-width:860px){.intent-result{flex-direction:column;align-items:stretch}.intent-actions{flex-direction:row;flex-wrap:wrap;align-items:center}.collection-controls{display:block}.category-count{margin-top:15px}.guidance-columns{grid-template-columns:1fr}}
@media(max-width:620px){.discovery{padding-top:52px;padding-bottom:52px}.intent-option{font-size:12px;flex:1 1 40%;padding:10px}.intent-result{padding:23px}.intent-actions{align-items:flex-start;flex-direction:column}.category-filter{font-size:11px}.guidance-card{padding:25px}.questions{margin-top:35px}}

/* Staging service-detail pages — accessible responsive editorial template */
.service-page{background:#fcfaf7;color:#28241f}.service-shell{max-width:1180px;margin:auto;padding:0 28px}.service-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid #ded5ca}.service-top .service-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#28241f;letter-spacing:.16em;font-size:13px;font-weight:700}.service-logo img{width:43px;height:43px;object-fit:contain}.service-top nav{display:flex;flex-wrap:wrap;gap:22px}.service-top nav a{font-size:13px;color:#3d342b;text-decoration:none}.service-hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:55px;padding:90px 0 80px;border-bottom:1px solid #dfd5c7}.service-hero h1{font:400 clamp(44px,6vw,82px)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:14px 0 24px}.service-hero p{font-size:17px;line-height:1.75;max-width:620px}.service-art{background:#eee5d9;padding:25px;position:relative}.service-art img{display:block;width:100%;height:380px;object-fit:cover}.service-art small{display:block;font-size:11px;line-height:1.5;margin-top:12px;color:#685d4d}.service-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8b673f}.service-cta{display:inline-block;padding:15px 24px;background:#2c2925;color:#fff;text-decoration:none;font-size:13px;margin:18px 12px 0 0}.service-cta.alt{background:transparent;color:#2c2925;border:1px solid #8b795f}.service-section{padding:72px 0;border-bottom:1px solid #dfd5c7}.service-section h2{font:400 clamp(30px,4vw,48px)/1.2 'Playfair Display',Georgia,serif;margin:10px 0 30px}.service-section>p{max-width:780px;line-height:1.75}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{border:1px solid #d9ccba;padding:28px;background:#fff}.service-card h3{font:400 25px/1.25 'Playfair Display',Georgia,serif;margin:15px 0}.service-card p{font-size:14px;line-height:1.7}.service-checklist{display:grid;grid-template-columns:1fr 1fr;gap:40px}.service-checklist li{margin:12px 0;line-height:1.65}.service-questions{max-width:830px}.service-questions details{border-bottom:1px solid #d9ccba;padding:18px 0}.service-questions summary{cursor:pointer;font-weight:600;padding:4px 0}.service-questions p{line-height:1.7}.service-footer{background:#25211d;color:#f6f0e8;margin-top:40px;padding:36px 0}.service-footer a{color:#f6f0e8}.service-footer p{font-size:13px}.service-banner{padding:10px 20px;text-align:center;font-size:11px;letter-spacing:.06em;background:#efe3d2;color:#51402c}.service-breadcrumb{font-size:12px;margin-top:30px;color:#746656}.service-breadcrumb a{color:inherit}.service-approval{background:#f3ede4;padding:20px;margin-top:28px;font-size:13px;line-height:1.7;border-left:3px solid #b68a53}
@media(max-width:820px){.service-hero{grid-template-columns:1fr;gap:30px;padding:45px 0}.service-grid{grid-template-columns:1fr}.service-checklist{grid-template-columns:1fr;gap:10px}.service-top{align-items:flex-start;flex-direction:column}.service-top nav{gap:14px}.service-art img{height:320px}}
@media(max-width:460px){.service-shell{padding:0 18px}.service-top nav a{font-size:12px}.service-hero h1{font-size:43px}.service-cta{display:block;text-align:center;margin:10px 0}.service-art img{height:240px}}

/* Independent staging iteration 02: collection and gift discovery */
.studio-landing-hero{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:clamp(28px,5vw,70px);padding:65px 0 76px;border-bottom:1px solid #dfd5c7}
.studio-landing-hero h1{font:400 clamp(43px,5.3vw,79px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.045em;margin:18px 0 25px}
.studio-landing-hero h1 em{color:#98764e;font-weight:400}.studio-landing-hero p{font-size:16px;max-width:620px}
.studio-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.studio-hero-image{background:#efe6d9;padding:16px}.studio-hero-image img{width:100%;height:390px;object-fit:cover}.studio-hero-image small{display:block;margin-top:10px;font-size:11px;line-height:1.5}
.studio-browse>p{max-width:780px}.studio-filter-controls{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 16px}.studio-filter{background:#fff;color:#3a332c;border:1px solid #b6a38c;padding:13px 19px;min-height:48px;font:500 13px 'DM Sans',Arial,sans-serif}.studio-filter.is-active{background:#27231e;color:#fff;border-color:#27231e}
.studio-filter-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:42px}.studio-filter-summary p{font-size:13px;margin:0}.studio-clear{background:transparent;color:#6d4e2b;border:0;text-decoration:underline;padding:9px;font-size:13px;min-height:42px}.studio-clear[hidden]{display:none}
.studio-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:15px}.studio-category-card{border:1px solid #e2d7c9;background:#fff;min-width:0}.studio-category-card[hidden]{display:none}.studio-category-card>img{width:100%;aspect-ratio:1.25;object-fit:cover;background:#e8dfd5}.studio-category-content{padding:23px}.studio-category-content h3{font:400 clamp(23px,2.3vw,31px)/1.2 'Playfair Display',Georgia,serif;margin:12px 0}.studio-category-content p{font-size:13px;min-height:66px}.studio-category-content a,.studio-text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #98734b;color:#634522;font-size:13px;font-weight:600;text-decoration:none}.studio-external{font-size:10px;margin-left:8px;color:#786b5e;font-weight:400}
.studio-gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.studio-gift-grid .service-card{display:flex;flex-direction:column}.studio-gift-grid .service-card p{flex:1}.studio-numbered{max-width:940px}.studio-numbered article{display:flex;gap:25px;border-bottom:1px solid #ded3c6;padding:22px 0}.studio-numbered article>strong{color:#92734e;font:400 27px Georgia,serif}.studio-numbered h3{font:400 28px 'Playfair Display',Georgia,serif;margin:0 0 10px}.studio-numbered p{margin:0}.studio-gifts-hero .studio-hero-image img{object-position:center}
@media(max-width:950px){.studio-landing-hero{grid-template-columns:1fr;padding:48px 0}.studio-hero-image img{height:340px}.studio-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-gift-grid{grid-template-columns:1fr}}
@media(max-width:570px){.studio-category-grid{grid-template-columns:1fr;gap:16px}.studio-category-content p{min-height:0}.studio-filter{flex:1 1 100%;text-align:left}.studio-landing-hero h1{font-size:43px}.studio-hero-image img{height:245px}.studio-hero-actions{display:block}.studio-hero-actions .service-cta{display:block;text-align:center;margin:10px 0}.studio-external{display:block;margin:5px 0 0}}

/* v5: editorial education hub and tap-target improvements */
.studio-learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.studio-learning-grid .service-card{display:flex;flex-direction:column}.studio-learning-grid .service-card p{flex:1}.studio-care-questions{margin-top:25px}.studio-care-questions summary{min-height:44px;display:flex;align-items:center;padding:10px 20px 10px 0}.studio-care-questions details p{padding:0 20px 12px 0}.studio-note-panel{background:#f3ede4;border-left:3px solid #aa855c;padding:22px 24px;margin-top:24px;font-size:14px;line-height:1.75;color:#494137}.studio-note-panel a{display:inline-block;color:#65441f;text-decoration:underline;text-underline-offset:4px;min-height:30px}.service-top nav a{display:inline-flex;align-items:center;min-height:44px}.service-top nav a[aria-current="page"]{color:#76502d;text-decoration:underline;text-underline-offset:5px}.service-breadcrumb a{display:inline-flex;align-items:center;min-height:30px}
@media(max-width:760px){.studio-learning-grid{grid-template-columns:1fr}.service-top nav{column-gap:18px;row-gap:2px}.service-top nav a{min-height:44px}}


/* v7 — search discovery, consistent navigation, responsive controls */
.service-top nav{column-gap:clamp(8px,1.1vw,15px);row-gap:2px}
.service-top nav a{font-size:12px}
.site-search{max-width:1000px;margin:auto}
.site-search h1{font:400 clamp(42px,6vw,74px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:18px 0 22px}
.site-search>p{max-width:720px}
#site-search-form{margin:30px 0 15px}
#site-search-form label{display:block;font-weight:600;font-size:14px;margin-bottom:10px}
.site-search-field{display:flex;gap:10px;align-items:stretch}
.site-search-field input{min-width:0;flex:1;border:1px solid #ad9d87;background:#fff;color:#29251f;padding:16px;font:16px 'DM Sans',Arial,sans-serif;border-radius:0}
.site-search-field button{margin:0;min-width:115px}
.site-search-suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0 40px;font-size:13px}
.site-search-suggestions a{padding:8px 12px;border:1px solid #c9b9a5;text-decoration:none;color:#674c2d}
.site-search-count{font-size:26px!important;margin-bottom:16px!important}
.site-search-results{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.site-search-result,.site-search-empty{background:#fff;border:1px solid #ded2c4;padding:20px 24px}
.site-search-result-link{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:17px;color:#30271d;text-decoration:none}
.site-search-result-link span{font-size:12px;color:#8b653a;white-space:nowrap}
.site-search-result p{font-size:13px;margin:9px 0 0}
.site-search-empty{font-size:14px;line-height:1.7}
@media(max-width:1140px){.masthead{gap:12px}.masthead .nav{gap:13px}.masthead .nav a{font-size:11px}.masthead .brand{min-width:205px}.masthead>.action{padding:0 12px}}
@media(max-width:980px){.masthead .nav{display:none}.mobile-toggle{display:block}.mobile-panel{display:none}.mobile-panel.open{display:flex;flex-wrap:wrap;gap:10px;padding:14px 24px;background:#f5f1eb}.mobile-panel.open a{padding:12px;min-height:44px;display:inline-flex;align-items:center}}
@media(max-width:620px){.site-search-field{flex-direction:column}.site-search-field button{min-height:48px}.site-search-result-link{align-items:flex-start}.site-search{padding-top:45px}.service-top nav{column-gap:12px}}
/* WebP picture elements preserve original hero image fill and crop. */
.hero-photo picture,.craft-photo picture{display:block;width:100%;height:100%}
/* Prevent picture wrappers from collapsing on narrow hero layouts. */
.hero-photo picture,.craft-photo picture{position:absolute;inset:0;width:100%;height:100%}
.hero-photo picture img,.craft-photo picture img{width:100%;height:100%;object-fit:cover}


/* v8 — progressive-enhancement navigation and private consultation planning */
.service-menu-toggle{display:none;min-height:44px;padding:9px 18px;border:1px solid #8f7456;background:transparent;color:#31291f;font:600 14px Arial,sans-serif;cursor:pointer}
.service-menu-toggle:focus-visible,.planner-section :is(button,select,textarea):focus-visible{outline:3px solid #9b6f2f;outline-offset:3px}
.planner-section{background:#f5f0e9;border:1px solid #e5d9cb;padding:clamp(22px,4vw,50px);margin:40px 0}
.planner-section>p{max-width:760px}
.planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 25px;margin:30px 0 18px}
.planner-field label{display:block;font-size:14px;font-weight:700;margin:0 0 9px;color:#31271e}
.planner-field select,.planner-field textarea{display:block;width:100%;min-height:48px;border:1px solid #ab9983;background:#fff;color:#29251f;padding:12px;font:16px Arial,sans-serif;border-radius:0}
.planner-field textarea{min-height:95px;resize:vertical}
.planner-field small{display:block;margin-top:6px;line-height:1.6}
.planner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px}
.planner-actions .service-cta{margin:0;min-height:48px;cursor:pointer}
.planner-result{margin-top:28px;padding:25px;background:#fff;border-left:4px solid #96754d}
.planner-result h3{margin-bottom:12px}
.planner-result dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:10px 15px;margin:22px 0}
.planner-result dt{font-size:13px;font-weight:700;color:#6d563b}
.planner-result dd{margin:0;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
#planner-status{font-size:13px;margin-top:12px}
@media(max-width:880px){
 .service-top{flex-wrap:wrap;gap:10px}
 .service-menu-enhanced .service-menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
 .service-menu-enhanced .service-top nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 14px}
 .service-menu-enhanced .service-top nav.is-open{display:flex}
 .service-menu-enhanced .service-top nav a{width:100%;padding:10px 12px;min-height:44px}
}
@media(max-width:620px){.planner-grid{grid-template-columns:1fr}.planner-section{margin:25px 0}.planner-result dl{grid-template-columns:1fr;gap:3px}.planner-result dd{margin-bottom:12px}}

/* v9 — independent category discovery */
.category-detail-hero h1{max-width:700px}.category-detail-hero .studio-hero-image img{aspect-ratio:1.23;object-fit:cover}
.category-demo-note{font-size:13px!important;color:#645748;max-width:760px;margin:24px 0 0;line-height:1.65}
.category-guide-grid{margin-top:26px}.category-guide-grid .service-card{min-height:220px}
.category-related{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 30px}
.category-related-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #a98e6b;color:#4c3421;text-decoration:none;background:#fff;font-size:14px}
.category-related-link:hover,.category-related-link:focus-visible{background:#eee3d3}
.category-faq .service-questions{max-width:920px}
.category-faq .service-questions summary{min-height:48px;cursor:pointer}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #815522;outline-offset:3px}
html{scroll-padding-top:95px}
@media(max-width:600px){.category-guide-grid .service-card{min-height:0}.category-related-link{width:100%}.category-detail-hero .studio-hero-image img{height:auto}}


/* v10 — independent, privacy-preserving visit preparation */
.planner-hero .planner-privacy{font-size:13px;max-width:540px;margin-top:25px;color:#5d5145}
.visit-lead{max-width:760px}.visit-planner-form{max-width:950px;margin-top:34px}
.visit-planner-form fieldset{border:1px solid #dfd2c3;background:#faf7f2;padding:clamp(18px,3vw,34px);margin:0 0 22px;min-width:0}
.visit-planner-form legend{font-family:Georgia,serif;font-size:clamp(20px,2.5vw,27px);padding:0 10px;color:#31291e}
.planner-step{display:inline-flex;align-items:center;justify-content:center;background:#28231e;color:#fff;border-radius:50%;width:36px;height:36px;font:13px Arial,sans-serif;margin-right:8px}
.visit-planner-form label{display:block;font-size:14px;font-weight:650;color:#332a21;margin:16px 0 8px}
.visit-planner-form select,.visit-planner-form textarea{display:block;width:100%;max-width:100%;min-height:48px;background:#fff;border:1px solid #9e8a72;padding:12px;color:#2b2723;font:16px Arial,sans-serif;border-radius:0}
.visit-planner-form textarea{resize:vertical;min-height:108px}
.visit-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 22px}
.visit-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:20px 0 22px}
.visit-checklist label{display:flex;gap:12px;align-items:flex-start;min-height:44px;margin:0;font-weight:500;line-height:1.45}
.visit-checklist input{width:20px;height:20px;flex:0 0 auto;accent-color:#7d5a32}
.visit-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}
.visit-actions button{cursor:pointer;min-height:48px}
.visit-secondary{border:1px solid #9d7952;color:#4d3523;background:#fff;padding:12px 23px;font:600 14px Arial,sans-serif}
.visit-secondary:hover{background:#f1e6d8}
.visit-status{font-size:14px;min-height:1.5em}
.field-help{font-size:12px;line-height:1.6;color:#615449;margin:8px 0 0}
.visit-question-guide{margin:18px 0 0;padding:18px 20px;background:#f8f2ea;border:1px solid #d8c7b1;border-left:4px solid #8a663d;color:#35291f}
.visit-question-guide h3{font:600 clamp(17px,2vw,20px)/1.35 Georgia,serif;margin:0 0 10px}
.visit-question-guide p{margin:0;line-height:1.65}
.visit-question-guide ul{margin:0;padding-left:22px;display:grid;gap:9px;line-height:1.55}
.visit-question-guide ul[hidden]{display:none}
.visit-question-guide .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.visit-summary{background:#f4eee6;border-left:5px solid #8a663d;padding:clamp(22px,4vw,40px);max-width:950px;margin:35px 0}
.visit-summary h3{margin:15px 0}.visit-summary pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.8 Arial,sans-serif;color:#332a21}
.visit-next{border-top:1px solid #e1d5c7}
.visit-planner-intro{padding:15px 20px;background:#f7f0e8;border-left:3px solid #937249;margin:25px 0}
.visit-planner-intro a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:650px){.visit-field-grid,.visit-checklist{grid-template-columns:1fr}.visit-planner-form fieldset{padding:18px 16px}.visit-actions button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.service-banner,.service-top,.service-footer,.service-breadcrumb,.studio-landing-hero,.visit-planner-form,.visit-next,.visit-summary .visit-actions{display:none!important}.visit-summary{display:block!important;border:0;background:white;margin:0;padding:0}.service-section{padding:0!important}}

/* v11 — independent staging search recovery and shareable category discovery */
.site-search-field .site-search-reset{min-height:48px;min-width:78px;padding:0 16px;border:1px solid #9d8b75;background:#f7f2ea;color:#33281c;font-weight:600}
.site-search-reset[hidden],.site-search-recovery[hidden]{display:none!important}
.site-search-recovery{margin-top:22px;border-left:4px solid #8b673e;background:#f0e8dc;padding:24px}
.site-search-recovery>strong{font-family:Georgia,serif;font-size:22px;font-weight:400;color:#30261d}
.site-search-recovery p{margin:10px 0 16px;font-size:14px}
.site-search-recovery>div{display:flex;flex-wrap:wrap;gap:12px}
.site-search-recovery a{display:inline-flex;align-items:center;min-height:44px;padding:8px 13px;border:1px solid #bda88d;color:#49351f;font-weight:600;font-size:13px}
.site-search-recovery a:hover{background:#e4d6c4}
@media(max-width:620px){.site-search-field{display:grid;grid-template-columns:1fr auto}.site-search-field input{grid-column:1 / -1}.site-search-field .service-cta{min-width:0}.site-search-field .site-search-reset{min-width:95px}}


/* v12: accessible brand contrast, keyboard focus, and mobile hit areas.
   W3C WCAG 2.2 SC 1.4.3 / 2.4.11 / 2.5.8. */
:root{--brand-action:#78552f;--brand-text:#78552f}
.action:not(.outline):not(.dark){background:var(--brand-action);border-color:var(--brand-action);color:#fff}
.action:not(.outline):not(.dark):hover{background:#5e3f22;border-color:#5e3f22}
.kicker,.item-label span{color:var(--brand-text)}
.mobile-toggle{min-width:44px;min-height:44px}
.mobile-panel a{min-height:44px;align-items:center}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #76512d;outline-offset:3px}
main:focus{outline:none}
html{scroll-padding-top:100px}
@media(max-width:760px){html{scroll-padding-top:78px}}
@media(prefers-reduced-motion:reduce){.collection-card:hover,.action:hover{transform:none!important}}

/* v13 editorial destinations; all images and navigation remain local. */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}
.gallery-card{background:#fff;border:1px solid #ded5ca;min-width:0}
.gallery-card a{display:block;color:#342b22;text-decoration:none}
.gallery-card img{display:block;width:100%;height:auto;aspect-ratio:73/60;object-fit:cover}
.gallery-card-title{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 6px;font:400 24px/1.2 Georgia,serif}
.gallery-card p{font-size:12px;line-height:1.6;padding:0 18px 15px;margin:0;color:#62584e}
.gallery-card a:focus-visible{outline:3px solid #674522;outline-offset:3px}
.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.journal-grid .service-card{display:flex;flex-direction:column;align-items:flex-start}
.journal-grid .service-card p{flex:1}
@media(max-width:820px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.gallery-grid,.journal-grid{grid-template-columns:1fr}}

/* v14 — accessible full-size concept gallery, with native modal focus management. */
.gallery-instructions{font-size:14px;line-height:1.7;max-width:720px;color:#5a4b3d}
.gallery-card{display:flex;flex-direction:column}
.gallery-card>a{flex:1}
.gallery-zoom{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:48px;margin:0 18px 18px;padding:9px 13px;border:1px solid #8c6b48;background:#f8f3ec;color:#3b2b1d;font:600 13px Arial,sans-serif}
.gallery-zoom:hover{background:#eee1d0}
.gallery-dialog{width:min(96vw,960px);max-height:92dvh;overflow:auto;border:1px solid #bca17d;padding:0;background:#fcfaf7;color:#2c251d;box-shadow:0 24px 80px #0008}
.gallery-dialog::backdrop{background:rgba(18,15,12,.82)}
.gallery-dialog-panel{padding:clamp(14px,3vw,30px)}
.gallery-dialog-top,.gallery-dialog-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.gallery-dialog-close,.gallery-dialog-actions button,.gallery-dialog-actions a{border:1px solid #8c6b48;background:#fff;color:#332718;min-height:44px;padding:10px 16px;cursor:pointer;text-decoration:none;font:600 13px Arial,sans-serif}
.gallery-dialog-close:hover,.gallery-dialog-actions button:hover,.gallery-dialog-actions a:hover{background:#f1e7d8}
.gallery-dialog figure{margin:15px 0 0}
.gallery-dialog figure img{display:block;max-height:min(62dvh,650px);width:100%;height:auto;object-fit:contain;background:#ede4d8}
.gallery-dialog figcaption{font:400 clamp(22px,3vw,30px)/1.3 Georgia,serif;margin-top:13px}
.gallery-dialog p{font:13px/1.6 Arial,sans-serif;color:#635444}
.gallery-dialog-actions{border-top:1px solid #d6c6b4;padding-top:16px;margin-top:12px}
.gallery-dialog-actions a{background:#78552f;color:#fff}
.gallery-dialog-actions a:hover{background:#5e3f22;color:#fff}
@media(max-width:570px){.gallery-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.gallery-dialog-actions #gallery-position{text-align:center}.gallery-dialog-actions a{grid-column:1/-1;text-align:center}.gallery-dialog figure img{max-height:48dvh}}

/* v15 — accessible, offline category comparison. No inventory claims. */
.compare-intro{max-width:920px}.compare-intro h1{max-width:820px}.compare-privacy{padding:13px 17px;border-left:3px solid #8c6b48;background:#f4eee6;font-size:14px}
.compare-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:20px 0}.compare-controls p{margin:0;font-weight:600;color:#3c3023}.compare-controls button{min-height:44px;cursor:pointer}
.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.compare-card{border:1px solid #d8c6b1;background:#fff;min-width:0}.compare-card.is-selected{outline:3px solid #78552f;outline-offset:2px}.compare-card img{display:block;width:100%;height:auto;aspect-ratio:73/60;object-fit:cover}.compare-card>div{padding:16px 18px 20px}.compare-card h3{font-size:25px;margin:12px 0}.compare-card p{font-size:14px;line-height:1.6}.compare-card a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;color:#654424;font-weight:600}
.compare-choice{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-size:14px;font-weight:700}.compare-choice input{width:22px;height:22px;flex:none;accent-color:#78552f}.compare-choice:has(input:disabled){opacity:.52;cursor:not-allowed}
.compare-results{border-top:1px solid #e0d3c5}.compare-table-scroll{overflow-x:auto;max-width:100%;margin:24px 0}.compare-table-scroll:focus-visible{outline:3px solid #78552f}.compare-results table{width:100%;min-width:670px;border-collapse:collapse;background:#fff}.compare-results caption{text-align:left;padding:10px 0;font-size:13px;color:#5d5145}.compare-results th,.compare-results td{text-align:left;vertical-align:top;border:1px solid #e1d4c3;padding:17px 15px;font-size:14px;line-height:1.55}.compare-results thead th{background:#2c2823;color:#fff;font-size:15px}.compare-results tbody th{width:160px;background:#f2e9de;font-weight:700;color:#33291d}.compare-results td a{text-decoration:underline;text-underline-offset:3px;color:#654424}.compare-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.compare-actions button{cursor:pointer}.compare-disclaimer{font-size:13px;line-height:1.65;color:#615347;max-width:900px;margin-top:20px}
[hidden]{display:none!important}
@media(max-width:900px){.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:570px){.compare-grid{grid-template-columns:1fr}.compare-actions>*{width:100%;justify-content:center}.compare-results th,.compare-results td{padding:12px 10px}}
@media print{.service-banner,.service-top,.service-footer,.service-breadcrumb,.compare-intro,.compare-controls,.compare-grid,.compare-actions,.compare-disclaimer{display:none!important}.compare-results{border:0}.compare-table-scroll{overflow:visible}.compare-results table{min-width:0}}

/* v16: keyboard-friendly educational glossary and visible focus under sticky headers. */
html{scroll-padding-top:110px}
:where([id]){scroll-margin-top:110px}
:where(a,button,input,select,textarea,summary,[tabindex="0"]):focus-visible{outline:3px solid #78552f;outline-offset:3px}
.glossary-section>p{max-width:880px}.glossary-tools{padding:24px;background:#f2e9de;border:1px solid #dfd1bf;margin:26px 0}
.glossary-tools label{display:block;font-weight:700;font-size:14px;margin-bottom:10px}.glossary-search-row{display:flex;gap:10px}
.glossary-search-row input{flex:1;min-width:0;border:1px solid #8b765e;padding:14px 15px;background:#fff;color:#28231d;font:16px Arial,sans-serif}
.glossary-search-row button,.glossary-filters button{min-height:44px;border:1px solid #8b765e;background:#fff;color:#332719;padding:10px 16px;font:600 13px Arial,sans-serif}
.glossary-filters{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.glossary-filters button[aria-pressed="true"]{background:#27231e;color:#fff;border-color:#27231e}
.glossary-count{margin:15px 0 0;font-size:13px;color:#4e4337}.glossary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.glossary-card{min-width:0;border:1px solid #dfd3c4;background:#fff;padding:22px;display:flex;flex-direction:column;scroll-margin-top:120px}
.glossary-card dt{font:400 26px/1.2 Georgia,serif;color:#33271e;margin-bottom:12px}.glossary-card dd{margin:0 0 16px;color:#554b42;font-size:14px;line-height:1.7;flex:1}
.glossary-card a{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px;color:#664522;display:inline-flex;align-items:center;min-height:44px}
.glossary-empty{border:1px solid #dfd3c4;background:#fff;padding:24px}
@media(max-width:950px){.glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.glossary-grid{grid-template-columns:1fr}.glossary-search-row{flex-direction:column}.glossary-search-row button{width:100%}}
@media print{.glossary-tools,.glossary-card a{display:none!important}.glossary-card{break-inside:avoid}}

/* v17: Progressive enhancement, navigation resilience and no-JavaScript fallback. */
.nojs-note{padding:14px 22px;margin:0;background:#f3e7d4;color:#33281e;font-size:14px;line-height:1.6}
body:not(.js-enabled) .preview-tools{display:none!important}
@media(max-width:1100px){
 body:not(.js-enabled) .mobile-toggle{display:none!important}
 body:not(.js-enabled) .mobile-panel{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:15px 22px 22px;background:#f5f1eb;border-top:1px solid #e9e2d7}
 body:not(.js-enabled) .mobile-panel a{display:flex;align-items:center;min-height:44px;padding:8px 10px;font-size:13px}
}
@media(max-width:570px){body:not(.js-enabled) .mobile-panel{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.collection-card,.collection-card img,.action{transition:none!important;transform:none!important}}

/* v18: responsive category illustrations; preserve layout and image crop. */
.category-picture{display:block;max-width:100%;overflow:hidden}
.item-img>.category-picture{height:100%;width:100%}
.item-img>.category-picture>img{width:100%;height:100%;object-fit:cover}
.studio-category-card>.category-picture img{width:100%;aspect-ratio:1.25;object-fit:cover;background:#e8dfd5}
.gallery-card .category-picture img,.compare-card .category-picture img{width:100%;aspect-ratio:73/60;object-fit:cover}

/* v19: keyboard/pointer reachability. Generous targets also aid zoomed mobile layouts. */
.textlink{display:inline-flex;align-items:center;min-height:32px;padding:6px 0;line-height:1.4}
.info-line a{display:inline-flex;align-items:center;min-height:32px}
.site-search-result-link{min-height:44px;padding-block:8px}
.visit-checklist input,.compare-choice input{width:24px;height:24px;flex:0 0 24px}
:where(html){scroll-padding-bottom:24px}
:where(a,button,input,select,textarea,summary):focus-visible{scroll-margin-block:24px}

/* v20: review provenance is legible on the dark testimonial panel. */
.review-provenance{color:#ded4c6;font-size:12px;line-height:1.7;margin:-6px 0 23px}.review-provenance a{color:#f1d6a9;text-decoration:underline;text-underline-offset:3px}.review-provenance a:focus-visible{outline-color:#f1d6a9}

/* v21 — contact location: semantic address, legible visit guidance, responsive action targets. */
.service-question address{font-style:normal;font-size:15px;line-height:1.7;color:#33291f}.studio-hours-note{font-size:13px;line-height:1.65;margin:10px 0 0;color:#594e40}.studio-hero-actions .service-cta{min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
@media(max-width:460px){.studio-hero-actions .service-cta{display:flex;width:100%}}

/* v22: keep anchor targets clear and focus indicators visible in the preview. */
:where(a,button,input,select,textarea,summary,[tabindex="0"]):focus-visible{scroll-margin-top:110px;scroll-margin-bottom:24px}
@media(max-width:760px){:where(a,button,input,select,textarea,summary,[tabindex="0"]):focus-visible{scroll-margin-top:78px}}

/* v26 — Prevent intrinsic image/text widths from expanding responsive hero grids.
   Explicit minmax(0, ...) and min-width:0 allow image and CTA columns to shrink
   at 320px, tablet breakpoints and zoomed layouts without clipping content. */
.studio-landing-hero{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)}
.service-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.studio-landing-hero>*,.service-hero>*{min-width:0}
.studio-hero-image,.service-art{min-width:0;max-width:100%}
.studio-hero-image picture,.service-art picture{display:block;width:100%;min-width:0}
.studio-hero-image img,.service-art img{max-width:100%;min-width:0}
@media(max-width:950px){.studio-landing-hero{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){.service-hero{grid-template-columns:minmax(0,1fr)}}
@media(max-width:460px){.service-hero h1,.studio-landing-hero h1{overflow-wrap:break-word}}

/* v27: keep the optional editing controls from covering jewelry content on phones.
   The design lab remains available after the preview footer, not fixed over CTAs. */
@media(max-width:650px){
  .preview-tools{position:static;inset:auto;display:flex;align-items:stretch;gap:12px;padding:16px 18px;background:#efe8df}
  .preview-tools .lab-launch{width:100%;min-height:44px;text-align:center}
  .preview-tools .lab{width:100%;max-height:none;overflow:visible}
}

/* v33 — shared, intentionally small primary IA; keyboard-first disclosure navigation */
.service-top{align-items:center;gap:16px}
.service-top nav#service-primary-nav,.masthead .grouped-nav{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(5px,.75vw,12px)}
.nav-group{position:relative;flex:0 0 auto;font:600 13px Arial,sans-serif;color:#312b24}
.nav-group>summary{list-style:none;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 10px;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary span{font-size:14px;color:#876d4f;transition:transform .18s}
.nav-group[open]>summary span{transform:rotate(180deg)}
.nav-group>summary.contains-current,.nav-group[open]>summary{border-bottom-color:#8b653d}
.nav-group>summary:hover,.nav-direct:hover{background:#f1e8db}
.nav-group>summary:focus-visible,.service-top nav a:focus-visible{outline:3px solid #815522;outline-offset:2px}
.service-top nav .nav-direct,.masthead .grouped-nav .nav-direct{min-height:44px;padding:8px 9px;display:inline-flex;align-items:center;font:600 13px Arial,sans-serif;white-space:nowrap;text-decoration:none;color:#312b24}
.nav-group .nav-panel{position:absolute;z-index:50;top:calc(100% + 3px);left:0;width:max-content;min-width:225px;max-width:min(330px,90vw);background:#fffaf3;border:1px solid #c6b29b;box-shadow:0 16px 35px #281f1533;padding:8px;display:grid;gap:1px}
.nav-group .nav-panel a{display:flex;align-items:center;min-height:44px;padding:9px 12px;font:500 13px Arial,sans-serif;text-decoration:none;color:#33271c;white-space:normal}
.nav-group .nav-panel a:hover,.nav-group .nav-panel a[aria-current="page"]{background:#e9dccb;color:#4d321b}
.masthead .grouped-nav .nav-group{font-size:12px}
.masthead .grouped-nav .nav-panel a{font-size:13px}
.mobile-nav-heading{display:block;font:700 11px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:14px 14px 5px;color:#8a653c;background:#f4eee6}
@media(max-width:1100px){.service-top nav#service-primary-nav{gap:1px}.service-top .service-logo{letter-spacing:.08em;font-size:11px}.nav-group>summary,.service-top nav .nav-direct{padding-left:6px;padding-right:6px}}
@media(max-width:880px){
 .service-menu-enhanced .service-top nav#service-primary-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0}
 .service-menu-enhanced .service-top nav#service-primary-nav.is-open{display:flex}
 .service-top .nav-group{width:100%;border-bottom:1px solid #e5d9cb}
 .service-top .nav-group>summary{display:flex;min-height:48px;padding:12px 14px}
 .service-top .nav-group .nav-panel{position:static;max-width:none;width:100%;box-shadow:none;border:0;border-top:1px solid #eadfd1;padding:5px 8px 9px 22px;background:#f5eee4}
 .service-top nav#service-primary-nav .nav-panel a{width:100%;padding:10px 12px;min-height:44px}
 .service-top nav#service-primary-nav .nav-direct{padding:12px 14px;width:100%;min-height:48px}
}
@media(max-width:1280px){.masthead .grouped-nav{display:none}.masthead .mobile-toggle{display:inline-flex}}
/* v33 — predictable category ordering, all-card hit areas, visible filtering state */
.category-sort-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 14px}
.category-sort-row label{font:700 13px Arial,sans-serif;color:#342b20}
.category-sort-row select{min-height:48px;min-width:230px;max-width:100%;background:#fff;border:1px solid #a9957d;padding:10px 13px;color:#30271e;font:15px Arial,sans-serif}
.category-sort-row p{margin:0 0 0 auto;font-size:12px}
.studio-category-card{position:relative;transition:box-shadow .2s,transform .2s}
.studio-category-card:has(a:hover),.studio-category-card:has(a:focus-visible){box-shadow:0 14px 30px #38291a1e;transform:translateY(-2px)}
.studio-category-card .studio-category-content a::after{content:"";position:absolute;inset:0}
.studio-category-card .studio-category-content a:focus-visible::after{outline:3px solid #815522;outline-offset:-4px}
@media(max-width:620px){.category-sort-row{align-items:stretch;flex-direction:column}.category-sort-row select{width:100%}.category-sort-row p{margin:0}}
/* v33 breakpoint parity: when compact navigation replaces desktop, its panel must open too. */
@media(min-width:981px) and (max-width:1280px){.mobile-panel.open{display:flex;flex-wrap:wrap;gap:10px;padding:14px 24px;background:#f5f1eb}.mobile-panel.open a{display:inline-flex;align-items:center;padding:12px;min-height:44px}}
.mobile-panel .mobile-nav-heading{flex:1 0 100%;width:100%}

/* v34: customer-intent guide and contextual related routes. */
.journey-finder{background:#f6f0e7;border-top:1px solid #e4d8c9;border-bottom:1px solid #e4d8c9}
.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0 8px;align-items:start}
.journey-choice{border:1px solid #c5ae91;background:#fffaf4;min-width:0;box-shadow:0 2px 7px #2c211008}
.journey-choice>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:68px;padding:17px 21px;color:#31261a;font:600 17px/1.35 Georgia,serif;list-style:none}
.journey-choice>summary::-webkit-details-marker{display:none}
.journey-choice>summary:focus-visible,.related-card:focus-visible,.journey-links a:focus-visible{outline:3px solid #805420;outline-offset:3px}
.journey-choice[open]{border-color:#80603c;box-shadow:0 8px 24px #2c21101a}
.journey-choice[open] .journey-cue{transform:rotate(45deg)}
.journey-cue{font:400 26px/1 Arial,sans-serif;color:#785632;transition:transform .2s}
.journey-body{padding:0 21px 22px;border-top:1px solid #e6d7c4}
.journey-body p{font-size:15px;line-height:1.7;color:#514435}
.journey-links{display:grid;gap:8px}
.journey-links a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid #c5b39e;color:#49301a;background:#fff;text-decoration:none;font:600 13px/1.45 Arial,sans-serif}
.journey-links a:hover{background:#f0e6d8}
.journey-links .journey-primary{background:#3b2b1d;color:#fff;border-color:#3b2b1d}
.journey-links .journey-primary:hover{background:#644526}
.journey-hint{font-size:13px;color:#615448}
.related-journeys{border-top:1px solid #e3d7c6}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.related-card{display:flex;flex-direction:column;gap:9px;min-height:130px;padding:21px;border:1px solid #c5b39e;background:#fffaf4;text-decoration:none;color:#382c1f;transition:background .2s,box-shadow .2s}
.related-card strong{font:600 18px/1.3 Georgia,serif}
.related-card span{font:14px/1.5 Arial,sans-serif;color:#544637}
.related-card:hover{background:#f0e5d7;box-shadow:0 8px 22px #251c121a}
@media(max-width:800px){.related-grid{grid-template-columns:1fr 1fr}.journey-grid{grid-template-columns:1fr}}
@media(max-width:560px){.related-grid{grid-template-columns:1fr}.related-card{min-height:105px}.journey-choice>summary{padding:16px;min-height:60px}.journey-body{padding:0 16px 18px}}
@media(prefers-reduced-motion:reduce){.journey-cue,.related-card{transition:none}}

/* v35 — Search taxonomy and sorting: true page-level facets, no fabricated inventory. */
.search-discovery{margin:24px 0 16px;padding:22px;border:1px solid #d8c7b1;background:#faf5ed}
.search-discovery[hidden]{display:none}
.search-facet-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px}
.search-facet-heading h2{font:600 23px/1.3 Georgia,serif;margin:0;color:#332719}
.search-facet-heading p{margin:0;font-size:13px;color:#5b4b39}
.search-facets{display:flex;flex-wrap:wrap;gap:9px;margin:17px 0}
.search-facets button{min-height:46px;display:inline-flex;align-items:center;gap:9px;padding:10px 13px;background:#fff;color:#392b1e;border:1px solid #ae9474;cursor:pointer;font:600 13px/1.35 Arial,sans-serif}
.search-facets button[aria-pressed=true]{background:#35291f;color:#fff;border-color:#35291f}
.search-facets button span{min-width:24px;text-align:center;padding:3px 6px;border-radius:16px;background:#e7dac8;color:#342719}
.search-facets button[aria-pressed=true] span{background:#e7d2ae}
.search-facets button:focus-visible,.search-sort select:focus-visible{outline:3px solid #8c602c;outline-offset:3px}
.search-sort{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid #d9cbbb;padding-top:16px}
.search-sort label{font-weight:700;font-size:13px;color:#35291f}
.search-sort select{min-height:44px;border:1px solid #ae9474;background:#fff;padding:8px 12px;font:15px Arial,sans-serif;color:#35291f}
.search-sort span{margin-left:auto;font-size:12px;color:#615244}
.search-result-type{display:inline-block;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#785633;background:#f1e8dc;padding:4px 9px;margin:6px 0 2px}
.site-search-empty{padding:22px;border:1px dashed #b7a38b;background:#faf5ed;color:#3c3023}
@media(max-width:620px){.search-discovery{padding:16px}.search-facets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.search-facets button{justify-content:space-between;min-width:0}.search-sort{align-items:stretch;flex-direction:column}.search-sort select{width:100%}.search-sort span{margin-left:0}}
@media(max-width:360px){.search-facets{grid-template-columns:1fr}}

/* v36 — persistent task-first discovery on every staging page. No real catalog claims. */
.quick-find-bar{position:relative;z-index:5;background:#f6f0e8;border-block:1px solid #e1d3c0;color:#302820;font:14px/1.4 Arial,sans-serif}
.quick-find-inner{max-width:1320px;margin:auto;padding:12px clamp(16px,3vw,36px);display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,2.2vw,32px)}
.quick-find-form{display:flex;flex:1 1 440px;min-width:0;align-items:center;gap:12px;flex-wrap:wrap}
.quick-find-form label{font-weight:700;white-space:nowrap;color:#45382a}
.quick-find-controls{display:flex;flex:1 1 280px;min-width:0;max-width:470px;border:1px solid #a28b71;border-radius:4px;background:#fff;overflow:hidden}
.quick-find-controls input{flex:1;min-width:0;min-height:44px;padding:9px 12px;border:0;background:#fff;color:#241e19;font:inherit;font-size:16px}
.quick-find-controls input::placeholder{color:#6a6259;opacity:1}
.quick-find-controls button{flex:0 0 auto;min-height:44px;padding:8px 14px;border:0;border-left:1px solid #bca88e;background:#48372a;color:#fff;font:700 13px Arial,sans-serif;cursor:pointer}
.quick-find-controls button:hover{background:#694b32}
.quick-find-controls:focus-within{outline:3px solid #916328;outline-offset:2px}
.quick-find-form small{flex:1 1 100%;color:#62564b;font-size:11px;margin-top:-7px}
.quick-find-paths{display:flex;flex:0 1 auto;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.quick-find-paths a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 10px;border:1px solid #cbb99f;border-radius:3px;text-decoration:none;font-weight:600;font-size:12px;color:#4a3525;background:#fffaf4;white-space:nowrap}
.quick-find-paths a:hover{background:#e9dccb}
.quick-find-paths a:focus-visible,.quick-find-controls button:focus-visible{outline:3px solid #916328;outline-offset:3px}
@media(max-width:1100px){.quick-find-inner{align-items:stretch;flex-direction:column;gap:10px}.quick-find-form{flex:0 1 auto}.quick-find-paths{justify-content:flex-start}.quick-find-controls{max-width:600px}}
@media(max-width:620px){.quick-find-inner{padding:11px 16px}.quick-find-form{display:block}.quick-find-form label{display:block;margin-bottom:7px}.quick-find-controls{max-width:none}.quick-find-controls button{padding-inline:11px;font-size:12px}.quick-find-form small{display:block;margin-top:6px}.quick-find-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.quick-find-paths a{white-space:normal;text-align:center}}
@media print{.quick-find-bar{display:none!important}}


/* v37: Explicit boundary for external links and real contact applications. */
.staging-outbound-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 28px));max-height:90dvh;overflow:auto;border:2px solid #9b7951;border-radius:5px;padding:clamp(20px,4vw,32px);background:#fffaf3;color:#2e261e;box-shadow:0 20px 70px #0007;font:16px/1.55 Arial,sans-serif}
.staging-outbound-dialog::backdrop{background:#0d0b09b8}
.staging-outbound-dialog h2{font:600 clamp(24px,4vw,32px)/1.25 Georgia,serif;margin:0 0 14px;color:#33281d}
.staging-outbound-dialog p{margin:0 0 15px}
.staging-outbound-destination{padding:12px 14px;background:#f1e6d6;border-left:4px solid #8d6840;font-weight:700;overflow-wrap:anywhere}
.staging-outbound-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.staging-outbound-actions :is(a,button){flex:1 1 175px;min-height:48px;display:inline-flex;justify-content:center;align-items:center;padding:11px 14px;border:1px solid #5a432d;border-radius:3px;font:700 14px/1.3 Arial,sans-serif;text-decoration:none;text-align:center;cursor:pointer}
.staging-outbound-continue{background:#3b2d21;color:#fff!important}
.staging-outbound-cancel{background:#fffaf3;color:#3b2d21}
.staging-outbound-actions :is(a,button):focus-visible{outline:3px solid #a06b2b;outline-offset:3px}
/* v37: search-topic organization and one-action recovery from empty scoped results. */
.search-group-heading{list-style:none;margin:22px 0 7px;padding:0 0 7px;border-bottom:2px solid #c5aa86}
.search-group-heading h3{margin:0;font:600 20px/1.35 Georgia,serif;color:#35291f}
.search-group-heading small{font:500 12px Arial,sans-serif;color:#675544;margin-left:8px}
.search-broaden{min-height:44px;padding:9px 14px;margin:12px 0;border:1px solid #63482c;background:#483629;color:#fff;cursor:pointer;font:700 14px Arial,sans-serif}
.search-broaden:focus-visible{outline:3px solid #986323;outline-offset:3px}
