:root{--font-open-sans:"Open Sans";--font-roboto:"Roboto";--black:#000000;--ink:#171717;--yellow:#ebcf37;--yellow-dark:#d4b91f;--gray:#838383;--light-gray:#f4f2ef;--white:#ffffff;--max-width:1140px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--white);color:var(--black);font-family:var(--font-open-sans),"Helvetica Neue",Arial,sans-serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}body.lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.skip-link{position:fixed;left:16px;top:12px;z-index:200;padding:9px 14px;border-radius:4px;background:var(--yellow);color:var(--black);font-weight:700;transform:translateY(-180%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.site-header{position:relative;z-index:50;border-bottom:2px solid var(--yellow);background:rgba(255,255,255,.98)}.header-inner{width:min(calc(100% - 48px),1280px);min-height:150px;margin:0 auto;display:flex;align-items:center;gap:clamp(32px,6vw,86px)}.brand-link{display:inline-flex;flex:0 0 auto}.brand-link img{display:block;width:112px;height:auto}.primary-navigation{flex:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:clamp(22px,2.7vw,42px);row-gap:10px}.primary-navigation a{position:relative;padding:8px 0;color:var(--black);font-size:clamp(16px,1.35vw,20px);font-weight:600;white-space:nowrap}.primary-navigation a:after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:2px;background:var(--yellow);transition:right .25s ease}.primary-navigation a:hover:after,.primary-navigation a[aria-current=page]:after{right:0}.primary-navigation a[aria-current=page]{color:var(--yellow-dark)}.menu-toggle{display:none;width:46px;height:46px;padding:10px;border:1px solid var(--black);border-radius:50%;background:transparent;color:var(--black);cursor:pointer}.menu-toggle svg{display:block;width:100%;height:100%}.hero-carousel{position:relative;height:min(620px,68vw);min-height:480px;overflow:hidden;background:var(--black)}.hero-slide{position:absolute;inset:0;display:grid;place-items:center;background-position:50%;background-size:cover;opacity:0;pointer-events:none;transform:scale(1.03);transition:opacity .8s ease,transform 6.5s linear}.hero-slide.is-active{z-index:1;opacity:1;pointer-events:auto;transform:scale(1)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.38))}.hero-content{position:relative;z-index:2;width:min(calc(100% - 120px),1050px);color:var(--white);text-align:center;text-shadow:4px 4px 10px rgba(0,0,0,.45)}.hero-content h1,.hero-content h2{max-width:1050px;margin:0 auto 20px;font-size:clamp(34px,4vw,56px);font-weight:600;line-height:1.15}.hero-content p{max-width:950px;margin:0 auto;font-size:clamp(17px,1.7vw,23px);line-height:1.55}.carousel-control{position:absolute;z-index:3;top:50%;width:48px;height:48px;padding:10px;border:0;border-radius:50%;background:rgba(0,0,0,.36);color:var(--white);cursor:pointer;transform:translateY(-50%);transition:background .2s ease}.carousel-control:hover{background:var(--yellow);color:var(--black)}.carousel-control svg{display:block}.carousel-previous{left:22px}.carousel-next{right:22px}.carousel-dots{position:absolute;z-index:4;left:50%;bottom:25px;display:flex;gap:10px;transform:translateX(-50%)}.carousel-dots button{width:11px;height:11px;padding:0;border:1px solid var(--white);border-radius:50%;background:transparent;cursor:pointer}.carousel-dots button.is-active{background:var(--yellow);border-color:var(--yellow)}.section{padding:92px 24px}.section-inner{width:min(100%,var(--max-width));margin:0 auto}.narrow-content{width:min(100%,860px);margin-inline:auto}.section h2{margin:0 0 34px;font-size:clamp(30px,3.2vw,42px);font-weight:600;line-height:1.2;text-align:center}.section-kicker{margin:0 0 6px;color:#8d7611;font-family:var(--font-roboto),Arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:.2em;text-align:center}.section-kicker-light{color:var(--yellow)}.intro-section{min-height:480px;display:grid;place-items:center;text-align:center}.intro-section p{margin:0 0 18px}.disciplines-section{background:var(--yellow);text-align:center}.disciplines-grid{margin-top:55px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.discipline-item{padding:10px}.discipline-item svg{width:66px;height:66px;stroke-width:1.25}.discipline-item h3{margin:16px 0 0;font-size:19px;font-weight:500;line-height:1.35}.staff-section{background:var(--white)}.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.staff-card{min-width:0;border-radius:3px;background:var(--black);color:var(--white)}.staff-card,.staff-image{position:relative;overflow:hidden}.staff-image{aspect-ratio:4/5}.staff-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7))}.staff-image img{object-fit:cover;object-position:center 18%;transition:transform .5s ease}.staff-card:hover .staff-image img{transform:scale(1.03)}.staff-copy{padding:24px 26px 28px;border-top:3px solid var(--yellow)}.staff-copy h3{margin:0;font-size:25px;font-weight:600}.staff-copy p{margin:2px 0 0;color:#d8d8d8;font-size:16px}.steps-section{background:var(--black);color:var(--white)}.steps-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,110px);align-items:start}.steps-heading{position:sticky;top:40px}.steps-heading .section-kicker,.steps-heading h2{text-align:left}.steps-list{border-top:1px solid #3d3d3d}.steps-list details{border-bottom:1px solid #3d3d3d}.steps-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;color:var(--yellow);font-size:26px;font-weight:600;cursor:pointer;list-style:none}.steps-list summary::-webkit-details-marker{display:none}.steps-list summary span:last-child{font-size:34px;font-weight:300;line-height:1;transition:transform .2s ease}.steps-list details[open] summary span:last-child{transform:rotate(45deg)}.steps-list details p{margin:-4px 0 0;padding:0 48px 26px 4px;color:#e3ddd8}.services-section{background:var(--white)}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.service-card{min-width:0;overflow:hidden;border:1px solid #e2dfda;border-radius:3px;background:var(--white)}.service-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 17px);justify-self:center}.service-image{position:relative;height:290px;overflow:hidden;background:var(--light-gray)}.service-image img{object-fit:cover;transition:transform .55s ease}.service-card:hover .service-image img{transform:scale(1.035)}.service-copy{padding:28px 30px 32px;text-align:center}.service-copy h3{margin:0;font-size:22px;font-weight:600;line-height:1.35}.service-copy p{margin:12px 0 0;color:#494949;font-size:16px}.facilities-section{background:var(--black);color:var(--white)}.facilities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-item{position:relative;aspect-ratio:3/2;overflow:hidden;padding:0;border:0;background:#1a1a1a;cursor:zoom-in}.gallery-item img{object-fit:cover;transition:transform .8s ease}.gallery-item span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.5);color:var(--white);font-size:16px;font-weight:600;opacity:0;transition:opacity .35s ease}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:focus-visible span,.gallery-item:hover span{opacity:1}.lightbox{position:fixed;z-index:150;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.95)}.lightbox-image{position:relative;width:min(84vw,1200px);height:84vh}.lightbox-image img{object-fit:contain}.lightbox button{position:absolute;z-index:2;width:48px;height:48px;padding:10px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.45);color:var(--white);cursor:pointer}.lightbox-close{top:22px;right:22px}.lightbox-next,.lightbox-previous{top:50%;transform:translateY(-50%)}.lightbox-previous{left:22px}.lightbox-next{right:22px}.reviews-section{min-height:520px;background:var(--light-gray)}.reviews-section h2{margin-bottom:12px}.reviews-summary{margin:0 0 42px;color:#5f5f5f;font-size:15px;text-align:center}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.review-card{min-width:0;padding:30px;border-top:4px solid var(--yellow);border-radius:3px;background:var(--white);box-shadow:0 12px 35px rgba(0,0,0,.08)}.review-stars{display:flex;gap:4px;color:var(--yellow-dark)}.review-stars svg{width:20px;height:20px}.review-card>p{margin:20px 0 26px;color:#343434;font-size:16px}.review-card footer{display:grid;gap:1px;padding-top:17px;border-top:1px solid #e5e1dc}.review-card footer strong{font-size:16px}.review-card footer span{color:#6c6c6c;font-size:13px}.reviews-link{width:fit-content;margin:36px auto 0;padding:12px 18px;display:block;border:2px solid var(--black);border-radius:999px;font-size:15px;font-weight:700;text-align:center;transition:background .2s ease,color .2s ease}.page-banner,.reviews-link:hover{background:var(--black);color:var(--white)}.page-banner{padding:30px 24px;text-align:center}.page-banner h1{margin:0;font-size:clamp(34px,4vw,48px);font-weight:500}.contact-section{padding:60px 24px 90px}.contact-card{width:min(100%,1320px);margin:0 auto;display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.7fr);overflow:hidden;border:5px solid var(--black);border-radius:24px;background:var(--white)}.contact-details{padding:48px 54px;background:var(--black);color:var(--white)}.contact-details h2{margin:0 0 14px;font-size:27px;font-weight:500}.contact-details h2:not(:first-child){margin-top:34px}.contact-details p{margin:0 0 12px}.contact-details a:hover{color:var(--yellow)}.contact-form{padding:44px 48px 38px}.contact-form label{display:grid;gap:7px;margin-bottom:16px;font-size:17px;font-weight:600}.contact-form label>span[aria-hidden=true]{color:#d01919}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #8b9199;border-radius:2px;background:var(--white);color:var(--black)}.sensitive-data-note{margin:-2px 0 18px;padding:10px 12px;border-left:3px solid var(--yellow);background:#faf8f1;color:#555;font-size:13px}.contact-form .privacy-check{display:flex;align-items:flex-start;gap:10px;color:#3f3f3f;font-size:13px;font-weight:400;line-height:1.5}.privacy-check input{width:18px;min-height:18px;margin-top:2px;flex:0 0 auto}.privacy-check a{font-weight:700;text-decoration:underline}.privacy-check b{color:#d01919}.contact-form input{min-height:52px;padding:9px 12px}.contact-form textarea{min-height:140px;padding:12px;resize:vertical}.contact-form button[type=submit]{width:100%;min-height:54px;border:0;border-radius:2px;background:var(--black);color:var(--white);font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease}.contact-form button[type=submit]:hover{background:var(--yellow);color:var(--black)}.form-note{margin:10px 0 0;color:#626262;font-size:13px;text-align:center}.legal-page{min-height:420px;padding:74px 24px 96px;background:#f7f5f2}.legal-page h1{margin:0 0 18px;font-size:clamp(34px,4vw,48px);line-height:1.3;text-align:center}.legal-content{width:min(100%,920px);margin:0 auto}.legal-content header{margin-bottom:56px}.legal-lead{max-width:720px;margin:0 auto;color:#555;text-align:center}.legal-content section{margin-top:48px}.legal-content h2{margin:0 0 14px;font-size:clamp(23px,2.5vw,30px);line-height:1.3}.legal-content p{margin:0 0 16px}.legal-content a{font-weight:700;text-decoration:underline;text-decoration-color:var(--yellow-dark);text-decoration-thickness:2px;text-underline-offset:3px}.legal-warning{padding:18px 22px;border:2px solid #a94729;border-radius:3px;background:#fff5f1;color:#5f2918;font-size:15px}.legal-data{margin:0;border-top:1px solid #d8d3cc}.legal-data div{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid #d8d3cc}.legal-data dt{font-weight:700}.legal-data dd{margin:0}.legal-table-wrap{overflow-x:auto}.legal-table{width:100%;border-collapse:collapse;background:var(--white);font-size:14px;line-height:1.5}.legal-table td,.legal-table th{min-width:150px;padding:14px;border:1px solid #d8d3cc;text-align:left;vertical-align:top}.legal-table th{background:var(--black);color:var(--white)}.legal-content .footer-preferences{padding:11px 16px;border:2px solid var(--black);border-radius:999px;background:var(--yellow);color:var(--black);font-weight:700;cursor:pointer}.not-found-page{min-height:62vh;padding:80px 24px;display:grid;place-items:center;background:var(--black);color:var(--white);text-align:center}.not-found-page>div{max-width:650px}.not-found-code{margin:0;color:var(--yellow);font-size:clamp(72px,12vw,150px);font-weight:700;line-height:.9}.not-found-page h1{margin:24px 0 10px;font-size:clamp(32px,5vw,52px)}.not-found-page>div>p:not(.not-found-code){color:#d8d8d8}.not-found-page a{margin-top:18px;padding:12px 20px;display:inline-block;border-radius:999px;background:var(--yellow);color:var(--black);font-weight:700}.site-footer{background:var(--black);color:var(--white)}.footer-grid{width:min(calc(100% - 48px),1380px);min-height:480px;margin:0 auto;padding:54px 0 38px;display:grid;grid-template-columns:1.1fr .8fr 1.35fr .8fr 1.35fr;gap:30px;align-items:center}.footer-brand{display:block}.footer-brand img{display:block;width:min(100%,230px);height:auto}.footer-column,.footer-location{text-align:center}.footer-column h2,.footer-location h2{margin:0 0 20px;font-size:24px;font-weight:500;line-height:1.25}.footer-column p{margin:0 0 10px;font-size:16px;line-height:1.6}.footer-column a:hover,.footer-location a:hover{color:var(--yellow)}.footer-location iframe,.map-consent-placeholder{width:100%;height:255px;border:0;background:#1a1a1a}.map-consent-placeholder{padding:24px;display:grid;place-items:center;align-content:center;gap:14px;color:#e3ddd8;font-size:13px}.map-consent-placeholder p{margin:0}.map-consent-placeholder button{padding:9px 12px;border:1px solid var(--yellow);border-radius:999px;background:transparent;color:var(--yellow);cursor:pointer}.footer-location h2{margin:16px 0 0;font-size:16px}.footer-legal{min-height:58px;padding:16px 24px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px 90px;background:#929292;color:var(--black);font-size:13px}.footer-legal a:hover,.footer-preferences:hover{text-decoration:underline}.footer-preferences{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font-size:inherit}.cookie-panel{position:fixed;z-index:140;left:20px;right:20px;bottom:20px;width:min(calc(100% - 40px),1080px);margin:0 auto;padding:26px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:end;border:2px solid var(--yellow);border-radius:8px;background:var(--black);color:var(--white);box-shadow:0 18px 55px rgba(0,0,0,.45)}.cookie-copy h2{margin:0 0 8px;font-size:24px;line-height:1.25}.cookie-copy>p{max-width:720px;margin:0;color:#dedede;font-size:14px;line-height:1.55}.cookie-copy a{color:var(--yellow);text-decoration:underline}.cookie-eyebrow{color:var(--yellow)!important;font-size:11px!important;font-weight:700;letter-spacing:.18em}.cookie-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.cookie-actions button{min-height:44px;padding:9px 14px;border:2px solid var(--yellow);border-radius:4px;cursor:pointer;font-size:13px;font-weight:700}.cookie-choice{min-width:120px;background:var(--yellow);color:var(--black)}.cookie-settings{background:transparent;color:var(--yellow)}.cookie-category{margin-top:16px;padding:14px 0 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #3b3b3b;font-size:13px}.cookie-category p{margin:2px 0 0;color:#bfbfbf}.cookie-category>span{flex:0 0 auto;color:var(--yellow);font-size:12px;font-weight:700}.cookie-toggle{position:relative;cursor:pointer}.cookie-toggle input{position:absolute;opacity:0;pointer-events:none}.cookie-toggle>span{position:relative;width:48px;height:26px;border:2px solid var(--yellow);border-radius:999px}.cookie-toggle>span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--yellow);transition:transform .2s ease}.cookie-toggle input:checked+span:after{transform:translateX(22px)}.cookie-toggle input:focus-visible+span{outline:3px solid var(--white);outline-offset:3px}.whatsapp-link{position:fixed;z-index:45;right:22px;bottom:22px;padding:11px 17px;border:2px solid var(--white);border-radius:999px;background:#16b85a;color:var(--white);font-size:14px;font-weight:700;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.24);transition:transform .2s ease}.whatsapp-link:hover{transform:translateY(-2px)}@media (max-width:1100px){.header-inner{width:min(calc(100% - 36px),1024px);min-height:126px;gap:35px}.brand-link img{width:90px}.primary-navigation{column-gap:20px}.primary-navigation a{font-size:15px}.disciplines-grid{gap:12px}.discipline-item h3{font-size:16px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.footer-brand{grid-row:span 2}.footer-location{grid-column:2}}@media (max-width:767px){html{scroll-padding-top:88px}body{font-size:16px}.site-header{position:sticky;top:0}.header-inner{width:calc(100% - 28px);min-height:86px;justify-content:space-between}.brand-link img{width:64px}.menu-toggle{display:block}.primary-navigation{position:absolute;left:0;right:0;top:100%;display:grid;justify-content:stretch;padding:10px 20px 24px;border-bottom:2px solid var(--yellow);background:var(--white);opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease}.primary-navigation.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.primary-navigation a{padding:11px 4px;border-bottom:1px solid #e7e4de;font-size:16px}.primary-navigation a:last-child{border-bottom:0}.hero-carousel{height:510px;min-height:0}.hero-slide{background-position:50%}.hero-content{width:calc(100% - 62px)}.hero-content h1,.hero-content h2{font-size:30px}.hero-content p{font-size:15px}.carousel-control{width:38px;height:38px;padding:8px}.carousel-previous{left:7px}.carousel-next{right:7px}.section{padding:70px 20px}.intro-section{min-height:0}.disciplines-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px;gap:28px 12px}.discipline-item:last-child{grid-column:1/-1}.discipline-item svg{width:54px;height:54px}.contact-card,.facilities-grid,.form-row,.services-grid,.staff-grid,.steps-layout{grid-template-columns:1fr}.staff-grid{gap:20px}.staff-image{aspect-ratio:4/4.6}.steps-heading{position:static}.steps-heading .section-kicker,.steps-heading h2{text-align:center}.steps-list summary{font-size:22px}.service-card:last-child:nth-child(odd){grid-column:auto;width:100%}.service-image{height:250px}.facilities-grid{gap:10px}.lightbox-image{width:88vw;height:76vh}.lightbox button{width:42px;height:42px;padding:8px}.lightbox-previous{left:7px}.lightbox-next{right:7px}.contact-section{padding:30px 14px 60px}.contact-card{border-width:3px;border-radius:16px}.contact-details,.contact-form{padding:34px 26px}.reviews-grid{grid-template-columns:1fr}.review-card{padding:25px}.legal-page{padding:54px 18px 70px}.legal-content header{margin-bottom:40px}.legal-content section{margin-top:38px}.legal-data div{grid-template-columns:1fr;gap:3px}.footer-grid{width:calc(100% - 40px);grid-template-columns:1fr;gap:38px;text-align:center}.footer-brand{grid-row:auto;justify-self:center}.footer-brand img{width:190px}.footer-location{grid-column:auto}.footer-legal{gap:12px 26px}.cookie-panel{left:10px;right:10px;bottom:10px;width:calc(100% - 20px);max-height:calc(100vh - 20px);padding:18px;grid-template-columns:1fr;gap:18px;overflow-y:auto}.cookie-copy h2{font-size:21px}.cookie-actions{justify-content:stretch}.cookie-actions button{flex:1 1 120px}.cookie-category{align-items:flex-start}.whatsapp-link{right:12px;bottom:12px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}