html{scroll-behavior:smooth;scroll-padding-top:5rem}*{box-sizing:border-box}section{min-height:auto;padding:2rem 1.5rem}section[id]{scroll-margin-top:.5rem}html,body{min-height:100%;margin:0}body{background-color:#f5f2eb;flex-direction:column;min-height:100vh;margin:0;padding:0;display:flex}main{flex:1}header{text-align:center;padding:2.75rem 1.25rem 2rem}header h1{color:#302a25;margin:0;font-size:clamp(2rem,8vw,3.25rem);line-height:1.05}header h3{color:#8a6a52;letter-spacing:.12em;text-transform:uppercase;margin:.7rem 0 0;font-size:clamp(.8rem,3vw,1rem)}h1,h2,h3{justify-content:center;display:flex}.center{text-align:center}.nav{z-index:10;scrollbar-width:none;background:#f5f2eb;justify-content:center;gap:1rem;padding:.65rem 1rem;display:flex;position:sticky;top:0;overflow-x:auto;box-shadow:0 1px #8a6a5233}.nav::-webkit-scrollbar{display:none}.nav a{color:#333;border-radius:999px;flex:none;padding:.65rem .9rem;font-weight:600;text-decoration:none}.nav a:hover,.nav a:focus{background:#f3e9dd}#about{background:#fffdf9;border-top:1px solid #d8cbbb;border-bottom:1px solid #d8cbbb;max-width:1040px;margin:0 auto;padding:4rem clamp(1.5rem,5vw,5rem);box-shadow:0 20px 45px #4b3d2d0f}.section-kicker{color:#8a6a52;letter-spacing:.16em;text-align:center;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:700}#about h2{margin-top:0;margin-bottom:2.5rem}.about-content{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:center;gap:clamp(2.5rem,7vw,6rem);display:grid}.about-text p{color:#4b4b4b;max-width:none;margin:0 0 1.25rem;line-height:1.75}.about-text .about-lede{color:#302a25;max-width:32rem;margin-bottom:1.6rem;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:600;line-height:1.4}.about-details{border-top:1px solid #d8cbbb;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;padding-top:1.25rem;display:grid}.about-details div{gap:.25rem;display:grid}.about-details strong{color:#8a6a52;font-size:1.1rem}.about-details span{color:#6b625b;font-size:.78rem;line-height:1.35}.about-image{padding:0 .75rem 1.5rem 0;position:relative}.about-image img{aspect-ratio:4/5;object-fit:cover;border:1px solid #d8cbbb;border-radius:0;width:100%;max-width:440px;height:auto;display:block;box-shadow:.75rem .75rem #eadfd2}.about-caption{color:#fffdf9;background:#8a6a52;max-width:14rem;margin:0;padding:.8rem 1rem;font-size:.75rem;line-height:1.45;position:absolute;bottom:0;right:0}@media (width<=700px){html{scroll-padding-top:4rem}section{padding:1.5rem 1rem}h2{font-size:clamp(1.7rem,8vw,2.25rem)}header{padding:2.25rem 1rem 1.5rem}.nav{justify-content:center;gap:.25rem;padding-inline:.75rem}#about{box-shadow:none;border-inline:0;padding:2.5rem 1rem}.about-content{grid-template-columns:1fr;gap:2.5rem}.about-image{order:-1;width:min(100%,21rem);margin:0 auto}.about-details{grid-template-columns:1fr;gap:.9rem}.about-details span{font-size:.78rem}}#services{background:#fffdf9;border-top:1px solid #d8cbbb;border-bottom:1px solid #d8cbbb;max-width:1040px;margin:2.5rem auto 0;padding:4rem clamp(1.5rem,5vw,5rem);box-shadow:0 20px 45px #4b3d2d0f}#services h2,#contact h2{margin-top:0;margin-bottom:2.5rem}.service-group{border-top:1px solid #e3d9ce;margin:0;padding:1.5rem 0}.service-group h3{color:#514238;justify-content:flex-start;margin:0 0 1rem;font-size:1.05rem}.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem;margin:0;padding:0;list-style:none;display:grid}.service-list li{color:#5a514a;border-bottom:1px dotted #c4b5a4;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.55rem 0;display:grid}.service-list li span:last-child{color:#8a6a52;font-weight:700}.appointment-note{text-align:center;background:#f1e8dc;border:0;margin-top:1rem;padding:1.5rem}.appointment-note h3{justify-content:center}.appointment-note p,.pricing-note p{color:#6b625b;line-height:1.6}.pricing-note{border-top:0;padding-bottom:0}.contact-note{margin-bottom:2rem}.pricing-note h5{color:#8a6a52;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .75rem;font-size:.72rem}@media (width<=700px){#services{box-shadow:none;border-inline:0;margin-top:1rem;padding:2.5rem 1rem}.service-list{grid-template-columns:1fr;gap:0}.service-list li{gap:.75rem;min-height:2.75rem;padding:.65rem 0}.service-list li span:last-child{white-space:nowrap}}#contact{background:#fffdf9;border-top:1px solid #d8cbbb;border-bottom:1px solid #d8cbbb;max-width:1040px;margin:2.5rem auto 0;padding:4rem clamp(1.5rem,5vw,5rem);box-shadow:0 20px 45px #4b3d2d0f}.contact-notice{color:#6b625b;max-width:38rem;margin:-1rem auto 2.5rem;line-height:1.6}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:720px;margin:0 auto;display:grid}.contact-form label{gap:.35rem;font-weight:600;display:grid}.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #c4b5a4;border-radius:0;padding:.85rem .9rem}.contact-form input:focus,.contact-form textarea:focus{outline-offset:2px;outline:2px solid #8a6a52}.contact-form label[for=message],.contact-form button,.contact-form .form-status{grid-column:1/-1}.contact-form textarea{resize:vertical;min-height:8rem}.contact-form button{color:#fff;font:inherit;cursor:pointer;background:#8a6a52;border:0;border-radius:0;justify-self:start;padding:.85rem 1.5rem;font-weight:700}.contact-form button:hover,.contact-form button:focus-visible{background:#6f523e}@media (width<=700px){#contact{box-shadow:none;border-inline:0;margin-top:1rem;padding:2.5rem 1rem}.contact-form{grid-template-columns:1fr}.contact-form button{width:100%;min-height:3rem}}.form-status{border-left:3px solid #0000;margin:0;padding:1rem 1.15rem;font-size:.95rem;line-height:1.5;display:none}.form-status.success{color:#2f6b3f;background:#edf4ed;border-left-color:#56805d;display:block}.form-status.error{color:#a33a3a;background:#f8eeee;border-left-color:#a33a3a;display:block}.form-status.sending{color:#6b5f3f;background:#f7f1e7;border-left-color:#9b8152;display:block}.top-button{z-index:1000;color:#8a6a52;opacity:0;pointer-events:none;background:#fffdf9;border:1px solid #8a6a52;border-radius:999px;place-items:center;width:3rem;height:3rem;font-size:1.3rem;font-weight:600;line-height:1;text-decoration:none;transition:opacity .2s,transform .2s;display:grid;position:fixed;bottom:1rem;right:1rem;transform:translateY(12px);box-shadow:0 4px 12px #4b3d2d24}.top-button:hover,.top-button:focus-visible{color:#fffdf9;background:#8a6a52}.top-button:focus-visible{outline-offset:3px;outline:2px solid #6f523e}.top-button.visible{opacity:1;pointer-events:auto;transform:translateY(0)}footer{text-align:center;width:100%;padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));position:static}footer p{color:#6b625b;margin:0;font-size:.78rem;line-height:1.5}
