:root{
  --ink:#24221f; --muted:#706b64; --cream:#f7f3ee; --paper:#fffdf9;
  --line:#ded7cd; --dark:#252521; --accent:#8f6a55; --accent2:#c8aa91;
  --serif:"Playfair Display", Georgia, serif; --sans:"DM Sans", Arial, sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.6}
a{color:inherit;text-decoration:none} .site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 5vw;background:rgba(255,253,249,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(222,215,205,.7)}
.brand{display:flex;align-items:center;gap:12px;min-width:250px}.brand-mark{width:42px;height:42px;border:1px solid var(--accent2);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:15px;color:var(--accent)}
.brand strong{display:block;font-family:var(--serif);font-size:15px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.nav{display:flex;gap:25px;font-size:13px;color:#5d5851}.nav a:hover{color:var(--accent)}
.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;border-radius:2px;background:var(--dark);color:white;font-size:13px;font-weight:600;letter-spacing:.01em;transition:.2s}.button:hover{transform:translateY(-2px);opacity:.9}.button-small{padding:10px 15px}.button-outline{background:transparent;color:var(--ink);border:1px solid #bcb3a8}
.text-link{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;border-bottom:1px solid #b8afa5;padding-bottom:4px}.text-link span{font-size:18px}
.section{padding:110px 9vw}.hero{min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;background:var(--cream)}
.eyebrow{margin:0 0 15px;color:var(--accent);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.hero h1{font:600 clamp(48px,6vw,82px)/1.02 var(--serif);letter-spacing:-.045em;margin:0 0 25px;max-width:780px}.hero h1 em{color:var(--accent);font-style:italic}.hero-text{max-width:680px;color:#615c55;font-size:17px}.hero-actions{display:flex;gap:22px;align-items:center;margin:34px 0 46px}.hero-stats{display:flex;gap:42px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font:600 28px var(--serif)}.hero-stats span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.hero-portrait{display:flex;justify-content:center}.portrait-frame{width:min(430px,100%);aspect-ratio:4/5;position:relative;background:#e5dbd0;padding:16px;box-shadow:0 28px 70px rgba(55,44,35,.15)}.portrait-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#776b61;background:linear-gradient(145deg,#eee6dd,#d9cbbd)}.initials{font:600 90px var(--serif);color:#8f7764;margin-bottom:10px}.portrait-placeholder span:last-child{font-size:10px;text-transform:uppercase;letter-spacing:.14em}.portrait-badge{position:absolute;right:-22px;bottom:30px;background:var(--paper);padding:17px 21px;box-shadow:0 15px 35px rgba(0,0,0,.1);display:flex;gap:13px;align-items:center}.portrait-badge span{font:600 22px var(--serif);color:var(--accent)}.portrait-badge small{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.trust-strip{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;padding:24px 7vw;background:#302f2a;color:#ddd7ce;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.dot{display:inline-block;width:7px;height:7px;background:#b89d87;border-radius:50%;margin-right:7px}
.split{display:grid;grid-template-columns:180px 1fr;gap:7vw}.section-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8b8278;padding-top:9px}.content{max-width:1050px}.content h2{font:600 clamp(34px,4.4vw,58px)/1.08 var(--serif);letter-spacing:-.035em;margin:0 0 28px;max-width:850px}.content>p:not(.eyebrow):not(.disclaimer){color:#666057;max-width:790px}.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:48px;border-top:1px solid var(--line)}.credential-grid div{padding:22px 20px 22px 0;border-bottom:1px solid var(--line)}.credential-grid span{display:block;font:600 19px var(--serif);margin-bottom:4px}.credential-grid small{color:var(--muted);font-size:12px}
.dark-section{background:var(--dark);color:#f7f3ee}.dark-section .section-label{color:#aaa298}.dark-section .eyebrow{color:#c4a58d}.dark-section .content>p:not(.eyebrow){color:#c5bfb7}.expertise-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:50px;border-top:1px solid #56534c}.expertise-grid article{padding:35px 40px 35px 0;border-bottom:1px solid #56534c}.expertise-grid article:nth-child(even){padding-left:40px;border-left:1px solid #56534c}.expertise-grid span{font-size:10px;color:#bda48e;letter-spacing:.1em}.expertise-grid h3{font:600 29px var(--serif);margin:16px 0 8px}.expertise-grid p{color:#bdb7af;font-size:13px;max-width:450px}.disclaimer{font-size:10px!important;color:#918c85!important;margin-top:34px}
.timeline{border-top:1px solid var(--line);margin-top:45px}.timeline div{display:grid;grid-template-columns:110px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}.timeline b{font-size:12px;color:var(--accent);letter-spacing:.08em}.timeline span{color:#5e5952;font-size:14px}
.review-section{background:#f5f0e9}.review-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.rating-card{min-width:190px;padding:22px;background:#fffaf4;border:1px solid var(--line);text-align:center}.rating-card strong{font:600 42px var(--serif);display:block}.rating-card span{letter-spacing:3px;color:#9b735b}.rating-card small{display:block;color:var(--muted);font-size:10px;margin-top:6px;text-transform:uppercase;letter-spacing:.08em}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:50px 0}.review-grid blockquote{margin:0;padding:30px;background:var(--paper);border:1px solid var(--line);min-height:230px;display:flex;flex-direction:column;justify-content:space-between}.review-grid p{font:500 19px/1.45 var(--serif);margin:0}.review-grid cite{font-size:10px;color:var(--muted);font-style:normal;text-transform:uppercase;letter-spacing:.1em}.review-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px;background:#302f2a;color:white}.review-cta strong{display:block;font:600 24px var(--serif)}.review-cta span{display:block;color:#bcb6ae;font-size:12px;margin-top:4px}.cta-buttons{display:flex;gap:10px}.review-cta .button{background:#f5eee7;color:#282723}.review-cta .button-outline{color:white;border-color:#716d65}
.social-card{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:55px;background:var(--cream);border:1px solid var(--line)}.social-card p:not(.eyebrow){color:var(--muted)}
.contact-section{background:#f9f6f1}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw}.contact-actions{display:flex;gap:10px;margin-top:30px}.contact-details{border-left:1px solid var(--line);padding-left:45px}.contact-details div{padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.contact-details small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:9px;margin-bottom:6px}.contact-details strong,.contact-details a{display:block;font:600 20px var(--serif)}.contact-details span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.footer{display:flex;justify-content:space-between;gap:20px;padding:28px 9vw;background:#252521;color:#d5d0c9;font-size:11px}.footer strong{font-family:var(--serif);margin-right:12px}.footer span{color:#938e87}.footer a{color:#d7b99f}
.feedback-page{background:var(--cream);min-height:100vh}.feedback-shell{max-width:720px;margin:auto;padding:50px 22px}.back-link{font-size:12px;color:var(--muted)}.feedback-card{background:var(--paper);padding:55px;margin-top:25px;border:1px solid var(--line);box-shadow:0 20px 50px rgba(50,40,30,.07)}.feedback-card>h1{font:600 48px/1.05 var(--serif);margin:18px 0}.feedback-card>p{color:var(--muted);font-size:13px}.feedback-card form{margin-top:35px;display:grid;gap:20px}.feedback-card label{font-size:12px;font-weight:600}.feedback-card input,.feedback-card select,.feedback-card textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;padding:13px;font:13px var(--sans);color:var(--ink)}.feedback-card textarea{resize:vertical}.muted{color:#999;font-weight:400}.success{margin-top:25px}.success h2{font:600 34px var(--serif)}
@media(max-width:900px){.nav{display:none}.site-header{padding:14px 5vw}.site-header .button{display:none}.hero{grid-template-columns:1fr;padding-top:75px}.hero-portrait{order:-1}.portrait-frame{width:310px}.hero{min-height:auto}.split{grid-template-columns:1fr;gap:30px}.section{padding:75px 7vw}.review-grid{grid-template-columns:1fr}.review-cta,.social-card,.contact-grid{display:block}.cta-buttons{margin-top:20px;flex-wrap:wrap}.contact-details{border-left:0;border-top:1px solid var(--line);padding:30px 0 0;margin-top:45px}.trust-strip{justify-content:flex-start}.expertise-grid{grid-template-columns:1fr}.expertise-grid article:nth-child(even){padding-left:0;border-left:0}.hero-stats{gap:20px}.hero-stats strong{font-size:23px}}
@media(max-width:520px){.brand{min-width:0}.brand strong{font-size:13px}.hero h1{font-size:45px}.hero-text{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr)}.credential-grid{grid-template-columns:1fr}.timeline div{grid-template-columns:80px 1fr;gap:15px}.review-head{display:block}.rating-card{margin-top:25px}.footer{display:block}.footer div+div{margin-top:10px}}


.review-assistant-section{background:#fbf8f3}
.review-assistant-card{background:var(--paper);border:1px solid var(--line);padding:42px;box-shadow:0 20px 50px rgba(50,40,30,.06)}
.assistant-form{display:grid;gap:18px;margin-top:28px}
.assistant-form label{font-size:12px;font-weight:600}
.assistant-form input,.assistant-form select,.assistant-form textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;padding:13px;font:13px var(--sans);color:var(--ink);box-sizing:border-box}
.assistant-form textarea{resize:vertical}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.review-result{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}
.review-result textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);padding:15px;background:#fffdf9;font:15px/1.6 var(--sans);color:var(--ink);resize:vertical}
.assistant-note{font-size:11px;color:var(--muted);margin-top:12px}
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.modal-backdrop{position:absolute;inset:0;background:rgba(20,18,15,.68);backdrop-filter:blur(3px)}
.booking-modal{position:relative;z-index:1;width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--paper);padding:42px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px;cursor:pointer;color:var(--muted)}
.modal-intro{color:var(--muted);font-size:13px}
body.modal-open{overflow:hidden}
@media(max-width:700px){
  .review-assistant-card,.booking-modal{padding:28px 20px}
  .form-two{grid-template-columns:1fr}
}
