@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root,.rail-page{--paper:#f1f0eb;--ink:#282724;--muted:#66635e;--accent:#672f39;--line:#d9d6cf;--font-display:'DM Sans','Helvetica Neue',sans-serif;--font-text:'DM Sans','Helvetica Neue',sans-serif}
body{font-family:var(--font-text);font-size:16px;line-height:1.5;font-weight:400;font-kerning:normal;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em;line-height:1.12}
h3{font-family:var(--font-text);font-weight:500;letter-spacing:0;line-height:1.3}
.room-title h1{font-size:clamp(28px,2.8vw,36px);letter-spacing:-.035em}
.room-title p{font-size:14px;line-height:1.45;margin-top:9px}
nav a,.rail-page nav a,.text-link{font-weight:400;font-size:14px}
.rail-page .filters button,.rail-page .view-switch button,.detail-side button{font-weight:500;letter-spacing:0;border-radius:0}
.rail-page .filters button[aria-pressed=true],.rail-page .view-switch button[aria-pressed=true],.detail-side button[aria-pressed=true]{background:var(--accent);color:#fffaf5}
.rail-page .filters button:hover,.rail-page .view-switch button:hover{background:#e4dfd7;color:var(--ink)}
.rail-page .filters button[aria-pressed=true]:hover,.rail-page .view-switch button[aria-pressed=true]:hover{background:#51232c;color:#fffaf5}
.rail-caption h2{font-size:24px;line-height:1.12;font-weight:500;letter-spacing:-.035em}
.rail-caption p,.product-meta span{font-size:14px;line-height:1.5}
.rail-caption>span{font-size:12px;font-variant-numeric:tabular-nums}
.rail-caption>button{font-size:14px;font-weight:400}
.rail-arrow{background:#f1f0ebed;color:var(--ink)}
.rack-hint{font-size:12px;color:var(--muted)}
.ticker{background:var(--accent);color:#f6f2e9;font-weight:500;font-size:13px;letter-spacing:.06em}
.story-copy h2{font-size:clamp(32px,4vw,48px);max-width:14ch}
.story-copy p{font-size:16px;line-height:1.6;max-width:48ch;color:var(--ink)}
.product-meta h3{font-size:16px;font-weight:500;letter-spacing:0;line-height:1.3}
.newsletter h2{font-family:var(--font-display);font-size:clamp(30px,3vw,40px);font-weight:500;letter-spacing:-.035em;line-height:1.1}
.newsletter .newsletter-intro{font-size:15px;line-height:1.55}
.newsletter-submit{font-weight:500;letter-spacing:0;border-radius:0}
.newsletter-submit:disabled{opacity:.65;cursor:wait}
.newsletter .consent span{font-size:13px}
.newsletter-side nav a{font-size:14px}
.signup .signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden} /* taste-skill-ignore: inaccessible-to-humans honeypot, not a visual rule. */
.newsletter #form-result[data-state=error]{color:#8c2436}
/* Product information sits beside the garment, like a shop's product page. */
.rail-page #product-dialog{padding:18px 32px 40px}
.rail-page .close{top:0;margin-bottom:4px;font-weight:400;font-size:14px}
.rail-page .detail-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,88px);max-width:1220px;align-items:center;min-height:calc(100dvh - 110px)}
.rail-page .detail-visual{position:relative;width:100%;max-width:none;margin:0;align-self:center}
.rail-page .detail-visual .product-image{height:min(65dvh,660px);width:auto;max-width:100%;margin:0 auto}
.rail-page .detail-copy{text-align:left;max-width:440px;width:100%;margin:0;padding:24px 0;align-self:center}
.rail-page #detail-category{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}
.rail-page .detail-copy h2{font-family:var(--font-display);font-size:clamp(28px,2.8vw,38px);font-weight:500;letter-spacing:-.035em;line-height:1.12;margin:0 0 12px;text-wrap:balance}
.rail-page #detail-color{font-size:16px;margin-bottom:28px;color:var(--ink)}
.rail-page #detail-description{font-size:16px;line-height:1.55;max-width:44ch;margin:0 0 26px;color:var(--ink)}
.rail-page .detail-copy .availability{font-size:13px;font-weight:500;color:var(--accent);margin:0 0 8px}
.rail-page .detail-copy>.muted{font-size:14px;line-height:1.5;margin-bottom:24px;max-width:42ch}
.rail-page .detail-copy label{font-size:13px;margin-bottom:8px}
.rail-page .detail-copy select{width:100%;min-height:48px;border:1px solid #99948b;background:transparent;font-size:15px;margin:0}
.rail-page #choose-product{width:100%;margin:12px 0 0;padding:15px 18px;min-height:50px;border-radius:0;font-size:15px;font-weight:500}
.rail-page .detail-copy .form-foot{font-size:12px;line-height:1.5;margin:18px 0 0;max-width:42ch}
.rail-page .detail-side{margin-top:14px}
.rail-page .detail-side button{min-width:72px;border-radius:0;font-size:14px}
.rail-page .swipe-hint{font-size:12px;margin-top:14px}
.rail-page .detail-prev,.rail-page .detail-next{position:absolute;top:42%;width:40px;height:40px;z-index:5;border-color:#b4afa5;background:var(--paper);font-size:20px}
.rail-page .detail-prev{left:0}.rail-page .detail-next{right:0}
@media(min-width:901px){.rail-page .swipe-hint{display:none}}
@media(max-width:900px){
 .rail-page #product-dialog{padding:12px 24px 36px}
 .rail-page .detail-layout{grid-template-columns:1fr;gap:24px;min-height:0;max-width:540px}
 .rail-page .detail-visual .product-image{height:45svh;max-height:500px}
 .rail-page .detail-copy{max-width:none;padding:0;margin:0}
 .rail-page .detail-copy h2{font-size:32px}
 .rail-page #detail-color{margin-bottom:20px}
 .rail-page #detail-description{max-width:none;margin-bottom:24px}
}
@media(max-width:600px){
 .room-title h1{font-size:28px}.room-title p{font-size:13px}
 .rail-caption h2{font-size:24px}.product-meta h3{font-size:14px}.product-meta span{font-size:13px}
 .story-copy h2{font-size:34px}.rail-page nav a{font-size:13px}
 .newsletter-side nav a,.newsletter .newsletter-origin{font-size:13px}.newsletter .consent span{font-size:12px}
 .rail-page #product-dialog{padding:12px 20px 32px}
 .rail-page .detail-copy h2{font-size:30px}.rail-page .detail-visual .product-image{height:41svh}
 .rail-page .detail-prev{left:-8px}.rail-page .detail-next{right:-8px}
}

/* Compact shop typography; the original logo and garment lettering are image assets. */
.rail-page .rail-room{min-height:calc(100svh - 94px);padding-top:12px}
.intro h1{font-size:clamp(40px,5vw,68px);line-height:1.06}
.rail-page #detail-color{font-size:15px}
.rail-page #detail-category{margin-bottom:10px}
@media(max-width:600px){.rail-page .rail-room{min-height:calc(100svh - 110px)}}
