:root{--purple:#664582;--deep:#372e3b;--lav:#ede4f3;--cream:#fcfaf6;--muted:#716977}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--deep);font-family:Arial,sans-serif;line-height:1.65}a{color:inherit}header{max-width:1320px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font:25px Georgia,serif;text-decoration:none}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:2px;margin-top:7px}.flower{font-size:46px;color:var(--purple)}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav>a{text-decoration:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--purple);color:white;text-decoration:none;padding:17px 24px;border-radius:6px;border:1px solid var(--purple);font:14px Arial,sans-serif;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#4d3066;transform:translateY(-2px)}.small{padding:12px 18px}.wrap{max-width:1180px;margin:auto;padding-left:30px;padding-right:30px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-top:42px;padding-bottom:85px}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:bold;color:var(--purple);margin:0 0 20px}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.1}h1{font-size:clamp(48px,5.2vw,73px);letter-spacing:-2px;margin:0 0 28px}h1 em{color:var(--purple)}.intro{font-size:17px;max-width:440px;color:var(--muted);margin-bottom:30px}.micro{font-size:12px;color:var(--muted);margin-top:19px}.micro span{padding:0 9px}.hero-image{position:relative;padding-bottom:20px}.hero-image>img{width:100%;height:560px;object-fit:cover;border-radius:170px 170px 8px 8px}.image-note{position:absolute;bottom:0;left:-25px;background:#fffdf8;padding:24px 70px 24px 26px;font:24px/1.3 Georgia,serif;box-shadow:0 8px 30px #34233a12;transform:rotate(-3deg)}.image-note span{position:absolute;right:17px;top:23px;font-size:40px;color:#ab88bb}.ribbon{background:var(--lav);text-align:center;padding:21px;font:18px Georgia,serif;color:var(--purple)}.ribbon span{margin:0 35px}.services{padding-top:85px;padding-bottom:80px}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:start}.section-head p{max-width:350px;margin-top:0;color:var(--muted)}h2{font-size:44px;letter-spacing:-1px;margin:0 0 24px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:35px}.service-grid article{border-top:1px solid #d5c7dd;padding-top:24px}.number{font-size:12px;color:var(--purple)}h3{font-size:27px;margin:19px 0 14px}.service-grid p{color:var(--muted);font-size:15px}.scope{font-size:13px;margin-top:35px;color:var(--muted)}.about{background:#f0eaf2;padding:75px 0}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.about-image img{width:100%;height:410px;object-fit:cover;border-radius:8px 100px 8px 8px}.about p:not(.eyebrow){font-size:16px}.reference{color:var(--purple);margin-top:25px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:100px;padding-bottom:90px}.visit-heading>p{color:var(--muted)}.rate{display:flex;align-items:baseline;gap:12px;color:var(--purple);margin:25px 0}.rate strong{font:70px Georgia,serif}.rate span{font-size:18px}label{display:block;font-size:13px;font-weight:bold;margin:17px 0 8px}.time-control{display:flex;gap:25px;align-items:center}input[type=range]{accent-color:var(--purple);flex:1;width:auto;padding:0}output{white-space:nowrap;font-size:14px}.estimate{display:flex;justify-content:space-between;margin-top:20px;padding:16px 0;border-top:1px solid #d7cddd;font-size:15px}.estimate strong{font-size:23px}form{background:#fff;padding:30px;border:1px solid #e6dde9;border-radius:12px;box-shadow:0 14px 45px #58356608}form h3{margin-top:0}input,textarea{display:block;width:100%;font:14px Arial,sans-serif;padding:13px;border:1px solid #d8d0dc;background:#fdfbfe;border-radius:5px;margin-top:7px;color:var(--deep)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}form button{width:100%;margin-top:15px}.form-note{font-size:12px;color:var(--muted);line-height:1.5}.email{font-size:13px;overflow-wrap:anywhere}#status{font-size:13px;color:var(--purple)}.faq{max-width:850px;padding-bottom:80px}.faq h2{margin-bottom:35px}details{border-bottom:1px solid #ded5e4;padding:19px 0}summary{cursor:pointer;font-size:16px}details p{color:var(--muted);font-size:14px}.closing{text-align:center;background:repeating-linear-gradient(90deg,#eee3f3 0,#eee3f3 55px,#f6f0f8 55px,#f6f0f8 95px);padding:55px 25px 65px}.closing>span{font-size:45px;color:var(--purple)}.closing h2{font-size:42px;margin:15px 0 28px}footer{padding-top:35px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{font-size:20px}footer p,footer>a:last-child{font-size:11px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a175bb;outline-offset:4px}@media(max-width:760px){header{padding:18px 22px}.brand{font-size:20px}.brand small{font-size:8px}.flower{font-size:34px}nav>a:not(.button){display:none}nav{gap:0}.small{font-size:12px;padding:11px}.hero{grid-template-columns:1fr;gap:30px;padding-top:28px;padding-bottom:45px}.wrap{padding-left:24px;padding-right:24px}h1{font-size:54px}.hero-image>img{height:410px;border-radius:130px 130px 8px 8px}.image-note{left:0;font-size:21px}.ribbon{font-size:15px}.ribbon span{margin:0 12px}.section-head{display:block}h2{font-size:37px}.services{padding-top:55px;padding-bottom:45px}.service-grid{grid-template-columns:1fr;gap:15px}.service-grid h3{margin-top:9px}.about{padding:45px 0}.about-inner{grid-template-columns:1fr;gap:32px}.about-image img{height:280px}.visit{grid-template-columns:1fr;gap:28px;padding-top:55px;padding-bottom:60px}form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}.faq{padding-bottom:55px}.closing h2{font-size:35px}footer{flex-direction:column;align-items:flex-start;gap:12px}footer p{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.about-image.portrait{max-width:420px;margin:auto;width:100%}.about-image.portrait img{display:block;width:100%;height:auto;border-radius:8px 80px 8px 8px}
