@charset "UTF-8";
:root{--coral:#E2725B;--teal:#2C7873;--cream:#FFF8F0;--sand:#F5E6D3;--gold:#F4A259;--charcoal:#333;--muted:#6B7280;--line:#e6ddd4;--white:#fff;--ease:cubic-bezier(.23,1,.32,1);--shadow:0 16px 42px rgba(44,120,115,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--charcoal);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:10px;z-index:100;padding:10px 16px;border-radius:8px;background:var(--gold);color:var(--charcoal);transform:translateY(-150%);transition:transform .2s var(--ease)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;border-bottom:2px solid rgba(226,114,91,.7);background:var(--cream);transition:box-shadow .25s var(--ease),background .25s var(--ease)}.site-header.is-scrolled{box-shadow:0 8px 28px rgba(44,120,115,.12)}.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:78px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-sun{display:flex;align-items:flex-end;gap:3px;width:29px;height:31px}.brand-sun i{display:block;width:8px;border-radius:8px 8px 2px 2px;background:var(--coral)}.brand-sun i:nth-child(1){height:21px}.brand-sun i:nth-child(2){height:31px;background:var(--gold)}.brand-sun i:nth-child(3){height:25px;background:var(--teal)}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong{font:700 21px/1 "Outfit",Arial,sans-serif;letter-spacing:-.02em}.brand-copy small{margin-top:5px;color:var(--teal);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-nav>a:not(.nav-cta){position:relative;padding:28px 0;color:#4a5259}.site-nav>a:not(.nav-cta)::after{position:absolute;right:0;bottom:20px;left:0;height:3px;border-radius:3px;background:var(--coral);content:"";transform:scaleX(0);transform-origin:right;transition:transform .2s var(--ease)}.site-nav>a:not(.nav-cta):hover::after{transform:scaleX(1);transform-origin:left}.nav-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 17px;border-radius:11px;background:var(--coral);color:var(--white);box-shadow:0 8px 18px rgba(226,114,91,.18);transition:transform .2s var(--ease),background .2s var(--ease)}.nav-cta:hover{background:var(--teal);transform:translateY(-2px)}.menu-toggle{display:none;width:44px;height:44px;border:0;background:none;padding:10px}.menu-toggle span{display:block;height:3px;margin:5px 0;border-radius:3px;background:var(--teal);transition:transform .2s var(--ease),opacity .2s var(--ease)}
.hero{position:relative;display:flex;align-items:center;min-height:90vh;overflow:hidden;background:var(--teal);color:var(--cream)}.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,120,115,.96),rgba(44,120,115,.74) 40%,rgba(44,120,115,.16) 82%,rgba(44,120,115,.35))}.hero-sun{position:absolute;right:8%;top:18%;width:260px;height:260px;border:1px solid rgba(244,162,89,.5);border-radius:50%;box-shadow:0 0 0 24px rgba(244,162,89,.07),0 0 0 48px rgba(244,162,89,.04);opacity:.7}.hero-content{position:relative;z-index:1;padding:155px 0 110px}.hero-kicker{display:flex;align-items:center;gap:12px;margin-bottom:22px;color:#ffe0c2;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-kicker>span:first-child{color:var(--gold)}.kicker-line{width:36px;height:2px;border-radius:3px;background:var(--gold)}.eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 18px;color:var(--coral);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.eyebrow.light{color:#ffe1c8}.eyebrow.teal{color:var(--teal)}.eyebrow.coral{color:var(--coral)}.eyebrow-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:currentColor}.hero h1{max-width:700px;margin:0;color:var(--cream);font:800 clamp(47px,7vw,88px)/.98 "Outfit",Arial,sans-serif;letter-spacing:-.055em}.hero h1 span{color:#ffd2aa}.hero-lead{max-width:570px;margin:29px 0 30px;color:#fff7ef;font-size:17px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:50px;padding:14px 21px;border:1px solid transparent;border-radius:11px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.button:active{transform:scale(.97)}.button-coral{background:var(--coral);color:var(--white);box-shadow:0 10px 20px rgba(226,114,91,.24)}.button-coral:hover{background:var(--gold);color:var(--charcoal)}.button-outline{border-color:rgba(255,248,240,.72);color:var(--cream)}.button-outline:hover{background:var(--cream);color:var(--teal)}.button-teal{background:var(--teal);color:var(--white)}.button-teal:hover{background:var(--coral)}.trust-line{margin:37px 0 0;color:#ffe6d1;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.trust-line span{padding:0 7px;color:var(--gold)}.hero-badge{position:absolute;right:7%;bottom:20%;z-index:1;display:grid;place-items:center;width:128px;height:128px;border-radius:50%;background:var(--gold);color:var(--charcoal);font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.4;text-align:center;text-transform:uppercase;transform:rotate(9deg)}.badge-star{display:block;margin-bottom:3px;font-size:22px}.scroll-cue{position:absolute;right:40px;bottom:35px;z-index:1;display:flex;align-items:center;gap:13px;color:#ffe0c2;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.scroll-cue b{display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--gold);border-radius:50%;font-size:17px;font-weight:400}
.section{padding:112px 0}.cream-section{background:var(--cream)}.sand-section{background:var(--sand)}.teal-section{background:var(--teal);color:var(--cream)}.coral-section{background:var(--coral);color:var(--white)}.welcome-section{padding:72px 0;border-bottom:1px solid var(--line)}.welcome-layout{display:grid;grid-template-columns:120px 1fr 1fr;align-items:center;gap:32px}.welcome-shape{position:relative;display:grid;place-items:center;width:98px;height:98px;border-radius:35% 65% 55% 45% / 45% 45% 55% 55%;background:var(--gold);color:var(--teal);font:700 24px/1 "Outfit",Arial,sans-serif;transform:rotate(-8deg)}.welcome-shape::after{position:absolute;inset:12px;border:2px dashed rgba(44,120,115,.5);border-radius:inherit;content:""}.welcome-shape i{position:absolute;right:-11px;bottom:5px;width:23px;height:23px;border-radius:50%;background:var(--coral)}.welcome-layout h2,.section-heading h2,.about-copy h2,.contact-details h2,.testimonial-intro h2{margin:0;font:700 clamp(38px,5vw,64px)/1.03 "Outfit",Arial,sans-serif;letter-spacing:-.05em}.welcome-layout h2 span,.about-copy h2 span,.contact-details h2 span,.testimonial-intro h2 span{color:var(--coral)}.welcome-text{max-width:440px;margin:0;color:#59656c;font-size:17px;line-height:1.8}
.section-heading{max-width:800px;margin-bottom:52px}.section-heading h2{color:var(--charcoal);margin-bottom:14px}.section-heading>p:last-child{max-width:600px;margin:0;color:#59656c;font-size:16px;line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{position:relative;min-height:315px;padding:23px;border-radius:16px;box-shadow:0 10px 24px rgba(70,55,43,.07);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 38px rgba(70,55,43,.15)}.coral-card{background:var(--coral);color:var(--white)}.teal-card{background:var(--teal);color:var(--white)}.gold-card{background:var(--gold);color:var(--charcoal)}.cream-card{background:var(--cream);color:var(--charcoal)}.service-top{display:flex;justify-content:space-between;align-items:flex-start}.service-number{font-size:11px;font-weight:700;letter-spacing:.12em;opacity:.72}.service-icon{display:grid;place-items:center;width:43px;height:43px;border:2px solid currentColor;border-radius:13px}.service-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.service-card h3{max-width:200px;margin:52px 0 13px;font:600 21px/1.2 "Outfit",Arial,sans-serif;letter-spacing:-.02em}.service-card p{margin:0;font-size:13px;line-height:1.72;opacity:.86}.service-link{position:absolute;right:23px;bottom:21px;font-size:21px;transition:transform .2s var(--ease)}.service-card:hover .service-link{transform:translate(4px,-4px)}
.gallery-heading{display:grid;grid-template-columns:1fr 380px;align-items:end;gap:50px}.gallery-heading>p{margin:0}.gallery-grid{display:grid;grid-template-columns:1.22fr .78fr .78fr;grid-auto-rows:205px;gap:27px 18px}.gallery-card{margin:0}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.gallery-image{position:relative;height:calc(100% - 34px);overflow:hidden;border-radius:16px;background:#ddd}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.gallery-card:hover .gallery-image img{transform:scale(1.06)}.gallery-wash{position:absolute;inset:0;background:linear-gradient(180deg,transparent 43%,rgba(44,120,115,.58));opacity:.54;transition:opacity .25s var(--ease)}.gallery-card:hover .gallery-wash{opacity:.82}.gallery-card figcaption{display:flex;justify-content:space-between;align-items:center;height:34px;color:var(--charcoal);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.gallery-card figcaption b{color:var(--coral);font-size:10px}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-media-frame{position:relative;padding:0 12px 12px 0}.about-media-frame::before{position:absolute;inset:12px 0 0 12px;border:2px solid var(--gold);border-radius:16px;content:""}.about-media{position:relative;overflow:hidden;border-radius:16px;background:var(--sand);aspect-ratio:4/4.6}.about-media img{width:100%;height:100%;object-fit:cover}.about-dots{position:absolute;right:-1px;top:-21px;width:86px;height:60px;background-image:radial-gradient(rgba(244,162,89,.8) 2px,transparent 2px);background-size:14px 14px}.about-label{position:absolute;right:-18px;bottom:28px;padding:9px 13px;border-radius:8px;background:var(--gold);color:var(--charcoal);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}.about-copy h2{color:var(--cream);margin-bottom:25px}.about-copy h2 span{color:#ffd2aa}.lead-copy{max-width:515px;margin:0 0 27px;color:#e6f1ed;font-size:16px;line-height:1.8}.benefits-list{margin:0;padding:0;border-top:1px solid rgba(255,248,240,.28);list-style:none}.benefits-list li{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,248,240,.28);color:var(--cream);font-size:13px}.benefits-list span{min-width:22px;color:var(--gold);font-size:10px;font-weight:700}.text-link{display:inline-flex;gap:12px;margin-top:27px;padding-bottom:7px;border-bottom:2px solid var(--gold);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.light-link{color:var(--cream)}.text-link span{color:var(--gold);font-size:18px;line-height:.6}
.testimonial-section{padding:96px 0}.testimonial-layout{display:grid;grid-template-columns:260px 1fr;gap:78px;align-items:center}.testimonial-intro h2{color:var(--white);font-size:45px}.testimonial-intro h2 span{color:#ffe0a4}.sample-note{margin:22px 0 0;color:#fff0e7;font-size:11px;line-height:1.6}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.testimonial-card{min-height:245px;padding:25px 22px;border-radius:16px;background:rgba(255,255,255,.16);color:var(--white);box-shadow:0 12px 25px rgba(120,45,35,.12)}.testimonial-card.featured{background:var(--cream);color:var(--charcoal)}.stars{margin-bottom:25px;color:var(--gold);font-size:14px;letter-spacing:.16em}.testimonial-card blockquote{margin:0;font:18px/1.45 "Outfit",Arial,sans-serif}.testimonial-card>p{margin:29px 0 0;color:#ffe3d5;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.testimonial-card.featured>p{color:#59656c}.testimonial-card>p span{display:block;margin-top:4px;color:var(--gold);font-size:10px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.contact-details h2{margin-bottom:21px}.contact-details h2 span{color:var(--teal)}.contact-lead{max-width:440px;margin:0 0 29px;color:#59656c;font-size:16px;line-height:1.75}.contact-list{margin:0;border-top:1px solid #d8cbbd}.contact-list div{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid #d8cbbd}.contact-list dt{color:var(--teal);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.contact-list dd{margin:0;color:var(--charcoal);font-size:14px}.contact-list a{text-decoration:underline;text-decoration-color:rgba(226,114,91,.55);text-underline-offset:4px}.service-area{max-width:430px;margin:22px 0 27px;color:#68737b;font-size:12px;line-height:1.7}.service-area strong{display:block;margin-bottom:3px;color:var(--charcoal);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.map-wrap{overflow:hidden;border-radius:16px;box-shadow:var(--shadow)}.form-panel{padding:33px;border-radius:16px;background:var(--cream);border-top:5px solid var(--coral);box-shadow:0 15px 40px rgba(70,55,43,.1)}.form-panel-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}.form-panel-heading span{color:var(--coral);font-size:10px;font-weight:700;letter-spacing:.12em}.form-panel-heading p{margin:0;color:var(--teal);font:600 19px/1.3 "Outfit",Arial,sans-serif}.form-panel form{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px}.form-field{display:flex;flex-direction:column}.full-field{grid-column:1/-1}.form-field label{margin-bottom:7px;color:var(--charcoal);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.form-field label span{color:var(--coral)}.form-field input,.form-field textarea{width:100%;padding:12px 0;border:0;border-bottom:2px solid #d8cbbd;border-radius:0;background:transparent;color:var(--charcoal);outline:none;resize:vertical;transition:border-color .2s var(--ease)}.form-field input:focus,.form-field textarea:focus{border-color:var(--teal)}.form-field small{margin-top:5px;color:#7e858a;font-size:10px}.form-field textarea{min-height:94px}.form-submit{grid-column:1/-1;margin-top:5px;width:100%;border:0}.form-privacy{margin:17px 0 0;color:#7e858a;font-size:10px;text-align:center}#form-success{margin-top:20px;padding:15px;border:1px solid var(--teal);border-radius:10px;background:#f0faf6;color:var(--teal);font-size:13px;line-height:1.5}
.site-footer{padding:62px 0 22px;background:var(--teal);color:var(--cream)}.footer-top{position:relative;display:grid;grid-template-columns:2fr 1fr 1.3fr auto;gap:42px;padding-bottom:54px}.brand-light{color:var(--cream)}.brand-light .brand-sun i:nth-child(1){background:#ffd2aa}.brand-light .brand-sun i:nth-child(2){background:var(--gold)}.brand-light .brand-sun i:nth-child(3){background:#a8ddd0}.brand-light .brand-copy small{color:#bde3da}.footer-brand>p{margin:23px 0 0;color:#d8eee8;font:20px/1.35 "Outfit",Arial,sans-serif}.footer-links,.footer-contact{display:flex;flex-direction:column;align-items:flex-start}.site-footer h3{margin:2px 0 16px;color:#ffe0a4;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.footer-links a,.footer-contact a,.footer-contact address{margin:4px 0;color:#d7eee8;font-size:12px;font-style:normal;transition:color .2s var(--ease)}.footer-links a:hover,.footer-contact a:hover{color:#ffd2aa}.back-top{display:flex;flex-direction:column;align-items:center;gap:10px;color:#ffe0a4;font-size:27px}.back-top span{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}.footer-bottom{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid rgba(255,248,240,.25);color:#b5d8d0;font-size:10px;letter-spacing:.05em}
@media (max-width:1199px){.site-nav{gap:18px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:285px}.service-card h3{margin-top:35px}.about-layout{gap:55px}.testimonial-layout{gap:45px}}
@media (max-width:1023px){.site-nav{gap:13px;font-size:10px}.nav-cta{padding:11px 12px}.hero-badge{right:4%;bottom:16%;width:105px;height:105px}.welcome-layout{grid-template-columns:88px 1fr 1fr;gap:22px}.section{padding:86px 0}.about-layout,.contact-layout{gap:42px}.testimonial-layout{grid-template-columns:1fr;gap:38px}.testimonial-intro{display:grid;grid-template-columns:1fr 1.3fr;align-items:end;gap:25px}.sample-note{margin:0}.testimonial-grid{grid-column:1/-1}.footer-top{grid-template-columns:1.5fr 1fr 1.3fr auto;gap:24px}}
@media (max-width:767px){.shell{width:min(100% - 32px,600px)}.nav-shell{min-height:68px}.menu-toggle{display:block}.site-nav{position:absolute;top:68px;right:16px;left:16px;display:flex;align-items:stretch;flex-direction:column;gap:0;padding:8px 18px;border:1px solid var(--line);border-radius:14px;background:var(--cream);box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .2s var(--ease),opacity .2s var(--ease)}.site-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.site-nav>a:not(.nav-cta){padding:14px 0;border-bottom:1px solid var(--line)}.site-nav>a:not(.nav-cta)::after{display:none}.nav-cta{margin:12px 0 8px;text-align:center;justify-content:center}.hero{min-height:760px}.hero-content{padding:140px 0 100px}.hero-overlay{background:linear-gradient(90deg,rgba(44,120,115,.97),rgba(44,120,115,.55))}.hero-sun{right:-75px;top:19%;width:220px;height:220px}.hero-badge{right:18px;bottom:15%;width:88px;height:88px;font-size:8px}.badge-star{font-size:17px}.hero-lead{font-size:15px}.scroll-cue{right:16px}.welcome-layout{grid-template-columns:70px 1fr;gap:18px}.welcome-shape{width:70px;height:70px}.welcome-text{grid-column:2;font-size:14px}.gallery-heading{display:block}.gallery-heading>p{margin-top:20px;font-size:14px}.services-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px;gap:20px 12px}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 1}.gallery-card figcaption{font-size:9px}.about-layout,.contact-layout{grid-template-columns:1fr;gap:50px}.about-media-frame{max-width:500px;margin:auto}.testimonial-intro{display:block}.sample-note{max-width:300px;margin-top:16px}.testimonial-grid{grid-template-columns:1fr}.testimonial-card{min-height:auto}.form-panel{padding:25px 18px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.back-top{position:absolute;right:0;top:5px}.footer-bottom{flex-direction:column;gap:7px}}
@media (max-width:479px){.hero h1{font-size:43px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.trust-line{font-size:9px;line-height:1.8}.trust-line span{padding:0 3px}.section{padding:70px 0}.welcome-section{padding:50px 0 55px}.welcome-layout h2{font-size:34px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.gallery-wide{grid-column:auto}.gallery-image{height:230px}.gallery-card figcaption{height:34px}.testimonial-section{padding:70px 0}.testimonial-intro h2{font-size:39px}.form-panel form{grid-template-columns:1fr}.full-field,.form-submit{grid-column:auto}.footer-top{grid-template-columns:1fr}.footer-brand{grid-column:auto}.back-top{top:0}.footer-bottom{font-size:9px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
