:root{--ink:#392632;--rose:#b83160;--pink:#e9a6bb;--paper:#fbf7f6;--line:#eadde2}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{touch-action:manipulation}a:hover{color:var(--rose)}:focus-visible{outline:3px solid #a12958;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,5vw,76px);line-height:1.25;letter-spacing:-2px;font-weight:500}h2{font-size:clamp(26px,3vw,42px);line-height:1.4;font-weight:500}h3{font-size:22px;line-height:1.5;font-weight:550}.skip{position:fixed;left:20px;top:-100px;background:#fff;padding:12px;z-index:99}.skip:focus{top:10px}.header{height:100px;display:flex;align-items:center;gap:35px;padding:0 max(5vw,20px);border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:650;white-space:nowrap}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--rose);border-radius:50% 50% 8px 8px;color:var(--rose)}nav{display:flex;gap:24px;align-items:center;margin-left:auto}nav a{font-size:14px}nav a[aria-current=page]{color:var(--rose)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--rose);color:#fff;padding:15px 27px;border:0;border-radius:4px;cursor:pointer;font-size:15px}.button:hover{background:#94254d;color:#fff}.button.small{font-size:13px;padding:10px 18px}.button.light{background:var(--paper);color:var(--ink)}.button:disabled{opacity:.6}.menu-toggle{display:none}.hero{padding:45px max(5vw,20px)}.hero-slide{min-height:530px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:6vw}.hero-slide>div:first-child{padding:40px 0}.hero-slide p{max-width:440px;color:#705c69;font-size:17px}.hero-slide h1 span{color:var(--rose)}.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:3px;margin-bottom:22px;color:#9a4b68}.hero-art{position:relative;height:510px;background:linear-gradient(145deg,#f1d9db,#ead0d2 55%,#d5a2b1);overflow:hidden;border-radius:190px 190px 6px 6px}.hero-art .arch{position:absolute;border:1px solid #fcf3ed88;border-radius:50%;width:360px;height:490px;transform:rotate(24deg)}.hero-art .a{right:-85px;top:30px}.hero-art .b{left:-85px;top:120px}.hero-art>span{position:absolute;font-family:Georgia,serif;font-size:390px;line-height:1;top:10px;left:22%;color:#fffbf7a8;font-style:italic;font-weight:400;text-shadow:15px 20px 50px #b2738a40}.hero-art p{position:absolute;bottom:20px;left:35px;font-size:11px;letter-spacing:5px;line-height:1.5;color:#754453}.hero-slide>img{width:100%;max-height:510px;object-fit:cover;border-radius:120px 120px 4px 4px}.hero-slide.secondary{min-height:280px;border-top:1px solid var(--line)}.hero-slide.secondary h1{font-size:38px}.intro-line{margin:0 5vw;display:flex;gap:20px;justify-content:space-between;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:#8a6576}.intro-line p{margin:0}.section{padding:70px max(5vw,20px)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-heading h2{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.card{border:1px solid var(--line);background:#fffdfc;border-radius:7px;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card>img{display:block;width:100%;height:240px;object-fit:cover}.card-body{padding:28px}.card-body p{font-size:14px;color:#806976;min-height:50px}.card .eyebrow{margin-bottom:15px;font-size:10px}.text-link{color:var(--rose);font-size:14px;font-weight:600}.about-band{margin:30px 5vw 70px;padding:65px;background:#efe3e5;display:grid;grid-template-columns:1fr 1fr;gap:20px 60px;border-radius:6px}.about-band>.eyebrow{grid-column:1/-1;margin:0}.about-band p{color:#725d69}.cta{background:#422b38;color:#f6eeec;padding:65px 7vw;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta .eyebrow{color:#d1a4b4}.cta h2{margin:0}.footer-top{padding:45px 5vw;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.footer-top .brand{display:block}.footer-top p,.footer-top a{font-size:12px;color:#806976;margin:0}.footer-top a{margin-left:18px}.footer-bottom{margin:0 5vw;padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:#806976}.page-hero{padding:80px 5vw 50px;background:#f3e8e9}.page-hero h1{font-size:clamp(32px,4vw,55px);margin-bottom:20px}.page-hero p{max-width:740px;color:#806976}.article{max-width:880px;margin:auto;padding:60px 25px 80px;overflow-wrap:anywhere}.article>img{max-width:100%;max-height:540px;object-fit:contain;display:block;margin:0 auto 35px}.article p{white-space:normal}.article h2{font-size:27px;margin-top:32px}.gallery{display:flex;flex-wrap:wrap;gap:20px}.gallery img{max-width:100%;width:240px;height:220px;object-fit:cover}.article dt{font-weight:600}.article dd{margin:0 0 18px}.faq{padding:20px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:18px}.faq p{padding-top:20px}.empty{padding:45px;background:#f4edee;color:#806976;text-align:center;border-radius:5px}.pagination,.filters{margin:30px 5vw;display:flex;gap:12px;flex-wrap:wrap}.pagination a,.filters a{padding:8px 18px;border:1px solid var(--line);border-radius:4px}.pagination [aria-current=page]{background:var(--rose);color:#fff}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:70px 7vw}.contact-layout h2{font-size:32px}.contact-layout label{display:block;font-size:14px;margin-bottom:20px}.contact-layout input:not([type=checkbox]),textarea{display:block;margin-top:8px;width:100%;border:1px solid #d7c4cc;padding:12px;background:#fff;border-radius:4px}.contact-layout textarea{resize:vertical}.consent{display:flex!important;align-items:start;gap:5px;font-size:12px!important}.consent input{margin-top:6px}.consent a{text-decoration:underline}.muted{color:#806976;font-size:13px}.contact-layout form{min-width:0}#form-result{margin-top:20px}@media(min-width:1500px){.header,.hero,.section,.page-hero{padding-left:calc((100vw - 1320px)/2);padding-right:calc((100vw - 1320px)/2)}}@media(max-width:1000px){.header{gap:20px}.header>.button{display:none}nav{gap:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{height:440px}.hero-art>span{font-size:320px}.contact-layout{gap:40px}}@media(max-width:700px){.header{height:78px;position:relative;justify-content:space-between}.brand{font-size:20px}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;padding:7px 13px;color:var(--ink);border-radius:4px}#navigation{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px;z-index:3;border-bottom:1px solid var(--line);margin:0}#navigation.open{display:flex;flex-wrap:wrap}.hero{padding-top:15px}.hero-slide{grid-template-columns:1fr;gap:10px;min-height:0}.hero-slide>div:first-child{padding:35px 0 15px}.hero-slide h1{font-size:40px;letter-spacing:-1px}.hero-art{height:320px;border-radius:140px 140px 4px 4px}.hero-art>span{font-size:290px;left:30%;top:-20px}.hero-art p{font-size:9px}.hero-slide p{font-size:15px}.intro-line{font-size:11px;align-items:center}.intro-line>span:last-child{display:none}.intro-line p{max-width:160px}.section{padding-top:45px;padding-bottom:45px}.grid{grid-template-columns:1fr;gap:18px}.card-body{padding:25px}.about-band{padding:30px;grid-template-columns:1fr;margin-bottom:40px;gap:15px}.about-band h2{font-size:30px}.cta{padding:45px 6vw;display:block}.cta h2{font-size:30px;margin-bottom:28px}.footer-top{display:block;padding:30px 6vw}.footer-top p{margin:20px 0}.footer-top a{margin:0 18px 0 0}.page-hero{padding:50px 6vw 30px}.contact-layout{grid-template-columns:1fr;padding:40px 6vw;gap:25px}.article{padding-top:35px}.empty{padding:30px 20px}}
/* Shared responsive rules: navigation, readable measures, and touch controls. */
html{scroll-padding-top:28px}img{max-width:100%}main{min-height:40vh}h1,h2,h3,p,a,dd{overflow-wrap:anywhere}h1,h2,h3{text-wrap:balance}.header{gap:24px}#navigation{gap:clamp(12px,1.5vw,24px)}#navigation a{white-space:nowrap;min-height:44px;display:flex;align-items:center}.hero,.section,.page-hero,.contact-layout,.cta,.footer-top{padding-inline:max(24px,calc((100vw - 1240px)/2))}.intro-line,.about-band,.footer-bottom,.filters,.pagination{margin-inline:max(24px,calc((100vw - 1240px)/2))}.header{padding-inline:max(24px,calc((100vw - 1380px)/2))}.card{height:100%;display:flex;flex-direction:column}.card-body{flex:1;display:flex;flex-direction:column}.card-body .text-link{margin-top:auto;padding-block:8px;min-height:44px}.card-body p{min-height:0}.card-body h3{font-size:21px}.button{min-height:48px}.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px}.contact-layout form{background:#fffdfc;border:1px solid var(--line);border-radius:12px;padding:30px}.consent{display:grid!important;grid-template-columns:20px 1fr;gap:8px;line-height:1.8}.consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--rose)}.consent span{min-width:0}.contact-layout input,.contact-layout textarea{font-size:16px}.contact-layout #form-result:empty{display:none}.filters a[aria-current=page]{background:var(--rose);color:#fff}.filters a,.pagination a{min-height:44px}.breadcrumb{font-size:13px;margin:0 0 24px;color:#7b5367}.breadcrumb a{text-decoration:underline}.empty h3{margin-bottom:10px}.empty p{margin-bottom:20px}.service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;list-style:none;margin:35px 0}.service-steps li{background:#f5edef;border:1px solid var(--line);padding:20px;border-radius:8px}.service-steps strong{display:block;color:var(--rose);font-size:16px}.service-steps p{font-size:14px;margin:10px 0 0}.footer-bottom{gap:12px;flex-wrap:wrap}.contact-layout+.cta{display:none}.preview-note{background:#fff0d6;color:#644620;padding:18px;text-align:center}.header .menu-toggle{min-height:44px}.nav-backdrop{display:none}
@media(max-width:1200px){.header{height:82px;position:relative;justify-content:space-between}.header>.button{display:none}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;padding:8px 16px;border-radius:5px;color:var(--ink)}#navigation{display:none;position:absolute;top:82px;left:0;right:0;margin:0;padding:20px 24px;background:var(--paper);z-index:21;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #3926320d;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;max-height:calc(100dvh - 82px);overflow-y:auto}#navigation.open{display:grid}#navigation a{padding:8px;border-radius:5px}#navigation a:hover{background:#f0e2e7}.hero-slide{gap:40px}.hero-art{height:440px}.hero-slide{min-height:480px}}
@media(min-width:701px) and (max-width:1000px){.hero-slide h1{font-size:48px}.hero-art{height:380px}.hero-art>span{font-size:290px}.contact-layout{gap:30px}.about-band{padding:40px}.card-body{padding:24px}}
@media(max-width:700px){.header{height:76px;padding-inline:20px}#navigation{top:76px;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 20px;max-height:calc(100dvh - 76px)}.hero,.section,.page-hero,.contact-layout,.cta,.footer-top{padding-inline:20px}.intro-line,.about-band,.footer-bottom,.filters,.pagination{margin-inline:20px}.hero-slide{min-height:0;gap:18px}.hero-slide h1{font-size:clamp(35px,9vw,46px)}.hero-art{height:280px;border-radius:140px 140px 8px 8px}.hero-art>span{font-size:265px;left:calc(50% - 70px)}.hero-slide>img{height:280px;object-fit:cover}.hero-slide.secondary h1{font-size:30px}.section-heading{margin-bottom:24px}.card>img{height:220px}.card-body{padding:24px}.contact-layout{grid-template-columns:1fr;gap:16px}.contact-layout form{padding:20px}.contact-layout h2{font-size:26px}.contact-layout .button{width:100%}.service-steps{grid-template-columns:1fr;gap:12px}.about-band{padding:28px}.page-hero h1{font-size:clamp(30px,8vw,42px)}.article{padding-inline:20px}.footer-bottom{font-size:12px}.empty{padding:28px 20px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery img{width:100%;height:160px}.cta .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
