:root{--bg:#FBF6F0;--bg-alt:#F4ECDF;--ink:#4A1322;--ink-soft:#7A4452;--gold:#C9A961;--gold-deep:#9C7B3D;--line:#E8D9C5;--bordeaux:#5C1A2B;--bordeaux-soft:#7F2A3E}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 'Manrope',sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.2}h2{font-size:40px}h2 em,h1 em{font-weight:400}a{color:inherit}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--bordeaux);outline-offset:4px}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link:focus{position:fixed;top:16px;left:16px;z-index:10;background:var(--bg);padding:16px}
.site-header{max-width:1120px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.wordmark{text-decoration:none;font:500 28px/1.2 'Cormorant Garamond',serif}.wordmark span{display:block;font:400 12px/1.6 'Manrope',sans-serif;color:var(--ink-soft);margin-top:4px}.site-header nav{display:flex;gap:32px;font-size:14px}.site-header nav a{text-decoration:none}.site-header nav a:hover,.text-link:hover{color:var(--bordeaux-soft);text-decoration:underline;text-underline-offset:4px}
.hero{max-width:1120px;margin:auto;padding:64px 32px 80px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.eyebrow,.cta-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:24px}.hero-name{font-size:40px;line-height:1.12;margin-bottom:24px}.hero-name em{color:var(--bordeaux)}.hero-intro{font-size:20px;line-height:1.6}.hero-description{font-size:16px;color:var(--ink-soft);max-width:400px;margin-top:20px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:32px}.text-link{text-decoration:none;font-size:14px}.text-link span{margin-left:8px}.hero-location{font-size:12px;color:var(--ink-soft);margin-top:32px}.photo-frame{border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:var(--bg-alt)}.photo-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 18%}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;min-height:48px;border-radius:12px;border:1px solid var(--bordeaux);text-decoration:none;font-size:14px;font-weight:500;line-height:1.4;transition:background .15s,color .15s}.btn-primary{background:var(--bordeaux);color:var(--bg)}.btn-primary:hover{background:var(--bordeaux-soft)}.btn-outline{background:transparent;color:var(--bordeaux)}.btn-outline:hover{background:var(--bg-alt)}.btn:active{transform:translateY(1px)}.btn-icon{width:20px;height:20px;flex-shrink:0}
.wrap{max-width:784px;margin:auto;padding:0 32px}.about-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:24px;padding:32px 0;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary h2{font-size:28px;flex:1}.section-number{font-size:12px;color:var(--ink-soft)}.details-icon{font-size:28px;line-height:1;color:var(--bordeaux)}details[open] .details-icon{transform:rotate(45deg)}.about-content{padding-bottom:32px}.edu-list,.exp-list{display:grid;gap:16px}.edu-item,.exp-item{display:grid;grid-template-columns:80px 1fr;gap:24px;background:var(--bg-alt);border-radius:16px;padding:24px}.edu-year{font:500 28px/1.2 'Cormorant Garamond',serif;color:var(--bordeaux)}.edu-desc,.exp-desc{font-size:14px;color:var(--ink-soft)}.edu-desc strong,.exp-desc strong{display:block;color:var(--ink);font-weight:500;margin-bottom:4px}.experience-block{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.exp-title{font-size:14px;margin-bottom:16px}.exp-period{font-size:14px}
.prices-section{padding-top:56px}.section-heading{display:flex;gap:24px;align-items:center}.section-description{font-size:14px;color:var(--ink-soft);margin-top:16px;max-width:600px}.price-controls{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:32px;flex-wrap:wrap}.city-switcher{display:flex;gap:4px;padding:4px;border:1px solid var(--line);background:var(--bg-alt);border-radius:12px}.city-btn{border:0;background:transparent;color:var(--ink-soft);font-size:14px;padding:12px 20px;border-radius:8px;min-height:44px}.city-btn.active{background:var(--bordeaux);color:var(--bg)}.city-btn:not(.active):hover{background:var(--bg);color:var(--ink)}.search-field{flex:1;min-width:160px}.search-field input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:transparent;color:var(--ink);font-size:14px}.search-field input::placeholder{color:var(--ink-soft)}.price-note{font-size:12px;color:var(--ink-soft);margin:16px 0 24px;line-height:1.65}.price-category{font-size:20px;padding:24px 0 12px;border-bottom:1px solid var(--line);margin-top:24px}.price-group:first-child .price-category{margin-top:0}.price-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.price-name{font-size:14px;min-width:0;overflow-wrap:anywhere}.price-name small{display:block;font-size:12px;color:var(--ink-soft);max-width:440px;margin-top:4px}.price-value{white-space:nowrap;color:var(--bordeaux);font-size:16px;font-weight:500;flex-shrink:0}.medical-note{font-size:12px;color:var(--ink-soft);margin-top:32px;border-top:1px solid var(--line);padding-top:20px}
.cta-section{margin-top:80px;padding:64px 32px;background:var(--bg-alt);text-align:center}.cta-section .section-description{margin:16px auto 0}.cta-eyebrow{margin-bottom:16px}.cta-buttons{display:flex;justify-content:center;gap:16px;margin:32px auto 0}.contact-extra{font-size:14px;color:var(--ink-soft);margin-top:24px}.contact-extra a{text-decoration:none}.contact-extra a:hover{text-decoration:underline}footer{background:var(--bordeaux);color:var(--bg);padding:24px 32px;display:flex;justify-content:space-between;gap:16px;font-size:12px}footer a{color:var(--bg);text-underline-offset:4px}
@media(max-width:800px){.site-header{padding:20px 24px}.site-header nav{gap:20px;font-size:12px}.hero{gap:32px;padding:40px 24px 56px}.hero-actions .btn{padding:16px}.hero-intro{font-size:16px}.hero-description{font-size:14px}.wrap{padding:0 24px}}
@media(max-width:600px){html{scroll-padding-top:16px}.site-header{align-items:flex-start;flex-direction:column;gap:16px;padding:20px}.site-header nav{width:100%;justify-content:space-between;gap:12px}.wordmark{font-size:28px}.hero{display:flex;flex-direction:column;padding:32px 20px 48px;gap:32px;align-items:stretch}.hero-copy{order:1}.photo-frame{order:0;width:100%;max-height:400px;aspect-ratio:1/1}.photo-frame img{object-position:center 22%}.eyebrow{margin-bottom:16px}.hero-name{font-size:40px;margin-bottom:16px}.hero-intro br{display:none}.hero-description{margin-top:16px}.hero-actions{align-items:stretch;gap:16px;margin-top:24px}.text-link{text-align:center}.hero-location{text-align:center;margin-top:20px}.wrap{padding:0 20px}h2{font-size:28px}summary{padding:24px 0;gap:16px}summary h2{font-size:28px}.section-heading{gap:16px}.prices-section{padding-top:40px}.price-controls{flex-direction:column;align-items:stretch;gap:12px;margin-top:24px}.city-switcher .city-btn{flex:1;padding:12px}.price-row{gap:16px;padding:16px 0}.price-name{font-size:14px}.price-value{font-size:14px}.price-category{font-size:20px}.edu-item,.exp-item{grid-template-columns:1fr;gap:12px;padding:20px}.edu-year{font-size:28px}.cta-section{margin-top:48px;padding:48px 20px}.cta-buttons{flex-direction:column;gap:12px}.contact-extra{display:flex;flex-direction:column;gap:12px}.contact-extra a{min-height:24px}.cta-title{font-size:28px}footer{flex-direction:column;align-items:center;padding:24px 20px}}
@media(max-width:600px){.hero-copy{order:0}.photo-frame{order:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
