@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ink:#28193f;--deep:#65439b;--moss:#5d516b;--white:#ffffff;--paper:#ffffff;--lavender:#f4effb;--line:#e5dcee;--gold:#7951b0;--display:"Instrument Serif",Georgia,serif;--body:"DM Sans","Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);line-height:1.55}
a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #7551ad;outline-offset:4px}
img{display:block;width:100%;height:auto}figure{margin:0}.wrap{width:min(1200px,calc(100% - 72px));margin-inline:auto}.skip{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:2}.skip:focus{top:12px}
.mast{border-bottom:1px solid var(--line)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.nav nav{display:flex;gap:clamp(18px,3vw,40px);font-size:.92rem;font-weight:600}.nav nav a:hover,.quiet:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:1.8rem;line-height:.9}.brand img{width:52px;height:52px;border-radius:50%;object-fit:contain;background:white}.brand small{display:block;margin-top:8px;font:700 .57rem var(--body);letter-spacing:.2em}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:1px solid var(--deep);padding:13px 19px;background:var(--deep);color:white;font:700 .94rem var(--body);min-height:50px;border-radius:7px;cursor:pointer;white-space:nowrap}.button:hover{background:#513279}.button.small{padding:10px 15px;min-height:42px}.quiet{font-size:.94rem;font-weight:700}.quiet span{margin-left:5px}
.hero{display:grid;grid-template-columns:.85fr 1.15fr;min-height:570px;align-items:center;gap:clamp(32px,5vw,78px);padding-block:63px 68px}.hero-copy{padding-block:16px}.eyebrow{font-weight:700;color:var(--moss);font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:9px;margin:0 0 13px}.eyebrow i,.hero-photo i{width:7px;height:7px;border-radius:50%;background:#9269c6;display:inline-block;flex:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:.99}h1{font-size:clamp(4.1rem,7.25vw,7.1rem);letter-spacing:-.035em;margin-bottom:25px}h1 em{color:#7752a8}h2{font-size:clamp(3.1rem,5.3vw,5.1rem);letter-spacing:-.02em;margin-bottom:12px}h3{font-size:2.25rem;margin-bottom:9px}.intro{color:var(--moss);max-width:40ch;font-size:1.08rem;margin-bottom:24px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:17px}.hero-photo{height:460px;position:relative;overflow:hidden;border-radius:12px;background:#eee5f8}.hero-photo img{height:100%;object-fit:cover;object-position:52% 57%}.hero-photo figcaption{position:absolute;left:16px;bottom:16px;background:var(--paper);padding:9px 13px;border-radius:6px;font-size:.72rem;font-weight:700;display:flex;align-items:center;gap:7px}
.catalog{background:var(--lavender);border-block:1px solid var(--line)}.section{padding-block:72px 77px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-head h2{margin-bottom:0}.section-head>p{max-width:31ch;margin:0 0 4px;color:var(--moss)}.products,.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.product-image{background:white;aspect-ratio:1.35;display:grid;place-items:center;border-bottom:1px solid #f1eaf8}.product-image img{width:100%;height:100%;max-height:310px;object-fit:contain}.product-body{padding:22px 23px;display:flex;flex-direction:column;flex:1}.product-body p{color:var(--moss);margin-bottom:17px}.product-link{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;border-top:1px solid var(--line);padding-top:13px;font-weight:700}.product-link:hover{color:#573384}.note{color:#5d516b;font-size:.8rem;margin:11px 0 0}.gallery figure{overflow:hidden;border-radius:9px;background:var(--paper);border:1px solid var(--line)}.gallery img{height:330px;object-fit:cover}.gallery figcaption{font-weight:600;padding:12px 15px}
.delivery{background:#eee5f8}.delivery-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding-block:59px}.delivery p:not(.eyebrow),.inquiry>div>p:not(.eyebrow){max-width:45ch;color:var(--moss)}.delivery ul{display:flex;gap:9px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.delivery li{border:1px solid #cdb9e4;border-radius:99px;padding:8px 14px;font-weight:600}
.inquiry{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.inquiry form{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:27px;display:grid;gap:15px}.inquiry fieldset{border:0;padding:0;margin:0;min-width:0}.inquiry legend,.inquiry label{font-weight:700;font-size:.92rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.fields input,textarea{display:block;width:100%;margin-top:5px;border:1px solid #cfbfdf;border-radius:6px;padding:9px 10px;font:400 1rem var(--body);background:#fff;color:var(--ink);min-width:0}.fields input{height:44px}.inquiry small{font-weight:400;color:var(--moss)}textarea{resize:vertical}.inquiry form button{justify-self:start}.inquiry .note{margin:0}.notice{margin:0;color:#872b22;font-size:.86rem}.notice:empty{display:none}
footer{border-top:1px solid var(--line);background:#f8f4fc}.footer{min-height:93px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:14px}.footer>div{display:flex;flex-wrap:wrap;gap:19px;font-weight:600;font-size:.92rem}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.hero{gap:24px;min-height:0;padding-block:48px}.hero-photo{height:400px}.nav nav{gap:14px}.section{padding-block:54px}.gallery img{height:270px}.inquiry{gap:22px}}
@media(max-width:680px){.wrap{width:calc(100% - 32px)}.nav{min-height:70px;gap:10px}.nav nav{display:none}.hero,.inquiry,.delivery-inner{grid-template-columns:1fr}.hero{padding-block:23px 35px;gap:18px}.hero-copy{padding-block:10px 5px}h1{font-size:clamp(3.6rem,15vw,5.5rem);margin-bottom:15px}.intro{font-size:1rem}.hero-photo{height:clamp(245px,71vw,390px)}.section-head{display:block}.section-head>p{margin-top:12px}.products{grid-template-columns:1fr}.product-image{aspect-ratio:1.55}.product-image img{max-height:240px}.gallery{grid-template-columns:1fr 1fr;gap:10px}.gallery figure:first-child{grid-column:1/-1}.gallery img{height:190px}.gallery figure:first-child img{height:275px;object-position:50% 58%}.gallery figcaption{font-size:.79rem;padding:9px}.delivery-inner{gap:13px;padding-block:35px}.inquiry form{padding:15px}.fields{grid-template-columns:1fr}.footer{align-items:start;flex-direction:column}.section{padding-block:41px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.product-body .price {
  display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;
  color:var(--deep); margin:1px 0 12px;
}
.price strong {font-size:1.55rem; line-height:1.2; font-variant-numeric:tabular-nums}
.price span {font-size:.85rem; color:var(--moss)}
.faq {background:var(--lavender); border-block:1px solid var(--line)}
.faq-layout {display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(22px,5vw,66px)}
.faq-layout h2 {max-width:12ch}
.faq-list {display:grid; gap:9px; align-content:start}
.faq-list details {background:white; border:1px solid var(--line); border-radius:9px}
.faq-list summary {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 18px; font-weight:700; cursor:pointer; list-style:none}
.faq-list summary::-webkit-details-marker {display:none}
.faq-list summary::after {content:"+"; color:var(--deep); font-size:1.25rem; line-height:1}
.faq-list details[open] summary::after {content:"−"}
.faq-list summary:focus-visible {outline:3px solid var(--deep); outline-offset:2px; border-radius:9px}
.faq-list p {margin:0; padding:0 18px 16px; color:var(--moss)}
@media(max-width:760px){.faq-layout{grid-template-columns:1fr}.faq-layout h2{max-width:none;margin-bottom:0}}

.rating {display:flex; flex-wrap:wrap; align-items:center; gap:3px 9px; border:1px solid var(--line); background:var(--lavender); padding:10px 14px; border-radius:8px; font-size:.9rem; max-width:max-content}
.rating:hover {border-color:var(--deep)}
.rating span:last-child {flex-basis:100%; color:var(--deep)}
.stars {color:#73519d; letter-spacing:.13em; white-space:nowrap}
.reviews {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
.reviews figure {border:1px solid var(--line); background:var(--lavender); padding:23px; border-radius:10px}
.reviews blockquote {font-family:var(--display); font-size:clamp(1.6rem,2.7vw,2.2rem); line-height:1.13; margin:8px 0 13px}
.reviews figcaption {font-size:.86rem; color:var(--moss)}
@media(max-width:680px){.rating{margin-top:12px}.reviews{grid-template-columns:1fr}}

.gallery .interior-photo {object-position:center 67%}
.quantities {display:grid; gap:6px; margin-top:8px}
.quantities label {display:grid; grid-template-columns:minmax(0,1fr) 5.25rem; gap:12px; align-items:center; padding:8px 0; border-bottom:1px solid var(--line)}
.quantities label small {display:block; margin-top:2px}
.quantities input {width:100%; min-height:44px; padding:7px 8px; border:1px solid #cfbfdf; border-radius:6px; background:#fff; color:var(--ink); font:inherit}
.rental-total {display:grid; grid-template-columns:1fr auto; gap:2px 8px; align-items:baseline; margin-top:12px; padding:10px 13px; border-radius:7px; background:var(--lavender); color:var(--deep); font-weight:700}
.rental-total output {font-size:1.35rem; font-variant-numeric:tabular-nums}
.rental-total small {grid-column:1/-1}


.contact-note {margin:0 0 6px!important}
.trap {position:absolute; left:-10000px}
.notice[data-kind="success"] {color:#245b3b}
.inquiry button:disabled {cursor:wait; opacity:.75}
