:root{--purple:#0b172b;--purple-mid:#b9c9e2;--gold:#b69b65;--paper:#101e34;--ink:#edf1f7;--muted:#b6c1d0;--line:#334058}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.16}h1{font-size:clamp(2.5rem,4.5vw,4.6rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,3.2vw,3.4rem);letter-spacing:-.025em}em{font-weight:400;color:var(--purple-mid)}.skip{position:fixed;top:-100px;left:16px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}header{background:rgba(11,23,43,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{max-width:1440px;margin:auto;padding:19px 5%;display:flex;align-items:center;gap:30px;justify-content:space-between}.brand{width:290px;flex-shrink:0}.brand img{height:auto}nav{display:flex;gap:25px;font-size:14px}nav a{padding:8px 0}nav a:hover{color:var(--purple-mid)}.header-contact{border:1px solid var(--purple);padding:11px 19px;font-size:14px;white-space:nowrap}.header-contact:hover{background:var(--purple);color:white}.menu-toggle{display:none}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;min-height:680px;position:relative;padding:35px 5% 50px;gap:5%}.hero-copy{align-self:center;padding:35px 0}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.7;color:var(--purple-mid);margin-bottom:24px}.hero h1{color:var(--purple)}.degree{display:flex;gap:15px;align-items:center;margin:30px 0 20px;font-size:19px;color:var(--purple)}.degree-line{height:1px;width:43px;background:var(--gold)}.degree strong{font-weight:400}.hero-description{color:var(--muted);max-width:430px;font-size:17px;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 25px;background:var(--purple);color:white;border:1px solid var(--purple);font-size:15px;transition:background .2s,transform .2s}.button:hover{background:var(--purple-mid);transform:translateY(-2px)}.hero-small{font-size:12px;margin-top:18px;color:var(--muted)}.hero-photo{position:relative;min-height:620px;overflow:hidden}.hero-photo>img{height:100%;position:absolute;object-fit:cover;object-position:center 36%}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 26px 23px;color:white;background:linear-gradient(transparent,rgba(35,24,40,.8));display:flex;flex-direction:column;gap:3px;font-size:13px}.photo-caption span:first-child{letter-spacing:.15em;font-size:14px}.hero-side{position:absolute;right:14px;top:40%;writing-mode:vertical-rl;font-size:11px;letter-spacing:.2em;color:var(--muted)}.credentials{background:var(--purple);color:white;display:grid;grid-template-columns:repeat(3,1fr);padding:32px max(5%,calc((100vw - 1296px)/2));gap:30px}.credentials>div{border-right:1px solid #ffffff35;padding-left:20px}.credentials>div:last-child{border:0}.credentials strong{display:block;font-family:Georgia,serif;font-size:23px;font-weight:400}.credentials span{font-size:14px;color:#bbc7d8}.section{padding:100px 5%;max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}.section-heading>p{max-width:325px;color:var(--muted)}.area-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:25px;padding:25px 0}summary::-webkit-details-marker{display:none}.area-number{font-size:13px;color:var(--gold);min-width:40px}.area-list h3{font-size:30px}.plus{font-family:Arial,sans-serif;font-size:28px;color:var(--purple-mid);font-weight:300;line-height:1;margin-left:auto;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.area-content{padding:0 60px 30px;max-width:800px;color:var(--muted)}.area-content a{display:inline-block;font-size:14px;color:var(--purple-mid);border-bottom:1px solid var(--gold);margin-top:15px}.about{background:#15233a;display:grid;grid-template-columns:.9fr 1fr;gap:8%;max-width:none;padding-left:max(5%,calc((100vw - 1296px)/2));padding-right:max(5%,calc((100vw - 1296px)/2))}.about-photo{position:relative;min-height:640px}.about-photo img{position:absolute;height:100%;object-fit:cover;object-position:center 32%}.portrait-label{position:absolute;bottom:24px;left:24px;right:24px;padding:17px 20px;background:rgba(11,23,43,.95);color:var(--purple);font-family:Georgia,serif;font-size:22px;line-height:1.35}.portrait-label small{font:12px Arial,sans-serif;letter-spacing:.1em}.about-copy{align-self:center}.about-copy>p:not(.eyebrow){margin-top:22px;color:var(--muted)}.education{margin-top:30px;border-top:1px solid #35425a}.education>div{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid #35425a;font-size:14px;color:var(--muted)}.education>div>span{color:var(--gold);font-size:12px;padding-top:3px}.education strong{display:block;color:var(--purple);font-weight:500;font-size:16px}.service{background:var(--purple);color:white;display:grid;grid-template-columns:1fr .9fr;gap:7%;padding:90px max(5%,calc((100vw - 1296px)/2))}.service .eyebrow{color:#c7ad79}.service-copy>p:not(.eyebrow){color:#c6d0de;margin-top:22px;max-width:420px}.service-photo{position:relative;min-height:660px}.service-photo img{position:absolute;object-fit:cover;height:100%;object-position:center}.steps{padding:0;list-style:none;margin:35px 0}.steps li{display:flex;gap:20px;border-top:1px solid #ffffff30;padding:18px 0}.steps li>span{font-size:13px;color:#c7ad79;padding-top:4px}.steps h3{font-size:23px;margin-bottom:8px}.steps p{color:#c6d0de;font-size:15px;max-width:390px}.light{background:var(--paper);color:var(--purple);border-color:var(--paper)}.light:hover{background:#20324d}.service-copy .service-hours{font-size:13px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.faq summary{font-size:17px;gap:20px}.faq details p{color:var(--muted);padding-bottom:24px}.contact{background:#15233a;display:grid;grid-template-columns:1fr 1fr;gap:60px 10%;max-width:none;padding-left:max(5%,calc((100vw - 1296px)/2));padding-right:max(5%,calc((100vw - 1296px)/2))}.contact-intro>p:not(.eyebrow){color:var(--muted);margin:25px 0;max-width:400px}.contact-info{display:grid;gap:20px}.info-label{display:block;color:var(--purple-mid);font-size:11px;letter-spacing:.14em;margin-bottom:6px}.contact-info a{overflow-wrap:anywhere}.text-link{font-size:14px;color:var(--purple-mid);display:inline-block;border-bottom:1px solid var(--gold);margin-top:8px}.social-links{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #35425a;padding-top:30px;gap:25px}.social-links>a{display:flex;align-items:center;gap:20px}.social-links strong{font-size:16px;font-weight:500;display:block;color:var(--purple)}.social-links div>span{font-size:14px;color:var(--muted)}.social-icon{font-family:Georgia,serif;color:var(--purple-mid);font-size:34px;width:36px;text-align:center}.instagram{width:32px;height:32px;flex-shrink:0;color:var(--purple-mid)}footer{max-width:1440px;margin:auto;padding:45px 5% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-top>p{font-size:13px;color:var(--muted)}.footer-links{display:flex;gap:20px;font-size:14px;color:var(--purple)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-size:12px;color:var(--muted)}.floating-whatsapp{position:fixed;bottom:22px;right:22px;display:flex;align-items:center;gap:9px;background:var(--purple);border:1px solid #ffffff70;color:white;padding:13px 18px;border-radius:40px;box-shadow:0 5px 22px #0002;z-index:11;font-size:14px}.floating-whatsapp svg{width:25px;height:25px}.floating-whatsapp:hover{background:var(--purple-mid)}
@media(min-width:1500px){.about,.service,.contact{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}}
@media(max-width:1100px){.brand{width:240px}.header-inner{gap:20px}nav{gap:17px}.header-contact{display:none}.hero{min-height:600px}.hero-photo{min-height:560px}.hero h1{font-size:3.4rem}.about{gap:6%}.about-photo{min-height:600px}.service{gap:5%}.service-photo{min-height:650px}.footer-top{flex-wrap:wrap}}
@media(max-width:760px){html{scroll-padding-top:85px}.header-inner{padding:15px 6%}.brand{width:245px;max-width:75%}.menu-toggle{display:flex;gap:10px;align-items:center;background:none;border:0;color:var(--purple);font-size:14px;padding:8px 0}.menu-toggle span{font-size:22px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:14px 6% 22px;border-bottom:1px solid var(--line);flex-direction:column;gap:6px}nav.open{display:flex}nav a{padding:9px 0}.hero{display:flex;flex-direction:column;padding:35px 6% 0;gap:25px;min-height:0}.hero-copy{padding:10px 0;width:100%}.hero h1{font-size:clamp(2.7rem,8vw,3.7rem)}.eyebrow{font-size:11px;margin-bottom:20px}.degree{margin:24px 0 15px;font-size:18px}.hero-description{font-size:16px;margin-bottom:25px}.hero-small{font-size:12px}.hero-photo{min-height:0;height:530px;width:100%}.hero-photo>img{object-position:center 32%}.hero-side{display:none}.credentials{padding:25px 6%;grid-template-columns:1fr;gap:16px}.credentials>div{padding:0 0 16px;border:0;border-bottom:1px solid #ffffff30}.credentials>div:last-child{padding-bottom:0}.credentials strong{font-size:21px}.credentials span{font-size:13px}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;max-width:none}.area-list h3{font-size:26px}summary{gap:15px;padding:22px 0}.area-number{min-width:25px}.area-content{padding:0 0 25px 40px;font-size:15px}.about{display:flex;flex-direction:column;gap:35px}.about-photo{min-height:0;height:540px}.about-copy{align-self:auto}.service{display:flex;flex-direction:column;padding:65px 6%;gap:40px}.service-photo{min-height:0;height:430px}.service-photo img{object-position:center 40%}.faq{display:block}.faq>div:first-child{margin-bottom:20px}.faq summary{font-size:16px}.contact{display:block}.contact-info{margin-top:40px}.social-links{grid-template-columns:1fr;margin-top:35px;gap:28px}.social-links strong{font-size:15px}.social-links div>span{font-size:13px}.contact .button{padding:13px 18px;font-size:14px}footer{padding:35px 6% 95px}.footer-top{flex-direction:column;align-items:flex-start;gap:20px}.footer-bottom{flex-direction:column;gap:10px}.floating-whatsapp{right:16px;bottom:16px;padding:12px 15px}.floating-whatsapp span{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}} 

/* Navy editorial identity */
.hero h1{color:var(--ink);font-size:clamp(2.2rem,3.6vw,3.6rem)}
.hero-profession{font-family:Georgia,serif;font-size:clamp(2.1rem,3.4vw,3.3rem);line-height:1.1;color:var(--ink);margin-bottom:32px;letter-spacing:-.025em}
.degree{color:var(--ink)}.degree strong{color:var(--ink)}
.hero-small{font-size:13px}.hero-side{color:#a9b7cd}.hero-photo>img{object-position:center 25%}
.header-inner .brand{width:355px}.header-contact{background:#187b49;border-color:#187b49;color:white}.header-contact:hover{background:#126138}
.button,.light{background:#187b49;border-color:#187b49;color:white}.button:hover,.light:hover{background:#126138;border-color:#126138}
.area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px}
.area-card{display:flex;gap:18px;padding:30px 0;border-bottom:1px solid var(--line)}.area-card>div{min-width:0}.area-card .area-number{padding-top:8px;min-width:25px}.area-card h3{font-size:28px;margin-bottom:14px}.area-card p{font-size:15px;color:var(--muted);line-height:1.65}.area-card .area-lead{color:var(--ink);font-size:16px;margin-bottom:10px}.area-card a{display:inline-block;font-size:14px;color:#c7ad79;border-bottom:1px solid #a58b57;margin-top:20px}
.about-photo img{object-position:center 22%}.portrait-label{color:var(--ink);border:1px solid #8e9cb04d}.portrait-label small{font-size:13px;letter-spacing:0}
.about-principles{display:flex;flex-direction:column;margin-top:30px;border-top:1px solid var(--line)}.about-principles span{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink)}
.service{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-photo img{object-position:center 42%}
.contact-info .text-link,.social-links strong,.social-icon,.instagram,.footer-links{color:var(--ink)}.floating-whatsapp{background:#187b49}.floating-whatsapp:hover{background:#126138}
@media(max-width:1100px){.header-inner .brand{width:310px}nav{gap:14px}.hero-profession{font-size:2.7rem}.hero h1{font-size:2.8rem}}
@media(max-width:760px){.header-inner .brand{width:280px;max-width:78%}.hero-profession{font-size:clamp(2rem,7.5vw,2.8rem);margin-bottom:25px}.hero h1{font-size:clamp(2rem,7vw,2.7rem)}.hero-photo{height:480px}.area-list{grid-template-columns:1fr}.area-card{padding:25px 0}.area-card h3{font-size:26px}.about-photo{height:520px}.service-photo{height:480px}.credentials>div{padding-left:0}}

.about{display:block}.about-copy{max-width:850px;margin:auto}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-bottom:1px solid var(--line)}.reviews p:not(.eyebrow){color:var(--muted);margin-bottom:25px}.reviews .button{background:transparent;border-color:#b69b65;color:var(--ink)}@media(max-width:760px){.reviews{grid-template-columns:1fr;gap:25px}}

/* Subtle motion, with content always visible if scripts are unavailable. */
.button,.header-contact,.floating-whatsapp{transition:background .2s ease, transform .2s ease, box-shadow .2s ease}
.button:hover,.header-contact:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}
.about.with-photo{display:grid;grid-template-columns:.9fr 1fr;gap:7%;align-items:center}.about.with-photo .about-copy{max-width:none}.about.with-photo .about-photo{min-height:640px}.about.with-photo .about-photo img{width:100%;object-position:center 45%}
@media(max-width:760px){.about.with-photo{display:flex;flex-direction:column;gap:35px}.about.with-photo .about-photo{width:100%;min-height:0;height:520px}}
@media(prefers-reduced-motion:reduce){.button:hover,.header-contact:hover{transform:none}}

/* First-fold portrait movement and editorial entrance choreography. */
.hero-photo{overflow:hidden}.hero-photo>img{transform-origin:55% 40%;will-change:transform}
@media(prefers-reduced-motion:no-preference){.hero-photo>img{animation:portrait-drift 14s ease-in-out infinite alternate}}
@keyframes portrait-drift{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.075) translateY(-7px)}}
@media(max-width:760px){@keyframes portrait-drift{from{transform:scale(1.01)}to{transform:scale(1.055) translateY(-4px)}}}
@media(prefers-reduced-motion:reduce){.hero-photo>img{animation:none;will-change:auto}}
