/* Customer pages share the selected store palette; illustrations are decorative. */
.storefront .auth-refined-shell { width:min(1080px,calc(100% - 80px)); min-height:0; grid-template-columns:minmax(0,1fr) minmax(0,.91fr); gap:68px; padding:42px 0 64px; align-items:center; }
.auth-companion-panel { min-height:564px; align-self:stretch; display:flex; flex-direction:column; position:relative; isolation:isolate; padding:34px 38px 26px; overflow:hidden; border-radius:8px 100px 8px 8px; background:color-mix(in srgb,var(--theme-accent) 9%,var(--theme-bg)); }
.auth-companion-panel::before { position:absolute; z-index:-1; content:""; inset:0; background:radial-gradient(ellipse at 65% 56%,color-mix(in srgb,var(--theme-bg) 65%,transparent),transparent 68%); }
.auth-signature { display:inline-flex; width:fit-content; min-height:28px; align-items:center; color:var(--theme-fg); }
.auth-signature img { width:auto; max-width:164px; max-height:42px; object-fit:contain; }
.auth-signature > span { font:400 23px/1.1 var(--atelier-serif); letter-spacing:-.025em; overflow-wrap:anywhere; }
.auth-companion-copy { padding-top:38px; max-width:330px; }
.auth-companion-copy h2 { max-width:320px; margin:12px 0 12px; color:var(--theme-fg); font:400 35px/1.13 var(--atelier-serif); letter-spacing:-.04em; text-wrap:balance; }
.auth-companion-copy p { max-width:305px; margin:0; font-size:12px; line-height:1.75; color:var(--atelier-muted); }
.auth-companion-stage { height:252px; width:100%; position:relative; margin:8px auto 0; flex:1; min-height:215px; }
.companion-ensemble { position:absolute; bottom:20px; left:50%; display:flex; align-items:flex-end; width:322px; height:206px; transform:translateX(-50%); }
.companion { --character-tilt:0deg; --companion-lean:0deg; position:relative; flex:none; transform-origin:50% 100%; transform:rotate(calc(var(--character-tilt) + var(--companion-lean))); transition:transform .5s cubic-bezier(.2,.75,.3,1); box-shadow:inset 6px 0 12px #fff5,inset -9px -6px 13px #00000013,3px 10px 12px #39392b15; }
.companion::after { content:""; position:absolute; inset:1px; border:1px solid #fff4; border-radius:inherit; pointer-events:none; }
.companion-sage { --character-tilt:-7deg; width:103px; height:174px; margin-right:-8px; border-radius:48px 48px 32px 32px; background:linear-gradient(120deg,#c6c9b4 8%,#a3ad93 62%,#909c86); z-index:2; }
.companion-pearl { --character-tilt:2deg; width:126px; height:129px; margin-bottom:-4px; border-radius:50% 50% 45% 48%; background:radial-gradient(circle at 31% 21%,#fffdf6 2%,#eee8d8 55%,#cbc0a6 100%); z-index:3; }
.companion-clay { --character-tilt:8deg; width:103px; height:153px; margin-left:-5px; border-radius:49px 49px 24px 24px; background:linear-gradient(120deg,#d9b3a2,#c8957f 67%,#ab7d68); z-index:1; }
.companion-loop { position:absolute; top:-16px; left:calc(50% - 10px); width:20px; height:25px; border:3px solid #ac9363; border-top-color:#d9c798; border-right-color:#c7ae7b; border-radius:50%; box-shadow:1px 1px 0 #71614333; z-index:-1; }
.companion-pearl .companion-loop { top:-17px; }
.companion-highlight { position:absolute; width:20px; height:45px; left:17px; top:13px; opacity:.32; border-radius:50%; transform:rotate(25deg); background:linear-gradient(#fff,transparent); filter:blur(3px); }
.companion-face { position:absolute; top:52px; left:0; right:0; display:grid; justify-items:center; gap:11px; }
.companion-pearl .companion-face { top:43px; }
.companion-clay .companion-face { top:45px; }
.companion-eyes { display:flex; gap:15px; }
.companion-eye { display:block; width:16px; height:20px; position:relative; border-radius:50%; background:#fffdf7; overflow:hidden; box-shadow:0 1px 2px #39372a15; transition:transform .2s; animation:companion-blink 7s infinite; }
.companion-pearl .companion-eye { animation-delay:1.1s; width:17px; height:21px; }
.companion-clay .companion-eye { animation-delay:2.2s; }
.companion-eye i { position:absolute; width:7px; height:9px; left:calc(50% - 3.5px); top:calc(50% - 4.5px); background:#30332c; border-radius:50%; transition:transform .16s ease-out; }
.companion-eye i::after { content:""; position:absolute; top:1px; left:1px; width:2px; height:2px; background:#fff; border-radius:50%; }
.companion-smile { width:14px; height:7px; border:1.5px solid #535042; border-top:0; border-radius:0 0 18px 18px; }
.companion-pearl .companion-smile { width:12px; height:6px; }
.companion-hand { position:absolute; top:98px; width:21px; height:25px; border-radius:50%; z-index:4; background:#9aa68e; box-shadow:1px 2px 5px #0001,inset 2px 1px 4px #fff3; opacity:0; transition:transform .3s,opacity .2s; }
.hand-left { left:22px; transform:translate(-11px,22px) rotate(-30deg); }
.hand-right { right:22px; transform:translate(11px,22px) rotate(30deg); }
.companion-pearl .companion-hand { top:91px; background:#e5dcc5; }
.companion-clay .companion-hand { top:90px; background:#c2917e; }
.auth-companion-stage.is-private .companion-eye { animation:none; transform:scaleY(.13); }
.auth-companion-stage.is-private .companion-hand { opacity:1; }
.auth-companion-stage.is-private .hand-left { transform:translate(0,-38px) rotate(-25deg); }
.auth-companion-stage.is-private .hand-right { transform:translate(0,-38px) rotate(25deg); }
.auth-companion-stage.is-private .companion-pearl .hand-left { transform:translate(8px,-40px) rotate(-25deg); }
.auth-companion-stage.is-private .companion-pearl .hand-right { transform:translate(-8px,-40px) rotate(25deg); }
.auth-companion-stage.is-private .companion { --companion-lean:0deg!important; }
.companion-stage-shadow { position:absolute; width:305px; height:17px; bottom:6px; left:50%; transform:translateX(-50%); border-radius:50%; background:#342c1b20; filter:blur(10px); z-index:-1; }
.companion-stage-orbit { width:300px; height:210px; border:1px solid color-mix(in srgb,var(--theme-accent) 15%,transparent); position:absolute; bottom:15px; left:50%; transform:translateX(-50%) rotate(-24deg); border-radius:50%; z-index:-1; }
.companion-stage-orbit.orbit-two { width:205px; height:265px; transform:translateX(-50%) rotate(23deg); bottom:2px; }
.companion-glint { position:absolute; color:var(--theme-accent); font:27px/1 Georgia,serif; opacity:.6; }
.glint-one { left:3%; bottom:164px; }
.glint-two { right:2%; bottom:47px; font-size:20px; }
.auth-companion-note { display:flex; gap:9px; align-items:center; justify-content:center; margin:20px 0 0; color:var(--atelier-muted); font-size:10px; letter-spacing:.03em; }
.auth-companion-note > span { width:4px; height:4px; border:1px solid var(--theme-accent); transform:rotate(45deg); flex:none; }
.storefront .auth-refined-panel { padding:18px 0; width:100%; max-width:420px; margin:0; }
.auth-refined-panel .account-back { margin:0 0 34px; display:inline-flex; gap:7px; font-size:11px; color:var(--atelier-muted); }
.auth-refined-panel .account-back:hover { color:var(--theme-fg); }
.storefront .auth-refined-panel h1 { font:400 clamp(29px,3vw,37px)/1.1 var(--atelier-serif); letter-spacing:-.045em; color:var(--theme-fg); margin:11px 0 13px; text-wrap:balance; }
.auth-form-heading > p { max-width:350px; color:var(--atelier-muted); font-size:12px; line-height:1.75; margin:0 0 27px; }
.auth-refined-form { gap:19px; }
.auth-refined-form label > span { font-size:11px; font-weight:500; letter-spacing:.025em; }
.auth-refined-form input:not([type=checkbox]) { min-height:43px; padding:9px 0; border-radius:0; border-color:color-mix(in srgb,var(--theme-fg) 24%,var(--theme-bg)); font-size:14px; }
.auth-refined-form input:not([type=checkbox]):focus-visible { outline:2px solid color-mix(in srgb,var(--theme-accent) 65%,transparent); outline-offset:3px; border-radius:2px; }
.auth-refined-form .auth-name-row { display:grid; grid-template-columns:1fr 1fr; gap:19px; }
.auth-password-field { display:grid; gap:6px; }
.auth-password-control { position:relative; }
.auth-password-control > input { padding-right:46px!important; }
.auth-password-toggle { position:absolute; bottom:1px; right:0; width:40px; min-height:40px; display:grid; place-items:center; padding:0; color:var(--atelier-muted); background:none; border:0; cursor:pointer; }
.auth-password-toggle[hidden] { display:none; }
.auth-password-toggle:hover { color:var(--theme-fg); }
.auth-password-toggle:focus-visible { outline:2px solid var(--theme-accent); outline-offset:1px; border-radius:4px; }
.auth-password-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.auth-password-toggle .auth-eye-slash { display:none; }
.auth-password-toggle[aria-pressed=true] .auth-eye-slash { display:block; }
.auth-password-field > small { max-width:100%; font-size:10px; line-height:1.6; }
.auth-refined-form .account-consent { align-items:flex-start; gap:10px; }
.auth-refined-form .account-consent > input { width:15px; height:15px; min-height:15px; margin:3px 0 0; accent-color:var(--theme-accent); flex:none; }
.auth-refined-form .account-consent > span { color:var(--atelier-muted); font-size:10px; line-height:1.65; font-weight:400; letter-spacing:0; }
.auth-refined-form .account-consent a { color:inherit; text-decoration:none; }
.auth-refined-form .account-consent a:hover { text-decoration:underline; }
.auth-refined-form .modern-button { min-height:46px; margin-top:3px; }
.auth-refined-panel .account-auth-switch { margin-top:22px; padding-top:20px; border-top:1px solid var(--store-soft-line); font-size:11px; line-height:1.7; }
.auth-refined-panel .account-auth-switch a { font-weight:500; border-bottom:1px solid var(--theme-accent); margin-left:4px; }
.auth-refined-panel .form-errors { margin-bottom:20px; }
.design-noir .auth-companion-panel { border-radius:8px 100px 8px 8px; background:color-mix(in srgb,var(--theme-fg) 6%,var(--theme-bg)); }
.design-noir .auth-companion-panel::before { background:radial-gradient(ellipse at 56% 66%,#d2b98b12,transparent 66%); }
.design-noir .auth-signature img,.design-noir .brand-story-signature img { filter:brightness(0) invert(1); opacity:.94; }
.design-noir .companion-stage-shadow { background:#0006; }
@keyframes companion-blink { 0%,44%,47%,100% { transform:scaleY(1); } 45%,46% { transform:scaleY(.1); } }

/* A compact brand story using the shop's own logo and photography. */
.brand-story-page { padding:0 0 70px; overflow:hidden; }
.brand-story-page h1,.brand-story-page h2 { color:var(--theme-fg); font-family:var(--atelier-serif); font-weight:400; letter-spacing:-.045em; text-wrap:balance; }
.brand-story-page .micro-label { color:var(--theme-accent); }
.brand-story-hero { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:70px; padding-top:35px; padding-bottom:65px; align-items:center; }
.brand-story-intro { position:relative; padding:30px 0 42px 13px; }
.brand-story-signature { margin:27px 0 30px; max-width:320px; }
.brand-story-signature img { width:auto; max-width:100%; max-height:76px; object-fit:contain; object-position:left center; }
.brand-story-signature > span { display:block; font:400 clamp(27px,3vw,39px)/1.1 var(--atelier-serif); letter-spacing:-.025em; color:var(--theme-accent); overflow-wrap:anywhere; }
.brand-story-intro h1 { font-size:clamp(34px,3.4vw,47px); line-height:1.13; max-width:465px; margin:0 0 19px; }
.brand-story-intro > p { max-width:385px; font-size:13px; line-height:1.9; color:var(--atelier-muted); margin:0 0 25px; }
.brand-story-text-link { display:inline-flex; justify-content:space-between; align-items:center; gap:31px; padding:6px 0 9px; border-bottom:1px solid color-mix(in srgb,var(--theme-accent) 55%,transparent); color:var(--theme-fg); font-size:11px; font-weight:500; }
.brand-story-text-link > span { transition:transform .25s ease; font-size:16px; }
.brand-story-text-link:hover > span { transform:translate(3px,-3px); }
.brand-story-filigree { position:absolute; left:-13px; bottom:2px; width:68px; height:21px; display:flex; transform:rotate(-18deg); opacity:.35; }
.brand-story-filigree i { width:28px; height:17px; flex:none; border:1px solid var(--theme-accent); border-radius:50%; margin-left:-8px; }
.brand-story-portrait { position:relative; padding:0 20px 16px 0; }
.brand-story-portrait::after { content:""; position:absolute; inset:16px 3px 0 19px; border:1px solid color-mix(in srgb,var(--theme-accent) 28%,transparent); pointer-events:none; }
.brand-story-portrait-frame { position:relative; height:485px; overflow:hidden; border-radius:2px 88px 2px 2px; background:var(--store-surface); }
.brand-story-portrait-frame > img { width:100%; height:100%; object-fit:cover; object-position:49% 44%; transition:transform 1.2s cubic-bezier(.2,.6,.3,1); }
.brand-story-portrait:hover .brand-story-portrait-frame > img { transform:scale(1.025); }
.brand-story-portrait-word { position:absolute; right:-14px; top:49%; color:var(--theme-accent); transform:translateY(-50%) rotate(90deg); transform-origin:center; font-size:9px; letter-spacing:.13em; background:var(--theme-bg); padding:6px 9px; max-width:200px; white-space:nowrap; overflow:hidden; }
.brand-story-chapter { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:clamp(40px,9vw,132px); padding:35px 65px 68px; border-top:1px solid var(--store-soft-line); }
.brand-story-detail { margin:0; position:relative; max-width:360px; }
.brand-story-detail-frame { width:100%; height:355px; padding:22px; background:color-mix(in srgb,var(--theme-accent) 7%,var(--theme-bg)); border-radius:45% 45% 2px 2px; overflow:hidden; }
.brand-story-detail-frame > img { height:100%; width:100%; object-fit:contain; mix-blend-mode:multiply; border-radius:40% 40% 0 0; }
.brand-story-detail figcaption { display:grid; grid-template-columns:100px 1fr; gap:20px; margin-top:18px; align-items:start; }
.brand-story-detail figcaption > span { font-size:10px; line-height:1.7; color:var(--theme-fg); }
.brand-story-detail figcaption > p { font-size:10px; color:var(--atelier-muted); line-height:1.7; margin:0; }
.brand-story-chapter-copy h2 { max-width:415px; margin:16px 0 22px; font-size:clamp(30px,3vw,38px); line-height:1.15; }
.brand-story-chapter-copy > p { max-width:425px; margin:0 0 18px; color:var(--atelier-muted); font-size:12px; line-height:1.95; }
.brand-story-chapter-copy .brand-story-text-link { margin-top:5px; }
.brand-story-care { padding:45px 0 57px; border-top:1px solid var(--store-soft-line); }
.brand-story-care-heading { text-align:center; margin-bottom:42px; }
.brand-story-care-heading h2 { font-size:32px; line-height:1.2; margin:12px 0 0; }
.brand-story-care-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.brand-story-care-grid > article { padding:4px 40px 0; }
.brand-story-care-grid > article + article { border-left:1px solid var(--store-soft-line); }
.brand-story-care-grid svg { width:36px; height:36px; margin-bottom:17px; stroke:var(--theme-accent); fill:none; stroke-width:1.15; stroke-linecap:round; stroke-linejoin:round; }
.brand-story-care-grid h3 { margin:0 0 11px; color:var(--theme-fg); font-size:14px; font-weight:500; letter-spacing:-.015em; }
.brand-story-care-grid p { max-width:265px; margin:0; color:var(--atelier-muted); font-size:11px; line-height:1.85; }
.brand-story-invitation { position:relative; text-align:center; padding:49px 24px 45px; margin-top:4px; background:color-mix(in srgb,var(--theme-accent) 6%,var(--theme-bg)); border-radius:3px 40px 3px 40px; }
.brand-story-invitation h2 { font-size:35px; line-height:1.15; margin:13px 0 12px; }
.brand-story-invitation > p { color:var(--atelier-muted); font-size:12px; line-height:1.8; margin:0 0 22px; }
.brand-story-invitation .modern-button { min-height:43px; font-size:11px; }
.brand-story-invitation-mark { display:flex; gap:0; margin:0 auto 24px; width:62px; transform:rotate(-22deg); }
.brand-story-invitation-mark > span { width:36px; height:25px; border:1px solid var(--theme-accent); border-radius:50%; flex:none; }
.brand-story-invitation-mark > span + span { margin-left:-11px; }
.design-noir .brand-story-detail-frame { background:#e9e2d5; }
.design-noir .brand-story-invitation { background:color-mix(in srgb,var(--theme-fg) 5%,var(--theme-bg)); }
@media (min-width:1400px) { .storefront .auth-refined-shell { padding-top:55px; padding-bottom:75px; } }
@media (max-width:1100px) {
  .storefront .auth-refined-shell { width:calc(100% - 56px); gap:40px; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); }
  .auth-companion-panel { padding-inline:27px; }
  .auth-companion-copy h2 { font-size:31px; }
  .companion-ensemble { transform:translateX(-50%) scale(.89); transform-origin:50% 100%; }
  .brand-story-hero { gap:45px; }
  .brand-story-portrait-frame { height:443px; }
  .brand-story-chapter { padding-inline:32px; gap:65px; }
  .brand-story-care-grid > article { padding-inline:27px; }
}
@media (max-width:760px) {
  .storefront .auth-refined-shell { width:calc(100% - 40px); grid-template-columns:minmax(0,1fr); gap:30px; padding:22px 0 45px; max-width:560px; }
  .auth-companion-panel { min-height:183px; max-height:none; padding:20px 24px; border-radius:7px 55px 7px 7px; justify-content:center; }
  .design-noir .auth-companion-panel { border-radius:7px 55px 7px 7px; }
  .auth-signature { position:absolute; left:24px; top:21px; max-width:calc(52% - 24px); min-height:20px; }
  .auth-signature img { max-width:100%; max-height:27px; }
  .auth-signature > span { font-size:20px; }
  .auth-companion-copy { max-width:51%; padding-top:23px; }
  .auth-companion-copy > .micro-label,.auth-companion-copy > p,.auth-companion-note { display:none; }
  .auth-companion-copy h2 { font-size:25px; line-height:1.18; margin:11px 0 0; max-width:185px; }
  .auth-companion-stage { position:absolute; width:50%; height:172px; right:6px; bottom:0; min-height:0; margin:0; }
  .companion-ensemble { transform:translateX(-50%) scale(.56); bottom:27px; }
  .companion-stage-shadow { width:155px; height:10px; bottom:20px; filter:blur(6px); }
  .companion-stage-orbit { width:158px; height:113px; bottom:25px; }
  .companion-stage-orbit.orbit-two { width:130px; height:155px; bottom:12px; }
  .glint-one { font-size:16px; left:11px; bottom:128px; }
  .glint-two { font-size:14px; right:7px; bottom:48px; }
  .storefront .auth-refined-panel { max-width:none; padding:0 10px; }
  .auth-refined-panel .account-back { margin-bottom:25px; }
  .storefront .auth-refined-panel h1 { font-size:32px; }
  .auth-form-heading > p { margin-bottom:24px; }
  .auth-refined-form input:not([type=checkbox]) { font-size:16px; }
  .auth-refined-form .account-consent > span { font-size:11px; }
  .brand-story-page { padding-bottom:40px; }
  .brand-story-hero { grid-template-columns:minmax(0,1fr); gap:24px; padding-top:22px; padding-bottom:37px; }
  .brand-story-intro { padding:14px 0 20px; }
  .brand-story-signature { margin:22px 0; }
  .brand-story-signature img { max-height:53px; max-width:240px; }
  .brand-story-signature > span { font-size:31px; }
  .brand-story-intro h1 { max-width:430px; font-size:35px; margin-bottom:16px; }
  .brand-story-intro > p { max-width:430px; font-size:12px; margin-bottom:20px; }
  .brand-story-filigree { display:none; }
  .brand-story-portrait { padding-right:15px; padding-bottom:13px; }
  .brand-story-portrait-frame { height:390px; border-radius:2px 65px 2px 2px; }
  .brand-story-portrait::after { inset:13px 2px 0 15px; }
  .brand-story-portrait-word { right:-16px; }
  .brand-story-chapter { padding:36px 0 38px; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:27px; align-items:start; }
  .brand-story-detail-frame { height:270px; padding:15px; }
  .brand-story-detail figcaption { grid-template-columns:1fr; gap:5px; margin-top:12px; }
  .brand-story-chapter-copy h2 { font-size:29px; margin:10px 0 17px; }
  .brand-story-chapter-copy > p { font-size:11px; line-height:1.9; margin-bottom:14px; }
  .brand-story-care { padding:32px 0 35px; }
  .brand-story-care-heading { margin-bottom:30px; }
  .brand-story-care-heading h2 { font-size:28px; }
  .brand-story-care-grid > article { padding:0 18px; }
  .brand-story-care-grid h3 { font-size:12px; }
  .brand-story-care-grid p { font-size:10px; }
  .brand-story-invitation { padding:32px 22px; }
  .brand-story-invitation h2 { font-size:30px; }
}
@media (max-width:520px) {
  .auth-companion-copy { max-width:47%; }
  .auth-companion-copy h2 { font-size:21px; overflow-wrap:break-word; }
  .auth-companion-stage { width:46%; right:4px; }
  .companion-ensemble { transform:translateX(-50%) scale(.43); }
  .auth-signature > span { font-size:17px; }
  .brand-story-chapter { grid-template-columns:minmax(0,1fr); gap:26px; }
  .brand-story-detail { max-width:100%; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,.6fr); align-items:end; gap:24px; }
  .brand-story-detail-frame { height:253px; padding:13px; }
  .brand-story-detail figcaption { padding-bottom:18px; }
  .brand-story-detail figcaption > span { font-size:11px; }
  .brand-story-detail figcaption > p { line-height:1.8; }
  .brand-story-chapter-copy h2 { font-size:31px; max-width:300px; }
  .brand-story-chapter-copy > p { font-size:12px; }
  .brand-story-care-heading { text-align:left; }
  .brand-story-care-grid { grid-template-columns:1fr; gap:24px; }
  .brand-story-care-grid > article { display:grid; grid-template-columns:38px 1fr; column-gap:18px; padding:0; }
  .brand-story-care-grid > article + article { border-left:0; border-top:1px solid var(--store-soft-line); padding-top:24px; }
  .brand-story-care-grid svg { grid-column:1; grid-row:1 / 3; width:34px; height:34px; margin:0; }
  .brand-story-care-grid h3 { grid-column:2; font-size:13px; margin-bottom:6px; }
  .brand-story-care-grid p { grid-column:2; max-width:none; font-size:11px; }
  .brand-story-portrait-frame { height:345px; }
  .brand-story-invitation h2 { font-size:29px; }
}
@media (max-width:370px) {
  .storefront .auth-refined-shell { width:calc(100% - 28px); }
  .auth-companion-panel { padding-left:18px; }
  .auth-signature { left:18px; }
  .auth-companion-copy h2 { font-size:22px; }
  .companion-ensemble { transform:translateX(-50%) scale(.49); }
  .auth-refined-form .auth-name-row { grid-template-columns:1fr; gap:19px; }
  .brand-story-intro h1 { font-size:32px; }
}
@media (prefers-reduced-motion:reduce) {
  .companion,.companion-eye,.companion-eye i,.companion-hand,.brand-story-portrait-frame > img,.brand-story-text-link > span { animation:none!important; transition:none!important; }
  .companion { --companion-lean:0deg!important; }
  .brand-story-portrait:hover .brand-story-portrait-frame > img,.brand-story-text-link:hover > span { transform:none; }
}

/* Brand journal: an image-led shop story with useful, editable buying guidance. */
.brand-journal { --journal-line:color-mix(in srgb,var(--theme-fg) 18%,var(--theme-bg)); --atelier-muted:color-mix(in srgb,var(--theme-fg) 86%,var(--theme-bg)); padding-bottom:58px; color:var(--theme-fg); }
.brand-journal :is(h1,h2,h3,p,figure) { margin:0; }
.brand-journal :is(h1,h2) { color:var(--theme-fg); font-family:var(--atelier-serif); font-weight:400; letter-spacing:-.035em; text-wrap:balance; overflow-wrap:break-word; }
.journal-wayfinding { min-height:52px; display:flex; flex-wrap:wrap; align-items:center; gap:11px; color:var(--atelier-muted); font-size:11px; }
.journal-wayfinding > span:last-child { color:var(--theme-fg); }
.journal-wayfinding a:hover { text-decoration:underline; text-underline-offset:4px; }
.journal-opening { display:grid; grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); gap:clamp(44px,6vw,86px); align-items:center; padding-block:17px 42px; }
.journal-opening-copy { max-width:470px; padding-block:14px; }
.journal-signature { display:grid; justify-items:start; gap:8px; margin:23px 0 29px; }
.journal-signature > span { max-width:100%; color:var(--theme-fg); font:400 24px/1.25 var(--atelier-serif); letter-spacing:.1em; overflow-wrap:anywhere; }
.journal-signature > img { width:auto; max-width:min(245px,100%); max-height:59px; object-fit:contain; object-position:left center; }
.journal-signature > small { color:var(--atelier-muted); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.journal-opening h1 { max-width:440px; font-size:clamp(33px,3.35vw,44px); line-height:1.1; }
.journal-opening-copy > p { max-width:393px; margin-top:20px; color:var(--atelier-muted); font-size:13px; line-height:1.85; }
.journal-opening-actions { display:flex; flex-wrap:wrap; align-items:center; gap:19px; margin-top:26px; }
.brand-journal .modern-button { min-height:43px; padding:12px 17px; gap:23px; font-size:11px; letter-spacing:.035em; }
.journal-text-link { width:fit-content; display:inline-flex; align-items:center; gap:22px; min-height:36px; padding:5px 0; border-bottom:1px solid var(--journal-line); color:var(--theme-fg); font-size:11px; font-weight:500; }
.journal-text-link > span { font-size:16px; transition:transform .25s ease; }
.journal-text-link:hover > span { transform:translate(2px,-2px); }
.journal-opening-visual { position:relative; min-width:0; padding:0 24px 25px 40px; isolation:isolate; }
.journal-portrait { position:relative; height:431px; overflow:hidden; border-radius:110px 3px 3px 3px; background:#e4dfd5; }
.journal-portrait > img { width:100%; height:100%; object-fit:cover; object-position:60% 43%; transition:transform 1.1s var(--motion-soft); }
.journal-opening-visual:hover .journal-portrait > img { transform:scale(1.025); }
.journal-portrait figcaption { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; gap:12px; padding:13px 20px; color:#fffaf1; background:#202018c7; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.journal-portrait figcaption span { font-size:17px; }
.journal-inset { position:absolute; left:0; bottom:2px; width:146px; padding:7px; border:1px solid var(--journal-line); color:#302a21; background:#f5f0e7; box-shadow:0 12px 32px #2c241512; transform:rotate(-5deg); transition:transform .65s var(--motion-soft); }
.journal-opening-visual:hover .journal-inset { transform:rotate(-2deg) translateY(-3px); }
.journal-inset > img { width:100%; height:160px; object-fit:contain; background:#e9e2d6; }
.journal-inset figcaption { display:flex; gap:9px; justify-content:space-between; align-items:center; padding:9px 3px 4px; font-size:10px; line-height:1.45; }
.journal-inset figcaption span { font-size:16px; flex:none; }
.journal-orbit { position:absolute; z-index:-1; right:0; top:39px; bottom:6px; left:64px; border:1px solid color-mix(in srgb,var(--theme-accent) 37%,var(--theme-bg)); border-radius:110px 3px 3px 3px; }
.journal-collection-nav { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:center; gap:20px; padding-block:19px; border-block:1px solid var(--journal-line); }
.journal-collection-nav > span { color:var(--atelier-muted); font-size:10px; line-height:1.5; text-transform:uppercase; letter-spacing:.1em; }
.journal-collection-nav > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:14px 28px; }
.journal-collection-nav a { display:flex; align-items:center; gap:15px; min-height:30px; color:var(--theme-fg); font-size:12px; }
.journal-collection-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.journal-collection-nav a > span { color:var(--theme-accent); font-size:16px; }
.journal-story { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(50px,8vw,110px); align-items:center; padding-block:64px; scroll-margin-top:100px; }
.journal-study { display:grid; grid-template-columns:minmax(0,1fr) 104px; align-items:end; gap:22px; }
.journal-study > div { height:320px; padding:13px; overflow:hidden; background:#ece5d9; border-radius:3px 3px 80px 3px; }
.journal-study img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .9s var(--motion-soft); }
.journal-study:hover img { transform:scale(1.035); }
.journal-study figcaption { padding-bottom:16px; }
.journal-study figcaption > span { display:block; width:100%; padding-top:15px; margin-bottom:11px; border-top:1px solid var(--journal-line); color:var(--theme-fg); font-size:11px; font-weight:500; }
.journal-study figcaption p { font-size:11px; line-height:1.85; color:var(--atelier-muted); }
.journal-story-copy h2 { max-width:380px; font-size:clamp(29px,2.9vw,37px); line-height:1.15; margin:15px 0 21px; }
.journal-story-copy > p { max-width:450px; margin-bottom:16px; color:var(--atelier-muted); font-size:12px; line-height:1.9; }
.journal-story-copy .journal-text-link { margin-top:5px; }
.journal-service-section { padding-block:34px 39px; border-block:1px solid var(--journal-line); background:color-mix(in srgb,var(--theme-fg) 3%,var(--theme-bg)); }
.journal-section-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-bottom:28px; }
.journal-section-heading h2 { max-width:520px; font-size:31px; line-height:1.2; }
.journal-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px; }
.journal-service { position:relative; display:grid; grid-template-columns:37px minmax(0,1fr); gap:16px; padding:19px 0 0; border-top:1px solid var(--journal-line); }
.journal-service-symbol svg { display:block; width:34px; height:34px; fill:none; stroke:var(--theme-accent); stroke-width:1.15; stroke-linecap:round; stroke-linejoin:round; }
.journal-service h3 { color:var(--theme-fg); font-size:13px; font-weight:500; padding-right:15px; line-height:1.6; }
.journal-service p { color:var(--atelier-muted); font-size:11px; line-height:1.85; margin-top:9px; max-width:260px; }
.journal-service-arrow { position:absolute; right:1px; top:19px; font-size:14px; color:var(--theme-accent); transition:transform .3s var(--motion-soft); }
.journal-service:hover .journal-service-arrow { transform:translate(3px,-3px); }
.journal-guide { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(40px,8vw,110px); padding-block:62px; }
.journal-guide-heading h2 { max-width:330px; font-size:33px; line-height:1.15; margin:15px 0 17px; }
.journal-guide-heading p { color:var(--atelier-muted); max-width:285px; font-size:12px; line-height:1.85; margin-bottom:19px; }
.journal-questions { border-top:1px solid var(--journal-line); }
.journal-questions details { border-bottom:1px solid var(--journal-line); }
.journal-questions summary { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:61px; padding:18px 0; color:var(--theme-fg); font-size:12px; line-height:1.65; cursor:pointer; list-style:none; }
.journal-questions summary::-webkit-details-marker { display:none; }
.journal-questions summary > span { flex:none; font:300 20px/1 var(--atelier-sans); transition:transform .3s; }
.journal-questions details[open] summary > span { transform:rotate(45deg); }
.journal-questions details > div { padding:0 27px 20px 0; }
.journal-questions p { color:var(--atelier-muted); font-size:12px; line-height:1.9; }
.journal-questions .journal-text-link { margin-top:12px; }
.journal-invitation { display:grid; grid-template-columns:100px minmax(0,1fr) auto; align-items:center; gap:30px; padding:32px 0; border-block:1px solid var(--journal-line); }
.journal-invitation h2 { font-size:30px; line-height:1.2; margin:11px 0 9px; }
.journal-invitation p { color:var(--atelier-muted); font-size:12px; line-height:1.75; }
.journal-invitation-mark { display:flex; width:90px; padding-left:8px; transform:rotate(-27deg); }
.journal-invitation-mark > span { flex:none; width:49px; height:36px; border:1px solid var(--theme-accent); border-radius:50%; box-shadow:inset 0 0 0 3px var(--theme-bg),inset 0 0 0 4px color-mix(in srgb,var(--theme-accent) 35%,transparent); }
.journal-invitation-mark > span + span { margin-left:-19px; transform:rotate(14deg); }
.design-noir .journal-opening { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }
.design-noir .journal-opening-copy { order:2; }
.design-noir .journal-opening-visual { order:1; padding:13px 24px 20px 20px; }
.design-noir .journal-portrait { height:438px; border-radius:3px; }
.design-noir .journal-orbit { inset:0 9px 6px 5px; border-radius:3px; }
.design-noir .journal-inset { bottom:-4px; left:auto; right:0; width:133px; transform:rotate(4deg); }
.design-noir .journal-opening-visual:hover .journal-inset { transform:rotate(1deg) translateY(-3px); }
.design-noir .journal-signature > img { padding:6px 10px; background:#f3eee5; border-radius:3px; }
.design-noir .journal-study > div { border-radius:3px; }
.design-noir .journal-service-section { background:color-mix(in srgb,var(--theme-fg) 4%,var(--theme-bg)); }
@media (max-width:1050px) {
  .journal-opening { gap:36px; }
  .journal-portrait,.design-noir .journal-portrait { height:400px; }
  .journal-inset { width:120px; }
  .journal-inset > img { height:138px; }
  .journal-opening-actions { gap:14px; }
  .journal-story { gap:45px; }
  .journal-study { grid-template-columns:minmax(0,1fr) 87px; gap:17px; }
  .journal-study > div { height:288px; }
  .journal-collection-nav { grid-template-columns:145px 1fr; }
  .journal-collection-nav > div { gap:10px 22px; }
  .journal-services { gap:22px; }
  .journal-service { grid-template-columns:30px minmax(0,1fr); gap:13px; }
  .journal-service-symbol svg { width:29px; height:29px; }
  .journal-guide { gap:45px; }
  .journal-invitation { grid-template-columns:74px minmax(0,1fr) auto; gap:23px; }
}
@media (max-width:760px) {
  .brand-journal { padding-bottom:38px; }
  .journal-wayfinding { min-height:45px; font-size:10px; }
  .journal-opening,.design-noir .journal-opening { grid-template-columns:minmax(0,1fr) minmax(0,.92fr); gap:25px; padding-block:10px 30px; }
  .journal-opening-copy { padding:4px 0; }
  .journal-signature { margin:18px 0 22px; gap:7px; }
  .journal-signature > span { font-size:21px; }
  .journal-signature > img { max-width:190px; max-height:49px; }
  .journal-signature > small { font-size:9px; }
  .journal-opening h1 { font-size:33px; }
  .journal-opening-copy > p { font-size:12px; margin-top:16px; }
  .journal-opening-actions { margin-top:22px; }
  .journal-opening-visual,.design-noir .journal-opening-visual { padding:0 11px 19px 13px; }
  .journal-portrait,.design-noir .journal-portrait { height:361px; border-top-left-radius:65px; }
  .design-noir .journal-portrait { border-radius:3px; }
  .journal-inset,.design-noir .journal-inset { width:102px; }
  .journal-inset > img { height:120px; }
  .journal-inset figcaption { font-size:9px; gap:5px; }
  .journal-orbit { left:26px; top:16px; border-top-left-radius:65px; }
  .journal-portrait figcaption { padding:13px; font-size:9px; }
  .journal-collection-nav { display:block; padding-block:15px; }
  .journal-collection-nav > span { display:block; margin-bottom:7px; font-size:9px; }
  .journal-collection-nav > div { justify-content:flex-start; gap:5px 25px; }
  .journal-collection-nav a { font-size:11px; }
  .journal-story { gap:30px; padding-block:42px; }
  .journal-study { display:block; }
  .journal-study > div { height:270px; border-bottom-right-radius:60px; }
  .journal-study figcaption { display:grid; grid-template-columns:85px minmax(0,1fr); gap:12px; padding:14px 0 0; }
  .journal-study figcaption > span { font-size:10px; margin:0; padding:0; border:0; }
  .journal-study figcaption p { font-size:10px; }
  .journal-story-copy h2 { font-size:29px; margin:12px 0 17px; }
  .journal-story-copy > p { font-size:11px; line-height:1.85; }
  .journal-section-heading { display:block; padding-bottom:21px; }
  .journal-section-heading h2 { font-size:28px; margin-top:10px; }
  .journal-services { gap:19px; }
  .journal-service { display:block; padding-top:16px; }
  .journal-service-symbol { display:block; margin-bottom:14px; }
  .journal-service h3 { font-size:12px; padding-right:0; }
  .journal-service p { font-size:11px; line-height:1.75; margin-top:7px; }
  .journal-guide { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:29px; padding-block:43px; }
  .journal-guide-heading h2 { font-size:29px; }
  .journal-guide-heading p,.journal-questions p { font-size:11px; }
  .journal-questions summary { gap:15px; font-size:11px; }
  .journal-invitation { grid-template-columns:60px minmax(0,1fr); gap:18px 25px; padding-block:28px; }
  .journal-invitation h2 { font-size:27px; }
  .journal-invitation > .modern-button { grid-column:2; justify-self:start; }
  .journal-invitation-mark { width:65px; padding-left:0; }
  .journal-invitation-mark > span { width:37px; height:27px; }
  .journal-invitation-mark > span + span { margin-left:-14px; }
}
@media (max-width:560px) {
  .journal-opening,.design-noir .journal-opening { grid-template-columns:minmax(0,1fr); gap:28px; }
  .design-noir .journal-opening-copy,.design-noir .journal-opening-visual { order:initial; }
  .journal-opening-copy { max-width:100%; }
  .journal-signature { margin:17px 0 23px; }
  .journal-opening h1 { max-width:340px; font-size:35px; line-height:1.08; }
  .journal-opening-copy > p { max-width:390px; line-height:1.8; }
  .journal-opening-actions { gap:20px; margin-top:21px; }
  .journal-opening-visual,.design-noir .journal-opening-visual { padding:0 13px 18px 31px; }
  .journal-portrait,.design-noir .journal-portrait { height:330px; }
  .journal-portrait > img { object-position:57% 43%; }
  .journal-inset,.design-noir .journal-inset { width:117px; }
  .journal-inset > img { height:126px; }
  .journal-inset figcaption { font-size:10px; }
  .journal-orbit { left:46px; }
  .design-noir .journal-orbit { left:19px; top:-9px; }
  .journal-story { grid-template-columns:minmax(0,1fr); gap:29px; padding-block:35px; }
  .journal-study { display:grid; grid-template-columns:minmax(0,1fr) 100px; align-items:end; gap:25px; }
  .journal-study > div { height:247px; }
  .journal-study figcaption { display:block; padding-bottom:21px; }
  .journal-study figcaption > span { padding-top:13px; border-top:1px solid var(--journal-line); margin-bottom:9px; }
  .journal-story-copy h2 { max-width:340px; font-size:31px; }
  .journal-story-copy > p { font-size:12px; }
  .journal-service-section { padding-block:28px 31px; }
  .journal-services { grid-template-columns:minmax(0,1fr); gap:21px; }
  .journal-service { display:grid; grid-template-columns:35px minmax(0,1fr); gap:19px; }
  .journal-service-symbol { margin:0; }
  .journal-service h3 { font-size:13px; padding-right:18px; }
  .journal-service p { max-width:none; font-size:12px; }
  .journal-guide { grid-template-columns:minmax(0,1fr); gap:27px; padding-block:35px; }
  .journal-guide-heading h2 { max-width:330px; font-size:31px; }
  .journal-guide-heading p { max-width:360px; font-size:12px; margin-bottom:12px; }
  .journal-questions summary,.journal-questions p { font-size:12px; }
  .journal-questions details > div { padding-right:18px; }
  .journal-invitation { gap:15px 22px; }
  .journal-invitation h2 { font-size:26px; }
  .journal-invitation p { font-size:11px; }
}
@media (max-width:360px) {
  .journal-opening h1 { font-size:32px; }
  .journal-portrait,.design-noir .journal-portrait { height:301px; }
  .journal-study { grid-template-columns:minmax(0,1fr) 82px; gap:18px; }
  .journal-study > div { height:217px; }
  .journal-invitation { grid-template-columns:45px minmax(0,1fr); gap:17px; }
  .journal-invitation-mark { transform:rotate(-27deg) scale(.8); transform-origin:left center; }
}
@media (prefers-reduced-motion:reduce) {
  .brand-journal *, .brand-journal *::before, .brand-journal *::after { animation:none!important; transition:none!important; }
  .journal-opening-visual:hover .journal-portrait > img,.journal-study:hover img,.journal-service:hover .journal-service-arrow,.journal-text-link:hover > span { transform:none; }
  .journal-opening-visual:hover .journal-inset { transform:rotate(-5deg); }
  .design-noir .journal-opening-visual:hover .journal-inset { transform:rotate(4deg); }
}
