:root{--teal:#08a8b9;--ink:#15191d;--ice:#effbfd;--muted:#667078}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}h1,h2,h3{font-family:Georgia,serif;margin-top:0}h1{font-size:clamp(44px,6vw,82px);line-height:.92;margin-bottom:18px}h2{font-size:clamp(32px,4vw,48px);text-align:center;margin-bottom:28px}a{color:inherit}.top{height:82px;display:flex;align-items:center;gap:28px;padding:10px 6vw;position:sticky;top:0;background:#fff;z-index:20;box-shadow:0 1px 8px #0001}.brand{display:flex;align-items:center;text-decoration:none;font-size:10px;letter-spacing:1.4px;line-height:1.05;margin-right:auto}.brand .mark{font-family:Georgia,serif;font-size:62px;color:var(--teal);line-height:.8;margin-right:8px}.brand i{color:var(--teal);font-style:normal}.top nav,footer nav{display:flex;gap:22px}.top nav a,footer nav a{text-decoration:none;font-size:13px}.btn{display:inline-block;background:var(--teal);color:#fff;border-radius:28px;padding:15px 24px;text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.3px}.btn.small{padding:12px 18px}.btn.outline{background:#fff;color:var(--ink);border:1px solid #75818a}.menu{display:none;border:0;background:none;font-size:25px}.hero{min-height:560px;display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(90deg,#fff 0 50%,#f4f8f8 50%);overflow:hidden}.hero-copy{padding:55px 4vw 38px 9vw}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center}.eyebrow{color:var(--teal);font-weight:700;letter-spacing:2px;font-size:13px}.center{text-align:center}.lead{font-size:20px}.signature{font-family:cursive;color:var(--teal);font-size:30px;margin:10px 0}.credentials{display:flex;gap:26px;margin:28px 0;flex-wrap:wrap}.credentials span{text-align:center;font-size:28px}.credentials b,.credentials small{display:block;font-size:10px}.credentials small{font-size:8px}.actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:58px 6vw}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1250px;margin:auto}.cards article{display:grid;grid-template-columns:45% 55%;background:#f7fbfc;min-height:185px;overflow:hidden}.cards img{width:100%;height:100%;object-fit:cover}.cards article>div:last-child{padding:24px}.cards h3{font-size:25px;margin-bottom:8px}.soft{display:flex;align-items:center;justify-content:center;text-align:center;background:#e8f7f9;font-family:Georgia,serif;font-size:28px}.gallery,.reviews{background:var(--ice);padding:48px 5vw 55px}.filters{text-align:center;margin:-10px 0 25px}.filters button{border:1px solid #bfd4d8;background:transparent;border-radius:22px;padding:10px 28px;margin:4px;font-weight:700}.filters .active{background:var(--teal);color:#fff;border-color:var(--teal)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1350px;margin:auto}.gallery-grid figure{margin:0;background:#fff;min-height:330px;display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-grid img{width:100%;height:100%;object-fit:contain}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1300px;margin:auto}.price-grid>div{background:#f4fafb;padding:22px}.price-grid h3{font-size:20px}.price-grid p{display:flex;justify-content:space-between;border-bottom:1px solid #dce7e9;padding-bottom:8px}.about{display:grid;grid-template-columns:42% 58%;max-width:1300px;margin:auto;align-items:stretch}.about img{width:100%;height:100%;object-fit:cover;max-height:450px}.about>div{padding:48px}.about h2{text-align:left;margin-bottom:4px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1250px;margin:auto}.review-grid blockquote{margin:0;background:#fff;padding:24px;border-radius:8px;line-height:1.5}.reviews>details{max-width:1250px;margin:20px auto 0}.reviews summary,.faq summary{cursor:pointer;font-weight:700}.more-reviews{background:#fff;padding:18px 25px}.faq{max-width:1000px;margin:auto}.faq details{border-bottom:1px solid #d7e1e3;padding:18px 4px}.faq details p{color:#4b565d;line-height:1.6}.contact{text-align:center;padding:58px 5vw;background:linear-gradient(135deg,#fff,#f2fbfc)}.contact-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:28px 0}.contact-actions a{min-width:220px;text-decoration:none;border:1px solid #d2e1e4;border-radius:10px;padding:16px;background:#fff}.contact-actions b,.contact-actions span{display:block;margin-top:4px}footer{background:#111;color:#fff;padding:35px 6vw;display:flex;align-items:center;gap:35px;flex-wrap:wrap}.inverse .mark{color:#fff}footer small{width:100%;color:#aaa}.hidden{display:none!important}@media(max-width:900px){.top nav{display:none}.top .small{display:none}.menu{display:block}.top.open nav{display:flex;position:absolute;top:82px;left:0;right:0;background:#fff;flex-direction:column;padding:20px 6vw;box-shadow:0 8px 12px #0002}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7vw}.hero-photo{max-height:520px}.cards,.price-grid,.review-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure{min-height:260px}.about{grid-template-columns:1fr}.about>div{padding:35px 7vw}footer nav{display:none}}@media(max-width:520px){h1{font-size:48px}.credentials{gap:14px}.credentials span{flex:1 1 40%}.cards article{grid-template-columns:40% 60%}.contact-actions a{width:100%}}
/* Updated real-results gallery: original client images are displayed without retouching or content cropping. */
.gallery-grid figure{aspect-ratio:1/1;min-height:0}
.gallery-grid img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}

/* Legal pages */
.legal-links{display:flex;gap:18px;margin-left:auto}.legal-links a{color:#d9e5e7;font-size:12px;text-decoration:none}.legal-links a:hover{text-decoration:underline}.legal-page{max-width:900px;margin:0 auto;padding:64px 6vw 80px;line-height:1.7}.legal-page h1{font-size:clamp(38px,6vw,60px);line-height:1.05}.legal-page h2{text-align:left;font-size:27px;margin:34px 0 10px}.legal-page h3{font-size:20px;margin:24px 0 8px}.legal-page p,.legal-page li{color:#445058}.legal-page .updated{color:#78858b;font-size:14px}.legal-page a{color:var(--teal)}.legal-back{display:inline-block;margin-bottom:26px;text-decoration:none;font-weight:700}.legal-note{background:#f2fbfc;border-left:3px solid var(--teal);padding:16px 18px;margin:24px 0}@media(max-width:900px){.legal-links{width:100%;margin-left:0}.legal-page{padding-top:42px}}
