/* Shared surfaces: the opening's burgundy cards, white navigation and quiet gold. */
:root{--clay:#dfd1bd;--card-radius:7px;--card-padding:clamp(24px,2.8vw,36px)}
:root,.tone-cream,.tone-paper{
 --tone-action:#191715;--tone-action-text:#fff;--tone-action-line:#191715;
 --tone-hover:#552437;--tone-hover-text:#fff;--tone-hover-line:#552437;
 --tone-wash:none;
}
.tone-stone{
 --tone-bg:#dfd1bd;--tone-text:#41312f;--tone-muted:#60534f;
 --tone-line:#baaa93;--tone-panel:#ece2d3;--tone-panel-line:#baaa93;
 --tone-action:#191715;--tone-action-text:#fff;--tone-action-line:#191715;
 --tone-hover:#552437;--tone-hover-text:#fff;--tone-hover-line:#552437;
 --tone-wash:none;
}
.tone-black{
 --tone-title:#fff;--tone-text:#f2ebdf;--tone-muted:#ded5ca;--tone-accent:#d7bc95;
 --tone-line:#665247;--tone-panel-line:#665247;
 --tone-action:#f2ebdf;--tone-action-text:#191715;--tone-action-line:#f2ebdf;
 --tone-hover:#d7bc95;--tone-hover-text:#191715;--tone-hover-line:#d7bc95;
 --tone-wash:none;
}
.tone-wine{
 --tone-title:#fff;--tone-text:#f7f0e7;--tone-muted:#ebdfe1;--tone-accent:#d7bc95;
 --tone-line:#916372;--tone-panel-line:#916372;
 --tone-action:#f2ebdf;--tone-action-text:#191715;--tone-action-line:#f2ebdf;
 --tone-hover:#d7bc95;--tone-hover-text:#191715;--tone-hover-line:#d7bc95;
 --tone-wash:none;
}
body{background:var(--paper)}
.tone[data-rhythm]{border-top:0}
#main .surface-panel{
 min-width:0;background:var(--tone-bg);color:var(--tone-text);
 border:1px solid var(--tone-panel-line);border-radius:var(--card-radius);box-shadow:none;
}
#main .surface-panel :is(h2,h3,h4,strong){color:var(--tone-title)}
#main .surface-panel>p{color:var(--tone-text)}
#main .surface-panel a:not(.button){color:var(--tone-accent)}
#main .surface-panel a:not(.button):hover{color:var(--tone-title)}

/* Reading cards retain left-aligned copy; navigation alone uses pill shapes. */
#main :is(.story-copy,.complete-feature-copy,.academy-copy,.university-model-copy,
 .accessory-copy,.craft-notes,.included-grid>div,.service-route-grid>a,
 .contact-composition>div,.delivery-detail-grid>div,.personal-opening>div).surface-panel{
 padding:var(--card-padding);
}
#main :is(.fabric-item,.anatomy-part,.step).surface-panel{padding:26px 24px}
#main :is(.story-copy,.accessory-copy,.included-grid>div,.service-route-grid>a).surface-panel>:last-child{margin-bottom:0}
#main :is(.fabric-item,.anatomy-part,.step,.included-grid>div,.service-route-grid>a,.knowledge-card).surface-panel h3::after,
#main .service-route-grid>a.surface-panel h2::after{
 content:'';display:block;width:46px;height:1px;background:#c7aa82;margin-top:17px;
}
#main :is(.fabric-item,.anatomy-part,.step,.included-grid>div,.service-route-grid>a,.knowledge-card).surface-panel h3{margin-bottom:20px}
.story-grid{gap:clamp(28px,4vw,64px)}
.story-copy.surface-panel p+p{margin-top:20px}
.home-fabrics .fabric-list{display:grid;gap:14px;border:0}
.home-fabrics .fabric-list .fabric-item{grid-area:auto;margin:0;align-self:stretch}
.home-fabrics .fabric-item.surface-panel:first-child{padding-top:26px}
.home-fabrics .fabric-item.surface-panel+.fabric-item{padding-top:26px;border-top:1px solid var(--tone-panel-line)}
.anatomy-list{gap:16px}
.illustrated-detail .anatomy-part.surface-panel{padding:26px 24px}
.craft-notes.surface-panel{margin-top:32px}
.included-grid,.service-route-grid{gap:16px;align-items:stretch}
.included-grid>div.surface-panel{padding:26px 22px}
.service-route-grid>a.surface-panel{text-decoration:none;transition:border-color .18s}
.service-route-grid>a.surface-panel:hover{border-color:var(--tone-accent)}

