:root{--ink:#14191d;--slate:#293239;--mist:#eef1f2;--line:#d5dade;--white:#fff;--accent:#536a73;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;overflow-x:hidden;background:#f8f9f9;color:var(--ink);font-family:"DM Sans",sans-serif;font-size:17px;line-height:1.65}a{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{height:84px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(248,249,249,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.2;min-width:0}.brand span{font:600 18px "Manrope",sans-serif;letter-spacing:.02em}.brand small{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#67737a;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:500}.nav-cta{border:1px solid var(--ink);padding:10px 18px}.menu{display:none;min-width:48px;min-height:44px;padding:0 4px;background:none;border:0;font:600 14px "DM Sans",sans-serif;color:var(--ink);cursor:pointer}.hero{width:min(calc(100% - 48px),var(--max));margin:auto;min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.02fr .98fr;align-items:stretch}.hero-copy{padding:13vh 7% 9vh 0;align-self:center;min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600;color:#5d6e76;margin:0 0 22px}.hero h1{font:500 clamp(3.4rem,6vw,6rem)/.98 "Manrope",sans-serif;letter-spacing:-.055em;margin:0 0 32px;overflow-wrap:anywhere}.lead{font-size:20px;max-width:610px;color:#48545b}.hero-image{margin:38px 0 38px 4%;min-height:620px;overflow:hidden}.hero-image img{object-position:center 35%}.actions{display:flex;gap:18px;align-items:center;margin-top:38px;flex-wrap:wrap}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:14px;font-weight:600;line-height:1.3;letter-spacing:.01em;padding:15px 22px}.primary{background:var(--ink);color:white}.text{padding-inline:0}.text span{margin-left:10px}.section{max-width:var(--max);margin:auto;padding:120px 0}.intro,.services,.about,.location{width:min(calc(100% - 48px),var(--max))}.intro{display:grid;grid-template-columns:.75fr 1.5fr;gap:7%;border-top:1px solid var(--line)}.intro .eyebrow{margin-top:12px}.intro h2,.section-heading h2,.method h2,.about h2,.location h2,.contact h2{font:500 clamp(2.4rem,4.5vw,4.6rem)/1.05 "Manrope",sans-serif;letter-spacing:-.045em;margin:0;overflow-wrap:anywhere}.intro>p:last-child{grid-column:2;max-width:720px;font-size:20px;color:#47545a}.services{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.cards article{padding:35px 30px 30px 0;border-right:1px solid var(--line);min-height:330px;display:flex;flex-direction:column}.cards article+article{padding-left:30px}.cards article:last-child{border-right:0}.cards span{font-size:13px;color:#718088}.cards h3,.credentials h3{font:500 25px "Manrope",sans-serif;margin:44px 0 14px}.cards p{color:#536068;margin:0}.cards a{margin-top:auto;font-size:14px;font-weight:600;text-decoration:none}.method{max-width:none;background:var(--slate);color:white;display:grid;grid-template-columns:1fr 1fr;padding:0}.method figure{margin:0;min-height:780px}.method>div{padding:110px max(7vw,60px);display:flex;flex-direction:column;justify-content:center}.method .eyebrow{color:#b6c2c7}.method h2{margin-bottom:35px}.method p{color:#d9dfe1;max-width:590px}.method blockquote{font:400 24px/1.4 "Manrope",sans-serif;margin:38px 0 0;padding:28px 0;border-top:1px solid #607078}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.lead-small{font-size:22px;color:#536068}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:45px}.credentials>div{border-top:1px solid var(--line);padding-top:28px}.credentials h3{font-size:20px;margin:28px 0 8px}.credentials p{font-size:15px;color:#58646a}.location{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;border-top:1px solid var(--line)}.location h2{margin-bottom:28px}.location figure{margin:0;height:640px}.contact{max-width:none;text-align:center;background:#596d74;color:white;padding:110px 24px}.contact .eyebrow{color:#dce4e6}.contact h2{max-width:800px;margin:auto}.contact p{max-width:600px;margin:25px auto 35px;color:#e5eaec}.light{background:white;color:var(--ink)}footer{width:min(calc(100% - 48px),var(--max));margin:auto;padding:55px 0 90px;display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:start;border-top:1px solid var(--line)}footer>div:nth-child(2){display:flex;flex-direction:column;gap:8px;min-width:0}footer a{font-size:14px;text-decoration:none;overflow-wrap:anywhere}footer>p{font-size:13px;color:#718087;margin:0}.whatsapp{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));background:#172026;color:white;padding:13px 18px;text-decoration:none;font-size:14px;font-weight:600;z-index:30;box-shadow:0 8px 30px #0002}

@media(max-width:1024px){html{scroll-padding-top:76px}.site-header{height:72px;padding:0 28px}.menu{display:block}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;max-height:calc(100vh - 72px);overflow:auto;background:#f8f9f9;padding:22px 28px 30px;border-bottom:1px solid var(--line);box-shadow:0 16px 35px #17202612;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);font-size:16px}.site-header nav .nav-cta{justify-content:center;margin-top:16px;border:1px solid var(--ink)}.hero{width:100%;min-height:0;display:grid;grid-template-columns:1fr}.hero-copy{width:min(calc(100% - 56px),760px);padding:76px 0 54px;margin:auto}.hero h1{font-size:clamp(3.3rem,8.5vw,5.4rem);max-width:780px}.lead{max-width:690px}.hero-image{width:100%;height:min(66vw,620px);min-height:0;margin:0}.hero-image img{object-position:center 36%}.section{padding-top:92px;padding-bottom:92px}.intro{display:grid;grid-template-columns:1fr;gap:24px}.intro .eyebrow{margin-top:0}.intro h2{max-width:820px}.intro>p:last-child{grid-column:auto;max-width:700px;margin:8px 0 0}.section-heading{display:block;margin-bottom:48px}.section-heading h2{max-width:700px}.cards{grid-template-columns:1fr}.cards article,.cards article+article{min-height:0;padding:30px 0 34px;border-right:0;border-bottom:1px solid var(--line)}.cards h3{margin:14px 0 8px}.cards a{margin-top:24px}.method{grid-template-columns:1fr}.method figure{height:min(76vw,650px);min-height:0}.method>div{padding:82px max(28px,calc((100vw - 760px)/2))}.method>div>*{max-width:700px}.about{grid-template-columns:1fr;gap:60px}.about-copy{max-width:700px}.credentials{gap:48px}.location{grid-template-columns:1fr;gap:55px}.location>div{max-width:700px}.location figure{height:min(76vw,680px)}footer{grid-template-columns:1fr auto;gap:36px}footer>p{grid-column:1/-1}}

@media(max-width:600px){body{font-size:16px;line-height:1.58}.site-header{height:68px;padding:0 18px}.brand span{font-size:16px}.brand small{font-size:10px;letter-spacing:.12em}.site-header nav{top:68px;max-height:calc(100vh - 68px);padding:16px 20px 28px}.hero-copy{width:100%;padding:54px 20px 42px}.eyebrow{font-size:11px;line-height:1.45;letter-spacing:.14em;margin-bottom:16px}.hero h1{font-size:clamp(2.45rem,12vw,3.15rem);line-height:1.02;letter-spacing:-.05em;margin-bottom:24px}.hero h1 br{display:none}.lead{font-size:17px;line-height:1.55;margin:0}.actions{display:grid;width:100%;gap:10px;margin-top:28px}.button{width:100%;padding:14px 16px}.button.text{min-height:42px}.hero-image{height:92vw;max-height:430px}.hero-image img{object-position:center 38%}.intro,.services,.about,.location{width:calc(100% - 40px)}.section{padding-top:68px;padding-bottom:68px}.intro h2,.section-heading h2,.method h2,.about h2,.location h2,.contact h2{font-size:clamp(2.1rem,10vw,2.65rem);line-height:1.08}.intro h2 br,.location h2 br{display:none}.intro>p:last-child{font-size:17px;margin-top:4px}.section-heading{margin-bottom:28px}.cards article,.cards article+article{padding:24px 0 28px}.cards h3{font-size:22px}.method figure{height:92vw;max-height:430px}.method figure img{object-position:center 48%}.method>div{padding:62px 20px}.method h2{margin-bottom:26px}.method blockquote{font-size:20px;margin-top:26px;padding:22px 0 0}.about{gap:48px}.lead-small{font-size:19px}.credentials{display:block;margin-top:0}.credentials>div{padding-top:22px}.credentials>div+div{margin-top:38px}.credentials h3{font-size:19px;margin:24px 0 7px}.credentials p{font-size:15px}.location{gap:36px}.location .actions{display:block}.location figure{height:112vw;max-height:500px;margin:0}.location figure img{object-position:center 35%}.contact{padding:68px 20px}.contact p{margin:20px auto 28px}footer{width:calc(100% - 40px);padding:40px 0 105px;display:flex;flex-direction:column;gap:24px}.whatsapp{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:11px 14px;font-size:13px}}

@media(max-width:360px){.hero h1{font-size:2.32rem}.brand small{display:none}.hero-copy{padding-inline:16px}.intro,.services,.about,.location,footer{width:calc(100% - 32px)}.method>div,.contact{padding-inline:16px}}

/* Mobile-first override: intentionally stronger than the desktop rules above. */
@media (max-width:767px){
  html,body{width:100%;max-width:100%;overflow-x:clip}
  .site-header{width:100%;height:64px;padding:0 16px}
  .site-header nav{top:64px;max-height:calc(100dvh - 64px);padding:12px 16px 24px}
  .site-header nav a{min-height:52px}
  .brand span{font-size:15px}
  .brand small{font-size:9px;margin-top:3px}
  .hero{display:flex;width:100%;min-height:0;flex-direction:column}
  .hero-copy{width:100%;padding:42px 16px 34px}
  .hero h1{max-width:100%;font-size:clamp(2.25rem,10.5vw,2.8rem);line-height:1.04;margin-bottom:20px;overflow-wrap:normal}
  .lead{font-size:16px;line-height:1.5}
  .actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:24px}
  .button{width:100%;min-height:50px;padding:13px 14px;font-size:14px}
  .button.text{justify-content:flex-start}
  .hero-image{width:100%;height:auto;max-height:none;aspect-ratio:4/5;margin:0}
  .hero-image img{object-position:center 35%}
  .intro,.services,.about,.location{width:calc(100% - 32px)}
  .section{padding-top:54px;padding-bottom:54px}
  .intro{display:block}
  .intro .eyebrow{margin-bottom:14px}
  .intro h2,.section-heading h2,.method h2,.about h2,.location h2,.contact h2{font-size:clamp(2rem,9.2vw,2.45rem);line-height:1.08;letter-spacing:-.04em}
  .intro>p:last-child{font-size:16px;line-height:1.55;margin-top:22px}
  .section-heading{margin-bottom:22px}
  .cards{display:block}
  .cards article,.cards article+article{min-height:0;padding:22px 0 26px}
  .cards h3{font-size:21px;margin:10px 0 8px}
  .method{display:flex;flex-direction:column}
  .method figure{width:100%;height:auto;max-height:none;aspect-ratio:4/5}
  .method>div{width:100%;padding:50px 16px}
  .about{display:block}
  .credentials{display:block;margin-top:40px}
  .credentials>div+div{margin-top:34px}
  .location{display:flex;flex-direction:column;gap:30px}
  .location>div,.location figure{width:100%}
  .location figure{height:auto;max-height:none;aspect-ratio:4/5}
  .contact{padding:54px 16px}
  footer{width:calc(100% - 32px);padding:36px 0 92px}
  .whatsapp{right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:10px 13px}
}

@media(min-width:1025px){
  .about{grid-template-columns:.7fr .8fr 1.5fr;gap:5%;align-items:start}
  .about-image{height:560px;margin:0;overflow:hidden}
  .about-image img{object-position:center 42%}
}

@media(max-width:1024px){
  .about-image{width:100%;height:min(76vw,650px);margin:0;overflow:hidden}
  .about-image img{object-position:center 40%}
}

@media(max-width:767px){
  .about-image{height:auto;aspect-ratio:4/5;margin:0 0 42px}
}

.secondary-photo{width:min(calc(100% - 48px),var(--max));height:700px;margin:0 auto 24px;overflow:hidden}
.secondary-photo img{object-position:center 48%}
.inline-link{text-decoration-thickness:1px;text-underline-offset:4px}
.button.outline{border:1px solid var(--ink);background:transparent;color:var(--ink)}

@media(max-width:1024px){
  .secondary-photo{width:100%;height:auto;aspect-ratio:16/11;margin:0}
}

@media(max-width:767px){
  .secondary-photo{aspect-ratio:1/1}
  .secondary-photo img{object-position:center 48%}
}

.legal-back{font-size:14px;font-weight:600;text-decoration:none}
.legal-page{width:min(calc(100% - 48px),840px);margin:auto;padding:100px 0 120px}
.legal-page h1{font:500 clamp(3rem,7vw,5.5rem)/1 "Manrope",sans-serif;letter-spacing:-.05em;margin:0 0 16px}
.legal-page h2{font:500 26px/1.2 "Manrope",sans-serif;margin:52px 0 12px}
.legal-page p{color:#48545b}
.legal-page a{text-underline-offset:3px}
.legal-updated{font-size:14px}
.legal-footer{width:min(calc(100% - 48px),840px);display:flex;justify-content:space-between;padding:38px 0 70px}
.legal-footer a{font-size:14px;text-decoration:none}
.contact p+p{margin-top:-18px}

@media(max-width:767px){
  .legal-page{width:calc(100% - 32px);padding:60px 0 80px}
  .legal-page h1{font-size:2.75rem}
  .legal-page h2{font-size:22px;margin-top:40px}
  .legal-footer{width:calc(100% - 32px);flex-direction:column;gap:14px;padding-bottom:90px}
}
