:root{--cream:#f7f4ef;--paper:#fffdfa;--sand:#eae1d5;--brown:#3b2c25;--brown-light:#6b5140;--text:#6e6259;--gold:#8b704c;--line:#ded5c9;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--brown);font-family:var(--sans);font-size:14px;line-height:1.85;-webkit-font-smoothing:antialiased}
body.menu-open,body.dialog-open{overflow:hidden}
::selection{background:#d9c5a8;color:var(--brown)}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{color:inherit;cursor:pointer}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
button{border:0}
img{display:block;max-width:100%}
figure,p,h1,h2,h3{margin:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
[hidden]{display:none!important}
.container{width:calc(100% - 120px);max-width:1280px;margin-inline:auto}
.icon{display:inline-block;width:23px;height:23px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
.skip-link{position:fixed;top:10px;left:15px;z-index:200;background:var(--brown);color:var(--paper);padding:10px 18px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.eyebrow{display:block;font-size:10px;letter-spacing:2.5px;line-height:1.7;font-weight:600;color:var(--gold)}
.section-label{margin-bottom:25px}
.site-header{height:108px;background:var(--cream);position:sticky;top:0;z-index:50;border-bottom:1px solid transparent;transition:height .3s,box-shadow .3s,background .3s}
.site-header.is-scrolled{height:84px;background:rgba(247,244,239,.96);backdrop-filter:blur(16px);border-color:rgba(222,213,201,.6)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;gap:16px;align-items:center;flex-shrink:0}
.monogram{position:relative;width:55px;height:55px;border:1px solid #b49c7e;border-radius:50%;font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:-3px;line-height:50px;text-align:center;padding-right:4px}
.monogram::before{content:'';position:absolute;inset:4px;border:1px solid rgba(180,156,126,.25);border-radius:50%}
.monogram-dot{position:absolute;height:4px;width:4px;background:var(--gold);border-radius:50%;right:12px;bottom:15px}
.brand-name{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:2.2px;line-height:1.6}
.brand-name>span{display:block;font-size:9px;letter-spacing:4.2px;font-weight:400;color:var(--text);margin-top:4px}
.primary-navigation{display:flex;gap:32px;align-items:center}
.primary-navigation>a{position:relative;color:var(--text);font-size:12px;white-space:nowrap;padding-block:8px}
.primary-navigation>a::after{content:'';height:1px;position:absolute;bottom:3px;left:0;right:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.primary-navigation>a:hover::after,.primary-navigation>a[aria-current]::after{transform:scaleX(1)}
.primary-navigation>a[aria-current]{color:var(--brown)}
.header-contact{display:flex;gap:25px;align-items:center;font-size:11px;font-weight:600;border-bottom:1px solid #b49c7e;padding:9px 0}
.header-contact .icon{width:17px;height:17px}
.menu-toggle{display:none;background:none;width:42px;height:42px;padding:10px}
.menu-toggle>span{display:block;width:23px;height:1px;background:var(--brown);margin:6px 0;transition:transform .25s}
.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.hero{background:var(--cream);position:relative;overflow:hidden;padding-top:35px}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding-bottom:35px;min-height:635px}
.hero-copy{padding-bottom:20px;position:relative;z-index:1}
.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:30px;font-size:10px;letter-spacing:2.3px}
.tiny-line{width:28px;height:1px;background:var(--gold)}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-1.6px;line-height:1.05}
h1{font-size:clamp(70px,6.6vw,96px);line-height:.99;letter-spacing:-3.8px}
h1 em,h2 em{font-weight:400;color:var(--brown-light)}
.gold-period{color:var(--gold)}
.hero-description{font-size:13px;color:var(--text);line-height:1.9;margin-top:28px;max-width:460px}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:31px}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:29px;padding:17px 24px;font-size:11px;font-weight:500;letter-spacing:.2px;line-height:1.4;transition:background .25s,transform .25s,border-color .25s;border:1px solid transparent}
.button .icon{width:18px;height:18px;transition:transform .25s}
.button:hover .icon{transform:translate(2px,-2px)}
.button-dark{background:var(--brown);color:var(--paper)}
.button-dark:hover{background:#604634;transform:translateY(-2px)}
.button-outline{border-color:var(--line);background:transparent;color:var(--brown)}
.button-outline:hover{border-color:var(--gold);background:var(--cream)}
.text-link{display:inline-flex;align-items:center;gap:16px;font-size:11px;border-bottom:1px solid var(--line);padding:10px 0 7px;line-height:1.5}
.text-link .icon{width:18px;height:18px;transition:transform .25s}
.text-link:hover .icon{transform:translateX(4px)}
.hero-location{display:flex;align-items:center;gap:11px;margin-top:42px;color:var(--text);font-size:10px}
.hero-location>span:first-of-type{font-size:9px;letter-spacing:1px}
.hero-location .icon{width:17px;height:17px;color:var(--gold)}
.location-divider{width:1px;height:13px;background:var(--line);margin-inline:4px}
.hero-visual{position:relative;max-width:450px;margin-left:auto;margin-right:25px;width:100%}
.hero-portrait{position:relative;aspect-ratio:.735;overflow:hidden;border-radius:230px 230px 3px 3px;background:var(--brown);z-index:1}
.hero-portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero-portrait::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(14,18,17,.42));pointer-events:none}
.hero-portrait figcaption{position:absolute;bottom:35px;left:34px;color:#fff;z-index:2}
.hero-portrait figcaption>span:first-child{display:block;font-size:9px;letter-spacing:3px;opacity:.82;margin-bottom:5px}
.hero-portrait figcaption>strong{font-family:var(--serif);font-size:37px;font-weight:400;line-height:1.3}
.signature-line{display:block;width:37px;height:1px;background:#c1a57d;margin-top:12px}
.portrait-outline{position:absolute;border:1px solid #bfab90;border-radius:240px 240px 2px 2px;inset:-15px 16px 17px -17px}
.portrait-side-label{position:absolute;left:calc(100% + 21px);top:180px;writing-mode:vertical-rl;white-space:nowrap;font-size:8px;letter-spacing:2.3px;color:var(--gold)}
.hero-seal{position:absolute;left:-64px;bottom:120px;width:118px;height:118px;background:var(--cream);border-radius:50%;z-index:3;padding:5px}
.hero-seal svg{width:100%;height:100%;fill:var(--brown-light)}
.hero-seal text{font-family:var(--sans);font-size:8.5px;letter-spacing:2px}
.hero-seal .seal-flower{fill:none;stroke:var(--gold);stroke-width:.8}
.philosophy-strip{background:var(--brown);color:var(--cream)}
.philosophy-strip>.container{display:flex;align-items:center;justify-content:space-between;padding-block:32px;gap:30px}
.philosophy-strip p{font-family:var(--serif);font-size:30px;letter-spacing:.1px;text-align:center;line-height:1.4}
.philosophy-strip em{font-weight:400;color:#d1ba97}
.strip-flower{font-size:26px;color:#b39873;font-weight:400;line-height:1}
.section-space{padding-block:116px}
h2{font-size:clamp(43px,4.6vw,66px);line-height:1.05}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:115px}
.about-heading h2{font-size:64px;max-width:450px}
.small-ornament{display:block;position:relative;width:72px;height:1px;background:var(--line);margin-top:44px}
.small-ornament::after{content:'';position:absolute;width:9px;height:9px;border:1px solid var(--gold);background:var(--paper);transform:rotate(45deg);top:-4px;left:32px}
.about-copy{padding-top:5px}
.about-copy>.eyebrow{font-size:9px;margin-bottom:17px}
.about-copy>.lead-paragraph{font-family:var(--serif);font-size:28px;line-height:1.35;color:var(--brown);margin-bottom:23px!important}
.about-copy>p{font-size:12px;line-height:1.95;color:var(--text);margin-bottom:16px}
.about-signature{margin-top:26px;display:flex;align-items:baseline;gap:17px}
.about-signature>span{font-family:var(--serif);font-style:italic;font-size:33px;font-weight:500;color:var(--brown-light)}
.about-signature>small{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
summary::-webkit-details-marker{display:none}
.services{background:var(--cream);border-top:1px solid #eee8df;border-bottom:1px solid #eee8df}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:53px}
.section-heading>p{font-size:12px;color:var(--text);line-height:1.9;max-width:290px;margin-bottom:5px}
.service-list{border-top:1px solid #cdbfaa}
.service-row{width:100%;background:none;border-bottom:1px solid #d8cdbd;display:grid;grid-template-columns:66px 1fr 270px 49px;gap:15px;align-items:center;text-align:left;padding:24px 0;transition:padding .35s,background .35s}
.service-number{font-family:var(--serif);font-size:22px;color:var(--gold);align-self:center}
.service-name{font-family:var(--serif);font-size:37px;font-weight:500;line-height:1.2}
.service-summary{font-size:10px;color:var(--text);letter-spacing:.1px}
.service-arrow{width:45px;height:45px;border:1px solid #cdbfaa;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s,transform .25s}
.service-arrow .icon{width:18px;height:18px}
.service-row:hover{padding-left:15px;padding-right:15px;background:#eee7dc}
.service-row:hover .service-arrow{background:var(--brown);color:var(--cream);transform:rotate(45deg);border-color:var(--brown)}
.section-footnote{font-size:10px;color:var(--text);margin-top:25px;text-align:right}
.approach-grid{display:grid;grid-template-columns:.95fr 1fr;gap:110px;align-items:center}
.approach-art{height:535px;position:relative;overflow:hidden;background:#e9dfd1}
.approach-art>img{width:100%;height:100%;object-fit:cover;object-position:center}
.approach-art>.art-caption{position:absolute;bottom:18px;left:18px;top:auto;background:rgba(247,244,239,.94);padding:9px 13px;font-size:8px;letter-spacing:1.6px;color:var(--brown-light);line-height:1.6}
.approach-copy h2{font-size:55px}
.approach-copy>p{color:var(--text);font-size:12px;margin:21px 0 31px;max-width:400px}
.approach-item{display:flex;gap:24px;border-top:1px solid var(--line);padding:19px 0 15px}
.approach-item>span{font-family:var(--serif);color:var(--gold);font-size:20px;min-width:24px}
.approach-item h3{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.3;margin-bottom:6px}
.approach-item p{font-size:11px;line-height:1.85;color:var(--text);max-width:375px}
.faq{border-top:1px solid var(--line);padding-top:90px}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:105px}
.faq-grid h2{font-size:62px}
.faq-grid>div>p{font-size:12px;color:var(--text);margin-top:22px;margin-bottom:16px}
.faq-list{padding-top:13px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;padding:24px 0;font-size:12px;line-height:1.65;display:flex;justify-content:space-between;align-items:center;gap:25px}
.faq-list summary .icon{width:16px;height:16px;color:var(--gold);transition:transform .25s}
details[open]>summary .icon{transform:rotate(45deg)}
.faq-list details>p{padding:0 38px 24px 0;color:var(--text);font-size:12px;line-height:1.95}
.faq-list details>p a{border-bottom:1px solid var(--line);color:var(--brown)}
.contact{background:var(--brown);color:var(--cream);position:relative;overflow:hidden;padding-bottom:85px}
.contact::after{content:'';position:absolute;width:640px;height:640px;border:1px solid rgba(210,185,149,.09);border-radius:50%;right:-430px;top:-100px;pointer-events:none}
.contact .eyebrow{color:#c7ad8a}
.contact-top{display:flex;justify-content:space-between;align-items:center;gap:45px;border-bottom:1px solid rgba(237,225,207,.23);padding-bottom:57px}
.contact h2{font-size:75px;line-height:1.04}
.contact h2 em{color:#cab18e}
.round-contact{width:105px;height:105px;border-radius:50%;border:1px solid #b49a77;background:transparent;display:flex;align-items:center;justify-content:center;color:#dcc6a6;margin-right:4px;transition:background .3s,transform .3s;flex-shrink:0}
.round-contact .icon{width:35px;height:35px;stroke-width:1}
.round-contact:hover{background:rgba(180,154,119,.2);transform:rotate(45deg)}
.contact-bottom{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:65px;padding-top:39px;align-items:start}
.contact-bottom>p{font-family:var(--serif);font-size:25px;line-height:1.35;color:#e9dfd2}
.contact-bottom .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:15px}
.contact-phone{display:block;font-family:var(--serif);font-size:33px;line-height:1.3;white-space:nowrap;margin-bottom:17px}
.contact-whatsapp,.contact-address>a{font-size:10px;display:inline-flex;align-items:center;gap:18px;color:#dcc9af;border-bottom:1px solid rgba(220,201,175,.4);padding-bottom:8px}
.contact-whatsapp .icon,.contact-address>a .icon{width:14px;height:14px}
.contact-address>p{font-size:11px;color:#e9dfd2;margin-bottom:11px}
.contact-address>small{display:block;font-size:9px;color:#c8b7a3;margin-top:14px}
.site-footer{background:var(--cream);padding-top:43px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:35px}
.footer-brand .monogram{width:45px;height:45px;font-size:29px;line-height:40px}
.footer-brand .monogram-dot{right:9px;bottom:10px}
.footer-brand .brand-name{font-size:11px;letter-spacing:1.7px}
.footer-brand .brand-name>span{font-size:7px;letter-spacing:3.3px}
.footer-top>p{font-family:var(--serif);font-size:23px;font-style:italic;color:var(--brown-light)}
.footer-phone{font-size:11px;display:flex;gap:23px;align-items:center}
.footer-phone .icon{width:16px;height:16px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:21px;border-top:1px solid var(--line);font-size:8px;letter-spacing:.2px;color:var(--text)}
.footer-bottom>a:hover{text-decoration:underline}
.footer-credit{text-align:center;padding:0 0 23px;font-size:10px;color:var(--brown-light)}
.footer-credit>a{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;line-height:1.8;transition:color .25s}
.footer-credit strong{font-weight:600;border-bottom:1px solid #c5af92}
.footer-credit .icon{width:12px;height:12px;margin-left:4px}
.footer-credit>a:hover{color:var(--brown)}
.floating-socials{position:fixed;z-index:40;right:25px;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.floating-contact{position:relative;display:flex;align-items:center;gap:0;background:var(--brown);color:var(--cream);border:1px solid #a78c68;padding:15px;border-radius:50px;box-shadow:0 6px 20px rgba(59,44,37,.13);transition:background .25s}
.floating-contact>.icon{width:23px;height:23px}
.floating-contact>.whatsapp-icon,.floating-contact>.instagram-icon{fill:currentColor;stroke:none;color:#d1b28d}
.floating-contact>span{max-width:0;white-space:nowrap;overflow:hidden;font-size:10px;opacity:0;transition:max-width .35s,opacity .35s,margin .35s}
.floating-contact:hover>span,.floating-contact:focus-visible>span{max-width:200px;margin-left:12px;opacity:1}
.floating-contact:hover{background:#614a38}
.site-dialog{position:fixed;inset:0;margin:auto;border:1px solid var(--line);padding:48px 44px 39px;background:var(--paper);color:var(--brown);width:540px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 30px 100px rgba(37,25,18,.18)}
.site-dialog::backdrop{background:rgba(31,23,19,.52);backdrop-filter:blur(7px)}
.site-dialog[open]{animation:dialog-enter .3s var(--ease)}
.dialog-close{position:absolute;right:16px;top:15px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--cream);color:var(--text)}
.dialog-close>.icon{width:17px;height:17px}
.site-dialog h2{font-size:47px;margin:20px 0}
.site-dialog>p{font-size:12px;color:var(--text);margin-bottom:20px}
.site-dialog .dialog-note{font-size:11px;border-top:1px solid var(--line);padding-top:17px}
.site-dialog>.button{margin-top:8px}
#service-number{float:right}
.appointment-dialog h2{font-size:54px}
#appointment-form>label{display:block;font-size:10px;margin:19px 0 7px;color:var(--brown);font-weight:600}
#appointment-form>label span{font-weight:400;color:var(--text)}
#appointment-form>input,#appointment-form>select{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:var(--cream);color:var(--brown);min-height:46px;font-size:12px;padding:12px 14px}
#appointment-form>input::placeholder{color:#8a7b6c}
#appointment-form>button{margin-top:23px;width:100%;justify-content:space-between}
.form-note{font-size:9px;line-height:1.8;color:var(--text);margin-top:14px}
#appointment-status{font-size:11px;color:var(--brown-light);margin-top:14px}
#appointment-status:empty{display:none}
#appointment-whatsapp{width:100%;margin-top:10px;justify-content:space-between}
.legal-page{padding-block:90px 115px;min-height:65vh}
.legal-page h1{font-size:66px;line-height:1.1;margin:25px 0 35px;letter-spacing:-1.5px;max-width:900px}
.legal-content{max-width:810px;color:var(--text)}
.legal-content h2{font-family:var(--serif);font-size:31px;letter-spacing:-.3px;margin:35px 0 13px;color:var(--brown)}
.legal-content p{margin:15px 0;font-size:13px}
.legal-content a{border-bottom:1px solid var(--line);color:var(--brown)}
.legal-page .button{margin-top:27px}
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}
@keyframes dialog-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-grid{min-height:715px}.hero-visual{max-width:480px}.hero{padding-top:40px}.hero-description{margin-top:35px}.hero-actions{margin-top:36px}}
@media(max-width:1200px){.container{width:calc(100% - 88px)}.primary-navigation{gap:22px}.header-contact{gap:13px}.hero-grid{gap:40px;grid-template-columns:1.1fr 1fr}.hero-visual{max-width:390px;margin-right:20px}h1{font-size:76px}.hero-location{flex-wrap:wrap;gap:8px}.hero-actions{gap:24px}.hero-actions .button{gap:20px;padding-inline:20px}.about-grid{gap:70px}.about-heading h2{font-size:59px}.approach-grid{gap:65px}.approach-art{height:510px}.approach-copy h2{font-size:51px}.contact-bottom{gap:35px}.contact-phone{font-size:29px}.service-row{grid-template-columns:55px 1fr 230px 49px}.faq-grid{gap:70px}}
@media(max-width:1000px){.brand-name{font-size:12px;letter-spacing:1.5px}.primary-navigation{gap:17px}.primary-navigation>a{font-size:11px}.header-contact{font-size:10px}.hero-grid{gap:30px;min-height:570px}.hero-visual{max-width:345px}h1{font-size:67px}.hero-eyebrow{font-size:9px;letter-spacing:1.7px}.hero-description{font-size:12px}.hero-actions{gap:20px;align-items:flex-start;flex-wrap:wrap}.hero-location>span:last-child,.location-divider{display:none}.hero-seal{width:104px;height:104px;left:-47px;bottom:120px}.section-space{padding-block:90px}.about-grid{gap:50px}.about-heading h2{font-size:52px}.section-heading h2{font-size:52px}.approach-grid{gap:48px}.approach-art{height:475px}.approach-copy h2{font-size:45px}.art-quote{font-size:37px}.art-sun{right:38px}.contact h2{font-size:65px}.faq-grid{gap:45px;grid-template-columns:.8fr 1.2fr}.service-name{font-size:32px}.service-row{grid-template-columns:45px 1fr 205px 43px}.service-arrow{width:40px;height:40px}}
@media(max-width:900px){html{scroll-padding-top:100px}.site-header,.site-header.is-scrolled{height:88px}.header-inner{gap:20px}.primary-navigation{display:none;position:absolute;left:0;right:0;top:87px;padding:25px 44px 35px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 12px 15px rgba(59,44,37,.05);flex-direction:column;align-items:flex-start;gap:9px}.primary-navigation.is-open{display:flex}.primary-navigation>a{font-size:15px;padding-block:11px;display:block;width:100%}.header-contact{margin-left:auto;font-size:11px}.menu-toggle{display:block}.hero{padding-top:23px}.hero-grid{min-height:510px;gap:30px}.hero-visual{margin-right:15px;max-width:310px}h1{font-size:61px;letter-spacing:-2.5px}.hero-eyebrow{font-size:8px;letter-spacing:1.3px;gap:10px;margin-bottom:23px}.tiny-line{width:18px}.hero-description{font-size:11px;margin-top:23px}.hero-actions{gap:18px;margin-top:25px}.hero-actions .button{font-size:10px;padding:15px 17px;gap:18px;min-height:48px}.hero-actions .text-link{font-size:10px;gap:8px}.hero-location{margin-top:25px}.portrait-side-label{left:calc(100% + 14px);font-size:7px;top:130px}.hero-portrait figcaption{bottom:28px;left:28px}.hero-portrait figcaption>strong{font-size:31px}.hero-seal{width:90px;height:90px;left:-38px}.philosophy-strip p{font-size:26px}.philosophy-strip>.container{padding-block:26px}.section-heading>p{font-size:11px}.about-copy>p{font-size:11px}.about-copy .lead-paragraph{font-size:24px}.service-row{grid-template-columns:35px 1fr 185px 42px}.service-name{font-size:30px}.service-summary{font-size:9px}.approach-grid{gap:40px}.approach-art{height:475px}.approach-copy h2{font-size:40px}.approach-item p{font-size:10px}.contact h2{font-size:58px}.contact-bottom{grid-template-columns:.9fr 1.2fr 1fr;gap:30px}.contact-bottom>p{font-size:22px}.contact-phone{font-size:25px}.contact-address>p{font-size:10px}.footer-top>p{font-size:20px}}
@media(max-width:700px){.container{width:calc(100% - 44px)}.site-header,.site-header.is-scrolled{height:80px}.primary-navigation{top:79px;padding:20px 22px 27px}.monogram{width:45px;height:45px;font-size:29px;line-height:40px}.monogram-dot{right:9px;bottom:10px}.brand{gap:11px}.brand-name{font-size:11px;letter-spacing:1.8px}.brand-name>span{font-size:7px;letter-spacing:3.4px;margin-top:2px}.header-contact{display:none}.header-inner{gap:15px}.hero{padding-top:30px}.hero-grid{display:flex;flex-direction:column;gap:48px;padding-bottom:32px;min-height:0;align-items:stretch}.hero-copy{padding-bottom:0}.hero-eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:23px;gap:11px}.tiny-line{width:22px}h1{font-size:clamp(63px,11.6vw,80px);letter-spacing:-2.8px;line-height:1}.hero-description{font-size:12px;line-height:1.95;max-width:380px;margin-top:24px}.hero-actions{margin-top:26px;gap:25px;align-items:center}.hero-actions .button{font-size:10px;min-height:51px;padding:16px 20px;gap:25px}.hero-actions .text-link{gap:12px;font-size:10px}.hero-location{margin-top:30px;font-size:9px;gap:8px}.hero-location>span:last-child{display:initial}.location-divider{display:initial}.hero-location>span:first-of-type{font-size:8px;letter-spacing:.5px}.hero-visual{max-width:360px;width:calc(100% - 44px);margin:0 auto}.hero-portrait{aspect-ratio:.82;border-radius:200px 200px 2px 2px}.hero-portrait>img{object-position:50% 41%}.portrait-outline{inset:-11px 12px 12px -12px}.hero-portrait figcaption{bottom:25px;left:28px}.hero-portrait figcaption>strong{font-size:33px}.hero-portrait figcaption>span:first-child{font-size:8px}.hero-seal{width:90px;height:90px;left:-31px;bottom:130px}.portrait-side-label{top:116px;font-size:7px;letter-spacing:1.5px;left:calc(100% + 13px)}.philosophy-strip>.container{padding-block:27px;gap:13px}.philosophy-strip p{font-size:23px;line-height:1.3;max-width:290px}.strip-flower{font-size:19px}.section-space{padding-block:72px}.section-label{margin-bottom:22px;font-size:8px;letter-spacing:1.8px}h2{font-size:48px;letter-spacing:-1.5px}.about-grid{grid-template-columns:1fr;gap:35px}.about-heading h2{font-size:54px;max-width:450px}.small-ornament{margin-top:29px}.about-copy{padding-top:0}.about-copy>p{font-size:12px;margin-bottom:16px}.about-copy>.eyebrow{font-size:8px}.about-copy .lead-paragraph{font-size:27px;max-width:380px}.about-signature{margin-top:21px}.section-heading{display:block;margin-bottom:34px}.section-heading h2{font-size:48px}.section-heading>p{font-size:11px;margin-top:21px;max-width:350px}.section-heading>p br{display:none}.service-row{grid-template-columns:28px 1fr 37px;column-gap:10px;padding:20px 0;row-gap:5px}.service-name{font-size:29px;grid-column:2;grid-row:1}.service-number{font-size:19px;grid-column:1;grid-row:1}.service-summary{grid-column:2;grid-row:2;font-size:9px}.service-arrow{grid-row:1/3;grid-column:3;width:36px;height:36px}.service-arrow>.icon{width:15px;height:15px}.service-row:hover{padding-left:5px;padding-right:5px}.section-footnote{font-size:9px;line-height:1.9;text-align:left;margin-top:23px;max-width:330px}.approach-grid{grid-template-columns:1fr;gap:37px}.approach-art{height:395px;max-width:460px;width:100%;padding-bottom:35px}.art-caption{top:25px;left:25px;font-size:7px}.art-sun{width:80px;height:80px;top:42px;right:49px}.art-quote{font-size:43px}.approach-copy h2{font-size:46px}.approach-copy>p{font-size:12px;margin-top:21px;margin-bottom:26px}.approach-item h3{font-size:27px}.approach-item p{font-size:11px;max-width:none}.approach-item{gap:20px;padding-block:17px}.faq{padding-top:67px}.faq-grid{grid-template-columns:1fr;gap:25px}.faq-grid h2{font-size:52px}.faq-grid>div>p{font-size:11px;margin-top:17px;margin-bottom:10px}.faq-list{padding-top:5px}.faq-list summary{font-size:11px;padding-block:21px;gap:20px}.faq-list details>p{font-size:11px;padding-right:20px}.contact{padding-bottom:64px}.contact-top{gap:20px;padding-bottom:32px;align-items:flex-end}.contact h2{font-size:44px;letter-spacing:-1.3px}.contact .section-label{font-size:8px;margin-bottom:22px}.round-contact{width:57px;height:57px;margin:0 0 5px}.round-contact>.icon{width:25px;height:25px}.contact-bottom{grid-template-columns:1fr;gap:28px;padding-top:30px}.contact-bottom>p{font-size:24px}.contact-bottom>p br{display:none}.contact-bottom .eyebrow{font-size:8px;margin-bottom:9px}.contact-phone{font-size:36px;margin-bottom:13px}.contact-whatsapp,.contact-address>a{font-size:11px}.contact-address>p{font-size:12px;margin-bottom:9px}.contact-address>small{font-size:9px;margin-top:10px}.footer-top{flex-wrap:wrap;gap:26px;padding-bottom:27px}.footer-top>p{order:3;width:100%;font-size:21px}.footer-phone{font-size:9px;gap:10px}.footer-phone>.icon{width:13px;height:13px}.footer-brand .brand-name{font-size:10px;letter-spacing:1px}.footer-brand .brand-name>span{font-size:7px;letter-spacing:2.5px}.footer-bottom{flex-wrap:wrap;justify-content:flex-start;gap:12px 25px;padding-block:18px 26px;font-size:7px;max-width:calc(100% - 44px)}.footer-bottom>span:first-child{width:100%}.floating-socials{right:16px;bottom:16px}.floating-contact{padding:13px}.floating-contact>.icon{width:22px;height:22px}.floating-contact>span{display:none}.site-dialog{padding:40px 27px 29px;max-height:calc(100dvh - 36px);max-width:calc(100vw - 28px)}.site-dialog h2{font-size:42px}.site-dialog .eyebrow{font-size:8px;letter-spacing:1.8px}.site-dialog>p{font-size:11px}.appointment-dialog h2{font-size:47px}.legal-page{padding-block:55px 70px}.legal-page h1{font-size:49px;margin-bottom:27px}.legal-content h2{font-size:28px}.legal-content p{font-size:12px}}
@media(max-width:370px){.container{width:calc(100% - 36px)}h1{font-size:59px}.hero-actions{gap:17px}.hero-actions .button{padding-inline:15px;gap:18px}.hero-location>span:last-child,.location-divider{display:none}.service-name{font-size:26px}.contact h2{font-size:38px}.footer-phone{display:none}.hero-visual{width:calc(100% - 42px)}}
@media(max-width:700px){
    .hero{padding-top:22px}
    .hero-grid{gap:30px}
    .hero-visual{order:-1;max-width:320px}
    .hero-portrait{aspect-ratio:.95}
    .hero-portrait>img{object-position:50% 36%}
    .hero-portrait figcaption{bottom:21px;left:25px}
    .hero-portrait figcaption>strong{font-size:29px}
    .hero-seal{width:76px;height:76px;left:-24px;bottom:91px}
    .portrait-side-label{display:none}
    .hero-eyebrow{margin-bottom:18px}
    h1{font-size:clamp(52px,10.8vw,68px);letter-spacing:-2.2px}
    .hero-description{margin-top:21px}
    .approach-art{height:auto;aspect-ratio:4/3;padding:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;transform:none}}




