:root{--cream: #fffdf8;--sand: #efe8dc;--sky-wash: #eef9fc;--pool-wash: #e1f5f8;--gold-wash: #fbf1df;--navy: #183b5d;--navy-dark: #102b45;--ink: #101923;--blue: #0075ac;--aqua: #22bfd5;--gold: #d2a64d;--white: #ffffff;--line: rgba(24, 59, 93, .14);--muted: #52616d;--shadow: 0 22px 70px rgba(16, 43, 69, .14);--radius: 6px;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#ffffff 0%,var(--cream) 34%,var(--sky-wash) 58%,var(--cream) 100%)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}.site-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(18px,3vw,34px);min-height:152px;padding:14px clamp(18px,4vw,48px);background:#fffdf8eb;border-bottom:1px solid rgba(24,59,93,.09);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;width:clamp(238px,20vw,300px);min-width:clamp(238px,20vw,300px)}.brand img{width:100%;height:auto;object-fit:contain}.nav-links{display:flex;justify-content:center;gap:clamp(22px,2.2vw,34px)}.nav-links a{color:#1d3341;font-size:clamp(1rem,.9vw,1.1rem);font-weight:800;line-height:1.15}.nav-links a:hover,.nav-links a.active{color:var(--blue)}.header-call,.btn,.floating-call,.menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer}.header-call{min-height:42px;padding:0 18px;color:var(--white);background:var(--blue);border-radius:var(--radius);font-size:1rem;font-weight:900;box-shadow:0 12px 25px #0075ac38}.menu-toggle{display:none;width:40px;height:40px;color:var(--navy-dark);background:var(--sand);border-radius:var(--radius)}.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);align-items:stretch;min-height:calc(100vh - 70px);background:linear-gradient(110deg,#fffdf8,#fffaf1 42%,#eaf8fb)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,7vw,82px) clamp(20px,5.4vw,72px)}.section-label{margin:0 0 16px;color:var(--blue);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero-copy h1,.section-header h2,.page-heading h1,.testimonials-split h2,.booking-band h2,.service-area h2,.why-band h2,.quote-band h2,.faq-section h2{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;letter-spacing:0}.hero-copy h1{max-width:760px;font-size:clamp(3.25rem,5.8vw,5.85rem);line-height:.93}.hero-copy h1 span{color:var(--blue)}.hero-copy>p:not(.section-label){max-width:610px;margin:24px 0 0;color:#314b5d;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.68}.hero-actions,.section-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{min-height:48px;padding:0 18px;border-radius:var(--radius);font-size:.88rem;font-weight:900;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{color:var(--white);background:var(--blue);box-shadow:0 15px 35px #0075ac33}.btn.primary.dark{background:var(--navy-dark)}.btn.secondary{color:var(--ink);background:var(--white);border:1px solid var(--line)}.text-link{display:inline-flex;align-items:center;min-height:48px;color:var(--blue);font-weight:900}.hero-proof{display:grid;gap:9px;margin-top:24px;color:#2a4658;font-size:.92rem;font-weight:750}.hero-proof span{display:inline-flex;align-items:center;gap:8px}.hero-proof svg{color:var(--blue)}.hero-media{position:relative;min-height:650px;overflow:hidden;background:var(--navy-dark)}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,241,.16),transparent 32%);pointer-events:none}.hero-media img{width:100%;height:100%;min-height:inherit;object-fit:cover}.hero-card{position:absolute;left:clamp(18px,4vw,46px);right:clamp(18px,4vw,46px);bottom:34px;z-index:2;display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:18px;color:var(--white);background:#102b45d6;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius)}.hero-card strong{font-size:1.15rem}.hero-card span{color:#d4eef6}.hero-card a{grid-row:1 / span 2;grid-column:2;color:var(--aqua);font-weight:950}.hero-note{position:absolute;right:10%;top:42%;z-index:2;max-width:230px;margin:0;color:var(--white);font-family:Bradley Hand,Segoe Print,cursive;font-size:1.05rem;transform:rotate(-5deg);text-shadow:0 2px 12px rgba(16,43,69,.45)}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#183b5d1f;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-strip div{display:grid;gap:6px;padding:28px clamp(20px,5vw,74px);background:linear-gradient(180deg,#ffffffdb,#eef9fcb8)}.trust-strip svg{color:var(--blue)}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{color:var(--ink);font-size:1rem}.trust-strip span{color:var(--muted);line-height:1.45}.section,.page-shell{padding:clamp(78px,10vw,135px) clamp(20px,7vw,92px)}.services-preview{background:linear-gradient(180deg,#fffdf8,#f6fbfc 58%,#eaf8fb)}.section-header,.page-heading{max-width:920px;margin-bottom:38px}.section-header h2,.testimonials-split h2,.booking-band h2,.service-area h2,.why-band h2,.quote-band h2,.faq-section h2{max-width:900px;font-size:clamp(2.15rem,4.8vw,4.4rem);line-height:1.03}.page-heading h1{font-size:clamp(3rem,7vw,6.2rem);line-height:.98}.section-header p,.page-heading p,.service-area p,.booking-band p,.testimonials-split>div>p,.faq-section>div>p{max-width:760px;color:var(--muted);font-size:1.03rem;line-height:1.75}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.page-grid{margin-bottom:34px}.service-card{min-height:250px;padding:28px;background:linear-gradient(160deg,#ffffffdb,#fffdf8c2);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card svg{width:33px;height:33px;color:var(--blue)}.service-card h3{margin:26px 0 10px;color:var(--ink);font-size:1.04rem}.service-card p{margin:0;color:var(--muted);line-height:1.6}.why-band{display:grid;grid-template-columns:1.2fr repeat(4,minmax(150px,.7fr));gap:1px;padding:clamp(72px,9vw,120px) clamp(20px,7vw,92px);color:var(--white);background:var(--navy)}.why-band h2,.why-band .section-label{color:var(--white)}.why-band article{display:grid;align-content:start;gap:12px;min-height:180px;padding:22px;border-left:1px solid rgba(255,255,255,.14)}.why-band svg{color:var(--aqua)}.why-band strong{font-size:1.02rem}.why-band span{color:#d5e9f0;line-height:1.45}.quote-band{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(220px,.55fr) auto;align-items:center;gap:34px;padding:clamp(72px,9vw,118px) clamp(20px,7vw,92px);background:linear-gradient(115deg,var(--gold-wash) 0%,var(--sand) 46%,var(--pool-wash) 100%)}.quote-price{display:grid;justify-items:center;text-align:center;color:var(--muted)}.quote-price strong{color:#a7a099;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.4rem,7vw,6rem);line-height:1}.quote-price small{color:var(--blue);font-weight:800}.quote-band ul{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:#30495a;font-weight:800}.quote-band li{display:flex;align-items:center;gap:8px}.quote-band svg{color:var(--blue)}.testimonials-split,.testimonial-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:clamp(34px,8vw,90px);align-items:start;padding:clamp(78px,10vw,135px) clamp(20px,7vw,92px);background:linear-gradient(135deg,#fffdf8,#fff8ec 45%,#edf9fb)}.testimonial-page-grid{padding:0}.testimonial-list{display:grid;gap:16px;margin-top:30px}.testimonial-list.wide{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.testimonial-card,.review-form,.admin-login,.admin-panel{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;box-shadow:0 16px 44px #102b450f}.testimonial-card{padding:24px}.stars{display:flex;gap:4px;color:var(--gold)}.stars svg{width:17px;height:17px}.testimonial-card p{color:#29485d;font-size:1.02rem;line-height:1.68}.testimonial-card strong,.testimonial-card span,.gallery-tile strong,.gallery-tile span{display:block}.testimonial-card span{color:var(--muted);margin-top:3px}.review-form,.admin-login{display:grid;gap:16px;padding:24px}.review-form h3,.admin-panel h2{margin:0;color:var(--ink);font-size:1.35rem}label{display:grid;gap:8px;color:#244858;font-weight:850}input,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;color:var(--ink);background:var(--white);outline:none}textarea{min-height:130px;resize:vertical}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #0075ac24}.form-note,.error-note{margin:0;color:#166d45;font-weight:800}.error-note{color:#a12a2a}.service-area{display:grid;grid-template-columns:minmax(230px,.42fr) 1fr;gap:clamp(28px,7vw,92px);align-items:center;padding:clamp(78px,10vw,130px) clamp(20px,7vw,92px);color:var(--white);background:linear-gradient(135deg,#102b45f5,#183b5df0),url(https://images.pexels.com/photos/17324374/pexels-photo-17324374.jpeg?auto=compress&cs=tinysrgb&w=1600&h=900&fit=crop) center / cover}.service-area h2,.service-area p,.service-area .section-label{color:var(--white)}.area-map{display:grid;place-items:center;aspect-ratio:1 / 1;border:1px solid rgba(255,255,255,.24);background:#ffffff14;border-radius:var(--radius)}.area-map svg{width:52px;height:52px;color:var(--gold)}.area-map span{font-size:clamp(3.1rem,8vw,6.8rem);font-family:Georgia,Times New Roman,serif}.city-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.city-list span{padding:9px 11px;color:#e1f6fb;border:1px solid rgba(255,255,255,.24);border-radius:var(--radius);background:#ffffff14;font-weight:850}.faq-section{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(320px,1fr) minmax(260px,.55fr);gap:clamp(28px,6vw,70px);align-items:start;padding:clamp(78px,10vw,130px) clamp(20px,7vw,92px);color:var(--white);background:var(--navy)}.faq-section h2,.faq-section .section-label,.faq-section .text-link{color:var(--white)}.faq-section>div>p{color:#d6e8ef}.faq-list{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.18)}.faq-list details{border-bottom:1px solid rgba(255,255,255,.18)}.faq-list summary{cursor:pointer;padding:18px 0;color:var(--white);font-weight:850}.faq-list p{margin:0 0 18px;color:#d6e8ef;line-height:1.68}.faq-section img{width:100%;min-height:360px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.gallery-preview{background:linear-gradient(180deg,#f1fafc,#fffdf8 44%,#fff7ea)}.gallery-mosaic,.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-tile{position:relative;min-height:260px;margin:0;overflow:hidden;border-radius:var(--radius);background:var(--navy-dark);box-shadow:0 16px 42px #102b451c}.gallery-tile.large{grid-column:span 2;grid-row:span 2}.gallery-tile img{width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .28s ease}.gallery-tile:hover img{transform:scale(1.045)}.gallery-tile figcaption{position:absolute;left:14px;right:14px;bottom:14px;padding:12px;color:var(--white);background:#102b45c7;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius)}.gallery-tile span{margin-top:4px;color:#cde5ef;font-size:.88rem}.booking-band{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 clamp(20px,7vw,92px) clamp(72px,8vw,110px);padding:clamp(28px,5vw,52px);border-radius:var(--radius);color:var(--white);background:linear-gradient(135deg,var(--navy-dark),var(--blue))}.booking-band h2,.booking-band p{color:var(--white)}.booking-band p{margin-bottom:0}.process-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--line)}.process-band div{padding:28px;background:var(--sand)}.process-band span{color:var(--gold);font-family:Georgia,Times New Roman,serif;font-size:2.2rem}.process-band h3{margin:12px 0 8px;color:var(--ink)}.process-band p{margin:0;color:var(--muted);line-height:1.58}.admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:18px}.admin-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px}.admin-panel{padding:22px}.upload-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.upload-box{place-items:center;min-height:170px;text-align:center;border:1px dashed rgba(0,117,172,.45);background:#0075ac14;cursor:pointer}.upload-box input{display:none}.upload-box svg{color:var(--blue)}.admin-photo-list,.admin-testimonials{display:grid;gap:12px;margin-top:18px}.admin-photo-row,.admin-testimonials article{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:var(--radius)}.admin-photo-row img{width:74px;height:58px;object-fit:cover;border-radius:var(--radius)}.admin-photo-row button,.row-actions button{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:8px 10px;cursor:pointer;font-weight:850}.admin-testimonials article{grid-template-columns:1fr}.admin-testimonials span{display:block;color:var(--muted);margin-top:4px}.admin-testimonials p{margin:0;color:#31505c;line-height:1.55}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.site-footer{display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;padding:42px clamp(20px,7vw,92px);color:#cfe7ee;background:var(--navy-dark)}.site-footer img{width:190px;height:auto;max-height:96px;object-fit:contain;margin-bottom:12px}.site-footer p{max-width:470px;margin:0;line-height:1.55}.site-footer nav{display:flex;flex-wrap:wrap;gap:14px;font-weight:850}.footer-phone{color:var(--aqua);font-weight:950;font-size:1.08rem}.floating-call{position:fixed;right:18px;bottom:18px;z-index:40;width:56px;height:56px;color:var(--white);background:var(--blue);border-radius:50%;box-shadow:0 18px 42px #0075ac52}@media(max-width:1180px){.service-grid,.gallery-mosaic,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why-band,.quote-band,.admin-grid,.testimonials-split,.testimonial-page-grid,.service-area,.faq-section{grid-template-columns:1fr}.hero{grid-template-columns:1fr;min-height:auto}.hero-media,.hero-media img{min-height:520px}.why-band article{border-left:0;border-top:1px solid rgba(255,255,255,.14)}}@media(max-width:1240px){.site-header{grid-template-columns:1fr auto}.menu-toggle{display:inline-flex}.nav-links{display:none;grid-column:1 / -1;flex-direction:column;align-items:stretch;gap:0;padding:4px 0}.nav-links.open{display:flex}.nav-links a{padding:15px 0;border-top:1px solid var(--line);font-size:1rem}.header-call{grid-column:1 / -1;width:100%}.trust-strip,.process-band,.site-footer,.testimonial-list.wide{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(3rem,15vw,5.2rem)}.gallery-tile.large{grid-column:span 1;grid-row:span 1}.booking-band{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.brand{width:190px;min-width:190px}.service-grid,.gallery-mosaic,.gallery-grid,.upload-fields{grid-template-columns:1fr}.service-grid{border-left:0}.service-card{border-left:1px solid var(--line)}.hero-actions,.section-actions{flex-direction:column}.btn,.text-link{width:100%}.hero-copy{padding:40px 20px}.hero-media,.hero-media img{min-height:380px}.hero-card{grid-template-columns:1fr}.hero-card a{grid-row:auto;grid-column:auto}.hero-note{display:none}}
