/* One visual language across the public website; ordering states stay intact. */
.ps-site{--ps-ink:#123d42;--ps-muted:#52696b;--ps-line:#d9e2de;--ps-paper:#f7f5f0;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.55;color:var(--ps-ink);background:var(--ps-paper);-webkit-font-smoothing:antialiased}
.ps-site *{box-sizing:border-box}
.ps-site :is(h1,h2,h3,h4){font-family:Archivo,Inter,Arial,sans-serif;font-weight:600;letter-spacing:-.025em}
.ps-site :is(input,select,textarea,button){font-family:Inter,Arial,sans-serif}
.ps-site :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px;line-height:1.5;border-radius:10px;border:1px solid #a5b8b4;color:var(--ps-ink);background:#fff;min-height:48px}
.ps-site textarea{resize:vertical}
.ps-site button,.ps-site .button,.ps-site #request,.ps-site #continue-payment{border-radius:10px;font-weight:600}
.ps-site :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #d36731;outline-offset:4px}
.ps-site :is(button,a,input,select,textarea,summary){touch-action:manipulation}
.ps-site [hidden]{display:none!important}
.ps-site :is(.panel,.order-card,.cart-item,.advice,.file-guidance){border-radius:16px;border-color:var(--ps-line)}
.ps-site :is(.hint,.help,.field-hint){color:var(--ps-muted);line-height:1.6}
.ps-site :is(#message,#status,#quote-status,#design-status):empty{display:none}
.ps-site .salon-lockup{display:inline-flex;align-items:center;gap:3px;line-height:1;white-space:nowrap}
.ps-site .salon-prefix{font:700 40px/1 Inter,Arial,sans-serif;letter-spacing:-.05em}
.ps-site header .brand .salon-lockup img{display:block;height:40px;width:auto;max-width:none}
.ps-site header .brand{color:var(--ps-ink);text-decoration:none;flex:none}
.ps-site:not(.salon-home):not(.subpage)>header{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;max-width:1240px;margin:auto;padding:24px 28px;border-bottom:1px solid var(--ps-line);font-size:14px}
.ps-site:not(.salon-home):not(.subpage)>header>.brand{margin-right:auto}
.ps-site:not(.salon-home):not(.subpage)>header nav{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.ps-site:not(.salon-home):not(.subpage)>header a:not(.brand){text-decoration:none;min-height:44px;display:inline-flex;align-items:center;font-weight:500}
.ps-site:not(.salon-home):not(.subpage)>header a:not(.brand):hover{text-decoration:underline;text-underline-offset:5px}
.ps-site:not(.salon-home):not(.subpage) main{max-width:1240px;margin-inline:auto;padding:36px 28px 64px}
.ps-site:not(.salon-home):not(.subpage) main>h1,.ps-site .heading h1{font-size:clamp(30px,3.2vw,44px);line-height:1.15;margin:8px 0 14px}
.ps-site:not(.salon-home):not(.subpage) main>p{max-width:760px;color:var(--ps-muted);line-height:1.7}
.ps-site .site-footer{font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.7;padding:40px max(24px,calc((100vw - 1184px)/2));gap:32px}
.ps-site .site-footer strong{font-family:Archivo,Inter,Arial,sans-serif;font-size:24px}
.ps-site .site-footer nav{gap:8px}
.ps-site .printie .printie-toggle{animation:none;box-shadow:0 3px 12px #123d4212}
.ps-site.customer-product .panel{padding:28px;border-radius:16px}
.ps-site.customer-product .product-steps{font-size:13px;gap:14px 24px}
.ps-site.customer-product .included-options:empty{display:none}
.ps-site.customer-product #quote>label{margin-top:20px}
.ps-site.customer-product .selection-list{padding-left:20px;line-height:1.75}
.ps-site.customer-product .price-summary{box-shadow:0 -4px 24px #123d4212}
.ps-site .catalog-sidebar{padding:20px;background:#edf1ed;border-radius:16px;align-self:start}
.ps-site.customer-catalog .product{border-radius:16px;padding:24px;transition:border-color .18s,box-shadow .18s}
.ps-site.customer-catalog .product:hover{border-color:#87a49c;box-shadow:0 6px 18px #123d420c}
.ps-site .checkout-layout{gap:28px}
.ps-site .delivery-choice{border-radius:12px}
.ps-site .order-progress{gap:10px}
.ps-site .order-progress a{font-weight:600;font-size:14px;min-height:48px}
.ps-site:has(#design) main{max-width:940px}
.ps-site #design{display:grid;grid-template-columns:1fr 1fr;gap:22px;background:#fff;border:1px solid var(--ps-line);border-radius:20px;padding:32px;margin:28px 0;box-shadow:0 8px 24px #123d4205}
.ps-site #design label{font-size:14px;font-weight:600;line-height:1.5}
.ps-site #design :is(input,textarea){margin-top:8px;padding:13px;font-weight:400}
.ps-site #design>label:has([name=product]),.ps-site #design>label:has(textarea),.ps-site #design>p{grid-column:1 / -1}
.ps-site #design>p{margin:0;font-size:14px;line-height:1.7;color:var(--ps-muted)}
.ps-site #design>button{justify-self:start;min-height:50px}
.ps-site #design #design-status{color:var(--ps-ink)}
.ps-site.information-page article{padding:32px;border:1px solid var(--ps-line);border-radius:18px}
.ps-site.information-page article>p,.ps-site.information-page article>ul{max-width:760px}
.ps-site.subpage .nav{height:88px;position:absolute}
.ps-site.subpage .nav .brand span.salon-prefix{font:700 40px/1 Inter,Arial,sans-serif;letter-spacing:-.05em}
.ps-site.subpage .nav .nav-cta{border-radius:10px;padding:14px 18px;font-size:14px}
.ps-site.subpage .subpage-hero{min-height:0;padding:150px max(28px,calc((100vw - 1184px)/2)) 72px}
.ps-site.subpage .subpage-hero:after{display:none}
.ps-site.subpage .subpage-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.05;letter-spacing:-.04em;max-width:980px;margin:24px 0}
.ps-site.subpage .breadcrumbs{margin-bottom:24px}
.ps-site.subpage .subpage-hero .lead{font-size:18px;line-height:1.75;margin-top:20px}
.ps-site.subpage :is(.content-split,.benefits,.related,.seo-copy,.contact){padding:72px max(28px,calc((100vw - 1184px)/2));gap:48px}
.ps-site.subpage :is(.content-split,.benefits,.related,.seo-copy,.contact) h2{font-size:clamp(30px,3.6vw,46px);line-height:1.12}
.ps-site.subpage :is(.related-grid a,.benefit-grid article,.contact-card){border-radius:16px}
@media(min-width:1025px) and (hover:hover) and (pointer:fine){
 .ps-site.salon-home .printie-desktop-slot .printie-home .printie-toggle{width:100%;border-radius:14px;box-shadow:none}
 .ps-site.salon-home .printie-desktop-slot .printie-home{width:100%}
 .ps-site.salon-home .printie-desktop-slot .printie-welcome{justify-content:flex-start;padding-inline:28px}
 .ps-site.salon-home .printie-desktop-slot .printie-start{flex-basis:400px}
 .ps-site.salon-home .design-help{width:100%}
 .ps-site.salon-home .experience-line{font-weight:500;font-size:14px;color:var(--ps-muted)}
 .ps-site.salon-home .choice-item p{margin-top:12px;font-size:13px}
 .ps-site.salon-home .studio{border-radius:18px}
}
@media(max-width:1024px){
 .ps-site .catalog-sidebar{padding:14px}
 .ps-site .site-footer{padding:32px 24px}
}
@media(max-width:680px){
 .ps-site:not(.salon-home):not(.subpage)>header{padding:16px 20px;gap:8px 18px}
 .ps-site:not(.salon-home):not(.subpage)>header>.brand{width:100%;margin:0 0 4px}
 .ps-site header .brand .salon-lockup img{height:32px}
 .ps-site header .salon-prefix{font-size:32px}
 .ps-site:not(.salon-home):not(.subpage)>header nav{gap:16px}
 .ps-site:not(.salon-home):not(.subpage)>header a:not(.brand){font-size:13px;min-height:40px}
 .ps-site:not(.salon-home):not(.subpage) main{padding:24px 20px 48px}
 .ps-site.customer-product .panel{padding:20px}
 .ps-site.customer-product .product-steps{gap:8px 14px;font-size:12px;margin-bottom:22px}
 .ps-site .catalog-sidebar{padding:12px}
 .ps-site #design{grid-template-columns:1fr;padding:22px;gap:20px;border-radius:16px}
 .ps-site #design>*{grid-column:1}
 .ps-site #design>button{width:100%}
 .ps-site.information-page article{padding:22px}
 .ps-site.subpage .nav{height:80px;padding-inline:20px}
 .ps-site.subpage .subpage-hero{padding:124px 20px 40px}
 .ps-site.subpage .subpage-hero h1{font-size:42px}
 .ps-site.subpage :is(.content-split,.benefits,.related,.seo-copy,.contact){padding:40px 20px;gap:24px}
 .ps-site.subpage .proof-strip{gap:16px;padding:20px;font-size:12px}
 .ps-site.subpage :is(.benefit-grid,.related-grid){margin-top:24px}
}
@media(prefers-reduced-motion:reduce){.ps-site *{scroll-behavior:auto!important;transition:none!important}}
@media print{.ps-site #design{border:0;box-shadow:none}.ps-site main{padding:0!important}}

@media(min-width:1025px) and (hover:hover) and (pointer:fine){
 .ps-site .printie.printie-catalog .printie-toggle,.ps-site .printie.printie-product .printie-toggle{width:100%;max-width:none;height:84px;min-height:84px;flex-direction:row;border-radius:14px}
 .ps-site .printie.printie-catalog .printie-welcome,.ps-site .printie.printie-product .printie-welcome{flex:1;min-width:0;width:auto;height:84px;padding:8px 20px;gap:14px;justify-content:flex-start}
 .ps-site .printie.printie-catalog .printie-welcome .printie-mascot,.ps-site .printie.printie-product .printie-welcome .printie-mascot{width:58px;height:68px}
 .ps-site .printie.printie-catalog .printie-start,.ps-site .printie.printie-product .printie-start{height:84px;min-height:84px;flex:0 0 260px;width:auto;padding:0 20px;font-size:18px}
 .ps-site .printie.printie-catalog .printie-invite,.ps-site .printie.printie-product .printie-invite{max-width:none;text-align:left;align-items:flex-start}
 .ps-site.subpage .nav{padding-inline:max(28px,calc((100vw - 1184px)/2))}
 .ps-site.subpage .subpage-hero:has(.printie-inline){display:grid;grid-template-columns:minmax(0,1fr) 304px;column-gap:64px}
 .ps-site.subpage .subpage-hero:has(.printie-inline) .breadcrumbs{grid-column:1 / -1}
 .ps-site.subpage .subpage-hero:has(.printie-inline) h1{grid-column:1;grid-row:2}
 .ps-site.subpage .subpage-hero:has(.printie-inline) .lead{grid-column:1;grid-row:3}
 .ps-site.subpage .subpage-hero:has(.printie-inline) .printie-inline{grid-column:2;grid-row:2 / span 2;margin:0;align-self:center;justify-self:end}
 .ps-site.subpage .subpage-hero:has(.printie-inline)>.button{grid-column:1;justify-self:start}
}