/* Portraits keep their original proportions and neutral photographic backgrounds. */
.signature-portrait>span{background:#552437}
.collection-grid>.product-card>a{border-radius:var(--card-radius);box-shadow:none;overflow:hidden}
#main .collection-grid .product-info.surface-panel{border-radius:0;border-width:1px 0 0}
#main .variant-card.surface-panel{padding:0;overflow:hidden}
#main .collection-specials .variant-card.surface-panel{padding:22px}
.variant-card.surface-panel .variant-content{padding:26px 24px}
.variant-card.surface-panel>a>.illustration{border-radius:0}
.accessory-grid{gap:32px 24px;align-items:stretch}
.accessory-copy.surface-panel{margin-top:14px}
.accessory-grid-single .accessory-copy.surface-panel{margin-top:0}
.accessory-pair :is(.accessory-zoom,img),.university-model-photo button,
 .complete-feature img,.fabric-photo img,.delivery-detail img{border-radius:var(--card-radius)}
.university-preview-card.surface-panel{overflow:hidden;padding-bottom:24px}
.university-preview-card.surface-panel :is(h3,p){margin-inline:22px}
.university-model-copy.surface-panel .university-order{
 background:transparent;border-top:1px solid var(--tone-line);padding:24px 0 0;
}
.university-model-copy.surface-panel .university-features{margin-block:24px}
.university-model-copy.surface-panel .university-features li::before{color:var(--tone-accent)}
.academy-copy.surface-panel .university-tags span{color:var(--tone-text);border-color:var(--tone-line)}

/* The same generous, rectangular action used in the brand introduction. */
#main .tone :is(.button,.button.white,.call-button),
.footer.tone .footer-contact-links>a:first-child{
 border-radius:var(--card-radius);box-shadow:none;
 background:var(--tone-action);color:var(--tone-action-text);border-color:var(--tone-action-line);
 min-height:52px;line-height:1.5;text-align:center;white-space:normal;
}
#main .tone :is(.button,.button.white,.call-button):hover{
 background:var(--tone-hover);color:var(--tone-hover-text);border-color:var(--tone-hover-line);
}
#main .tone :is(.button.secondary,.button.outline-white){background:transparent;color:var(--tone-title);border-color:var(--tone-outline)}
#main .tone :is(.button.secondary,.button.outline-white):hover{background:var(--tone-action);color:var(--tone-action-text);border-color:var(--tone-action-line)}
.chapter-index-inner,.accessory-index .wrap{justify-content:center;gap:10px}
.chapter-index strong{width:100%;text-align:center;padding:0 0 6px}
#main :is(.chapter-index,.accessory-index,.flow-routes) a,
#main .university-index a{
 display:inline-flex;align-items:center;justify-content:center;min-height:46px;
 padding:12px 22px;border:1px solid #fff;border-radius:999px;
 background:#fff;color:#191715;text-align:center;line-height:1.5;
 text-decoration:none;font-size:.9375rem;transition:background-color .18s,color .18s,border-color .18s;
}
#main :is(.chapter-index,.accessory-index,.flow-routes) a:hover,
#main .university-index a:hover,
#main .flow-routes a:is([aria-current=page],[aria-current=location]){background:#552437;color:#fff;border-color:#c7aa82}
.university-index{border:0;gap:10px}
#main .university-index a{justify-content:space-between;padding:16px 20px;border-radius:var(--card-radius)}
.university-picker select{border-radius:999px;background:#fff}

/* Closed and expanded answers share the same card, without a horizontal jump. */
.faq-list{display:grid;gap:12px;border:0}
#main .faq-list details.surface-panel,
#main .faq-list details.surface-panel[open]{padding:0 24px;background:var(--tone-bg);border:1px solid var(--tone-panel-line)}
#main .faq-list details.surface-panel summary{padding:22px 34px 22px 0;color:var(--tone-title);font-weight:500}
#main .faq-list details.surface-panel summary::after{top:19px;color:var(--tone-accent)}
#main .faq-list details.surface-panel p{padding:0 0 22px;color:var(--tone-text)}
#main .faq-list details.surface-panel[open] summary{color:var(--tone-accent)}

/* A single light workspace keeps every form step and state easy to read. */
.flow-layout{gap:28px}
#main .flow-workspace.surface-panel{padding:clamp(20px,2.7vw,34px)}
.flow-workspace .flow-progress{gap:8px;margin-bottom:30px}
.tone .flow-progress li{
 padding:13px 10px;border:1px solid var(--tone-line);border-radius:var(--card-radius);
 color:var(--tone-muted);font-size:.8125rem;line-height:1.55;
}
.tone .flow-progress li[aria-current]{background:#552437;color:#fff;border-color:#552437}
.flow-progress li span{color:inherit}
.flow-workspace :is(.flow-preparation,.flow-calendar,.flow-summary){border-radius:var(--card-radius)}
#main .flow-workspace :is(.flow-calendar,.flow-summary){background:#fffcf7}
.flow-field :is(input,select,textarea){background:#fff;border-radius:var(--card-radius)}
.flow-field :is(input,textarea)::placeholder{color:#74685c;opacity:1}
.flow-times span,.flow-calendar-head button,.flow-days button{border-radius:5px}
.flow-aside .button{overflow-wrap:anywhere}
#main .cta-band>.wrap.surface-panel{padding:clamp(30px,4vw,52px)}

@media(max-width:1000px){
 .flow-layout{grid-template-columns:1fr;gap:24px}
 .flow-layout>.flow-aside{position:static}
}
@media(max-width:760px){
 :root{--card-padding:24px}
 .included-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-fabrics .fabric-item.surface-panel,.illustrated-detail .anatomy-part.surface-panel{padding:24px 20px}
 .accessory-grid-single .accessory-copy.surface-panel{margin-top:14px}
 .flow-workspace .flow-measure-layout{grid-template-columns:120px minmax(0,1fr);gap:18px}
 #main .flow-workspace .flow-calendar{padding:14px}
 .flow-workspace .flow-days{gap:4px}
 .flow-workspace .flow-days button{min-height:0;font-size:.875rem}
}
@media(max-width:560px){
 :root{--card-padding:22px}
 .included-grid{grid-template-columns:1fr}
 #main :is(.chapter-index,.accessory-index) a{flex:1 1 auto;padding:12px 16px;font-size:.875rem}
 .university-index{grid-template-columns:1fr}
 .flow-workspace .flow-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
 .flow-workspace .flow-measure-layout{grid-template-columns:1fr}
 .flow-workspace .flow-measure-layout figure{max-width:190px;margin-inline:auto}
 .flow-workspace .flow-controls .button{flex:1 1 auto}
 #main .faq-list details.surface-panel,#main .faq-list details.surface-panel[open]{padding-inline:20px}
 #main .flow-workspace .flow-calendar{padding:10px}
}
@media(prefers-reduced-motion:reduce){
 #main :is(.chapter-index,.accessory-index,.flow-routes,.university-index) a,.service-route-grid>a.surface-panel{transition:none}
}

/* Prices share one hierarchy: qualifier, amount, then included service. */
.money,.collection-grid .card-price strong,.responsive-price-table strong{
 white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;letter-spacing:0;
}
.collection-grid .card-price{align-items:center;gap:16px}
.collection-grid .card-price>div{display:grid;gap:6px;min-width:0}
.collection-grid .card-price strong,.collection-grid .card-service{display:block;margin:0}
.collection-grid .card-price strong{font-family:var(--sans);font-size:clamp(1.6rem,2.3vw,2rem);font-weight:500;line-height:1.25}
.collection-grid .card-service{font-size:.875rem;line-height:1.6}
.product-copy .product-price .price{display:grid;gap:6px;font-family:var(--sans);font-size:clamp(2rem,3vw,2.5rem);font-weight:500;line-height:1.3}
.product-copy .product-price .price>small{margin:0;font-family:var(--sans);font-size:.875rem;line-height:1.5;font-weight:400}
.quick-price{display:grid;gap:3px;min-width:0;max-width:none}
.quick-price small{font-size:.875rem;line-height:1.5}
.quick-price strong{font-family:var(--sans);font-size:1.5rem;font-weight:500;line-height:1.25}
.table-cell-label{display:none}
.story-grid:has(.responsive-data-table){display:block;max-width:1100px}
.story-grid:has(.responsive-data-table) .story-heading{max-width:860px;margin:0 auto 28px;text-align:center}
#main .story-grid:has(.responsive-data-table) .story-heading h2{max-width:none}
.story-grid:has(.responsive-data-table) .story-copy{width:100%;max-width:none}
.responsive-data-table tbody th{text-transform:none;letter-spacing:0;font-size:1rem;line-height:1.7;font-weight:500;vertical-align:top;background:transparent}
.responsive-data-table th,.responsive-data-table td{overflow-wrap:break-word}
.responsive-price-table strong{display:block;font-family:var(--sans);font-size:1.4rem;font-weight:500;line-height:1.35}
.responsive-price-table small{display:block;margin-top:5px;line-height:1.6;white-space:nowrap}
@media(max-width:760px){
 .table-wrap:has(.responsive-data-table){overflow:visible;margin-inline:0}
 .responsive-data-table{display:block;width:100%;min-width:0;border:0;background:transparent}
 .responsive-data-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 .responsive-data-table tbody{display:grid;gap:16px}
 .responsive-data-table tbody tr{display:block;min-width:0;padding:20px;border:1px solid var(--tone-line);border-radius:7px;background:var(--tone-panel)}
 .responsive-data-table tbody :is(th,td){display:block;width:auto;min-width:0;padding:0;border:0;background:transparent;color:var(--tone-text);text-align:left;font-size:1rem;line-height:1.75}
 .responsive-data-table tbody th{font-weight:600;color:var(--tone-title);padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid var(--tone-line)}
 .responsive-data-table tbody td+td{margin-top:18px}
 .responsive-data-table .table-cell-label{display:block;margin-bottom:5px;font-size:.875rem;font-weight:500;line-height:1.5;color:var(--tone-muted)}
 .responsive-price-table strong{font-size:1.75rem;color:var(--tone-title)}
 .responsive-price-table small{font-size:.875rem}
}
@media(max-width:560px){
 .product-quick-action{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;text-align:center;justify-items:stretch}
 .product-quick-action .quick-price{max-width:none;justify-items:center}
 .product-quick-action .button{width:100%;justify-content:center}
 .responsive-data-table tbody tr{padding:18px 16px}
}

/* A compact consent choice leaves the opening collection visible. */
.tm-consent .tm-consent-copy>a{display:inline-block;font-size:.875rem;line-height:1.6;margin-bottom:18px}
.tm-consent .tm-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tm-consent .tm-consent-choice{min-height:44px;padding:10px;font-size:.875rem;line-height:1.5;border-radius:7px}
.tm-consent .tm-consent-close{grid-column:1/-1;justify-self:start;min-height:44px}
@media(max-width:560px){
 .tm-consent{padding:20px}
 .tm-consent h2{font-size:1.25rem;margin-bottom:12px}
 .tm-consent p{line-height:1.65;margin-bottom:12px}
}
