:root{--ink:#123d38;--deep:#0c453f;--leaf:#2f6b59;--mint:#c9d9ca;--ivory:#f7f4ee;--paper:#fffdf9;--sand:#e8e0d4;--coral:#cf6e58;--line:rgba(18,61,56,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1200px,calc(100% - 64px));margin:auto}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;color:var(--paper);background:var(--ink);padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:84px;display:flex;align-items:center;gap:2rem;padding:0 max(32px,calc((100vw - 1320px)/2));position:absolute;z-index:10;width:100%;color:#fff}.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:18px;font-weight:600;line-height:1}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.12em;text-transform:uppercase;margin-top:5px;font-weight:500}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:20px;font-style:italic}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:13px}.desktop-nav a,.text-link{position:relative}.desktop-nav a:after,.text-link:after{content:"";position:absolute;height:1px;background:currentColor;left:0;bottom:-5px;width:0;transition:width .3s}.desktop-nav a:hover:after,.text-link:hover:after{width:100%}.button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:14px 20px;display:inline-flex;gap:20px;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;letter-spacing:.02em;cursor:pointer;transition:background .25s,color .25s,transform .25s,border-color .25s}.button:hover{transform:translateY(-3px);background:var(--coral);border-color:var(--coral)}.button-small{padding:10px 15px;font-size:12px;margin-left:12px}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{color:var(--paper)}.menu-toggle,.mobile-menu{display:none}.hero{height:max(680px,100vh);min-height:680px;position:relative;color:#fff;overflow:hidden}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;animation:heroZoom 14s ease-out both}.hero-overlay{background:linear-gradient(90deg,rgba(7,43,39,.82),rgba(7,43,39,.31) 55%,rgba(7,43,39,.08)),linear-gradient(0deg,rgba(5,38,34,.35),transparent 45%)}.hero-content{position:relative;padding-top:clamp(190px,29vh,300px)}.eyebrow{margin:0 0 19px;color:var(--leaf);font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:700}.eyebrow.light{color:#d9e6db}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(52px,7.5vw,102px);line-height:.95;letter-spacing:0;margin:0}.hero h1 .line{display:block;animation:rise .9s both}.hero h1 .line:last-child{animation-delay:.13s}.italic,em{font-style:italic;font-weight:500}.hero-copy{max-width:410px;margin:30px 0;font-size:17px;line-height:1.6}.hero-actions{display:flex;gap:30px;align-items:center}.text-link{font-size:13px;font-weight:600;display:inline-flex;gap:10px;align-items:center}.hero-scroll{position:absolute;bottom:30px;left:max(32px,calc((100vw - 1200px)/2));font-size:10px;letter-spacing:.11em;text-transform:uppercase;display:flex;align-items:center;gap:13px}.hero-scroll i{width:45px;height:1px;background:#fff;position:relative}.hero-scroll i:after{content:"";position:absolute;width:7px;height:7px;border-right:1px solid #fff;border-bottom:1px solid #fff;right:0;top:-3px;transform:rotate(-45deg)}.section{padding:125px 0}.intro-grid{display:grid;grid-template-columns:1fr 2fr .85fr;gap:50px;align-items:start}.display{font-family:var(--serif);font-size:clamp(39px,4.7vw,68px);line-height:1.06;letter-spacing:0;font-weight:500;margin:0}.body-large{max-width:510px;font-size:19px;line-height:1.7;margin:29px 0 0}.intro-note{border-left:1px solid var(--line);padding:4px 0 3px 21px;margin-top:14px;font-family:var(--serif);font-size:19px;line-height:1.45}.note-icon{color:var(--coral);font-size:21px}.intro-note p{margin:9px 0 0}.service-highlights{background:var(--sand);padding:44px 0}.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.highlight-grid>div{display:grid;grid-template-columns:35px 1fr;column-gap:10px}.highlight-grid span{font-size:11px;color:var(--coral);font-weight:700}.highlight-grid h3,.highlight-grid p{grid-column:2;margin:0}.highlight-grid h3{font-size:15px}.highlight-grid p{font-size:13px;margin-top:3px;color:#4f655f}.services{padding-bottom:145px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:54px}.section-copy{max-width:315px;font-size:15px;line-height:1.7;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:var(--paper);min-width:0}.service-card a{display:block}.card-image{height:330px;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.service-card-content{position:relative;padding:17px 16px 19px;min-height:126px}.service-number{font-size:11px;color:var(--coral);font-weight:700}.service-card h3{font-family:var(--serif);font-size:25px;line-height:1.05;font-weight:500;margin:10px 0 0}.circle-arrow{position:absolute;right:15px;bottom:20px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s,transform .3s}.service-card:hover{box-shadow:0 15px 35px rgba(18,61,56,.12)}.service-card:hover .card-image img{transform:scale(1.07)}.service-card:hover .circle-arrow{background:var(--ink);color:#fff;transform:rotate(45deg)}.section-dark{background:var(--deep);color:var(--paper);padding:110px 0;position:relative;overflow:hidden}.fresh-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(50px,10vw,150px);align-items:center}.fresh-image{height:545px;overflow:hidden}.fresh-image img{width:100%;height:100%;object-fit:cover}.fresh-copy>.display{margin-bottom:28px}.display.light{color:#fff}.fresh-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;max-width:450px;color:#d4e0d7;margin-bottom:30px}.floating-star{position:absolute;right:9%;bottom:10%;font-size:75px;color:#80a991;animation:drift 5s ease-in-out infinite}.choice-grid,.faq-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.choice-list{border-top:1px solid var(--line)}.choice-list article{display:grid;grid-template-columns:55px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:25px 0}.choice-list span{font-size:11px;color:var(--coral);font-weight:700}.choice-list h3{margin:0 0 7px;font-family:var(--serif);font-size:26px;font-weight:500}.choice-list p{margin:0;max-width:380px;font-size:14px;color:#5a6c67}.gallery{padding-top:100px}.section-heading.compact{margin-bottom:39px}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:260px 260px;gap:14px}.gallery-item{position:relative;border:0;padding:0;overflow:hidden;background:var(--deep);cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .4s}.gallery-item span{position:absolute;right:15px;bottom:15px;background:var(--paper);color:var(--ink);font-size:11px;padding:8px 11px;opacity:0;transform:translateY(8px);transition:.3s}.gallery-item:hover img{transform:scale(1.05);opacity:.82}.gallery-item:hover span{opacity:1;transform:none}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.section-tint{background:#e7ede6;padding:115px 0}.how .display{margin-bottom:55px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.step{border-top:1px solid var(--ink);padding-top:17px}.step-number{font-family:var(--serif);font-size:37px;color:var(--coral);margin-bottom:55px}.step h3{font-size:18px;margin:0 0 8px}.step p{margin:0;max-width:290px;font-size:14px;color:#50645e}.quote{background:var(--paper)}.quote-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,10vw,140px)}.quote-intro>p:not(.eyebrow){line-height:1.7;max-width:330px;margin:28px 0}.quote-contact{margin-top:50px;border-left:1px solid var(--line);padding-left:16px;font-size:13px}.quote-contact span{display:block;color:#61716d;margin-bottom:5px}.quote-contact a{font-weight:700}.quote-form-wrap{background:var(--ivory);padding:27px;align-self:start}.form-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.progress{display:flex;gap:4px}.progress i{width:28px;height:3px;background:#d6d4cb}.progress i.active{background:var(--coral)}fieldset{border:0;margin:0;padding:0}.form-step{display:none;animation:stepIn .36s both}.form-step.active{display:block}.form-step legend{font-family:var(--serif);font-size:31px;line-height:1.15;padding:36px 0 7px}.field-hint{font-size:13px;color:#5e6b65;margin:0 0 23px}.choice-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:19px}.choice-options label{position:relative;cursor:pointer}.choice-options input{position:absolute;opacity:0}.choice-options span{display:block;border:1px solid #c8c7bd;padding:12px 10px;font-size:12px;line-height:1.25;transition:border .2s,background .2s,color .2s;min-height:46px}.choice-options input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}.choice-options input:focus-visible+span{outline:2px solid var(--coral);outline-offset:2px}.field-label{display:block;font-size:12px;font-weight:700;margin:15px 0 0}.field-label small,.upload-zone small{font-weight:400;color:#69746e}select,input[type=date],input[type=text],input[type=tel],input[type=email],textarea{width:100%;margin-top:6px;background:var(--paper);border:1px solid #c8c7bd;border-radius:0;padding:11px 10px;line-height:1.3;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}textarea{resize:vertical}select:focus,input:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 2px rgba(18,61,56,.12)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload-zone{margin-top:18px;border:1px dashed #98aaa1;background:rgba(255,255,255,.45);height:82px;display:flex;align-items:center;justify-content:center;gap:7px;position:relative;cursor:pointer;font-size:12px}.upload-zone input{opacity:0;position:absolute;inset:0;cursor:pointer}.upload-icon{font-size:21px;color:var(--coral);font-weight:400}.previews{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.preview{width:55px;height:55px;position:relative}.preview img{width:100%;height:100%;object-fit:cover}.preview button{position:absolute;top:-6px;right:-6px;border:0;border-radius:50%;background:var(--ink);color:#fff;width:17px;height:17px;line-height:15px;cursor:pointer}.form-error{color:#a23b2d;font-size:12px;min-height:18px;margin:12px 0 0}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:23px}.back-button{border:0;background:transparent;color:var(--ink);font-weight:700;font-size:13px;cursor:pointer;padding:10px 0}.review-card{background:var(--paper);padding:18px;font-size:13px}.review-row{display:flex;justify-content:space-between;border-bottom:1px solid #e4e0d8;padding:8px 0;gap:15px}.review-row:last-child{border:0}.review-row span:first-child{color:#63716a}.review-row span:last-child{text-align:right;font-weight:600}.whatsapp-note{display:flex;gap:9px;margin-top:15px;font-size:12px;line-height:1.45;background:#dce9de;padding:11px}.whatsapp-note span{color:var(--deep);font-weight:700}.whatsapp-note p{margin:0}.faq{padding-top:110px}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0}summary{list-style:none;cursor:pointer;padding:20px 35px 20px 0;font-family:var(--serif);font-size:22px;position:relative}summary::-webkit-details-marker{display:none}summary span{position:absolute;right:3px;font-family:var(--sans);font-size:24px;font-weight:400;transition:transform .25s}details[open] summary span{transform:rotate(45deg)}details p{max-width:500px;margin:0;padding:0 0 22px;font-size:14px;color:#576b64}.footer{background:var(--deep);color:#fff;padding:75px 0 21px}.footer-main{display:flex;justify-content:space-between;align-items:end;padding-bottom:77px}.footer h2{font-family:var(--serif);font-size:clamp(40px,5vw,67px);line-height:1;font-weight:500;margin:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.23);padding:24px 0 50px;display:flex;justify-content:space-between;font-size:13px}.footer-bottom p{margin:0 0 4px;color:#bcd0c3}.footer-bottom a{font-weight:600}.footer nav{display:flex;gap:24px;align-items:start}.copyright{font-size:10px;color:#bcd0c3;margin:0}.lightbox{padding:0;border:0;background:transparent;max-width:min(92vw,1000px);max-height:90vh;color:#fff;overflow:visible}.lightbox::backdrop{background:rgba(4,28,25,.9);backdrop-filter:blur(4px)}.lightbox img{max-width:100%;max-height:80vh;display:block;animation:lightboxIn .3s both}.lightbox p{margin:8px 0;font-size:13px}.lightbox-close{position:absolute;right:-4px;top:-38px;width:29px;height:29px;border:1px solid #fff;background:transparent;border-radius:50%;color:#fff;font-size:23px;line-height:20px;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}.delay-3{transition-delay:.36s}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes rise{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}@keyframes drift{50%{transform:translateY(-11px) rotate(11deg)}}@keyframes stepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}@keyframes lightboxIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media(max-width:800px){.container{width:min(100% - 40px,620px)}.site-header{height:72px;padding:0 20px}.desktop-nav,.header-cta{display:none}.menu-toggle{margin-left:auto;display:grid;width:42px;height:42px;border:0;background:transparent;place-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;width:23px;height:1px;background:#fff;transition:.3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;inset:72px 0 0;background:var(--deep);padding:35px 20px;flex-direction:column;gap:22px;font-family:var(--serif);font-size:32px;transform:translateX(100%);transition:transform .35s;display:flex}.mobile-menu.open{transform:none}.mobile-menu .button{font-family:var(--sans);font-size:13px;margin-top:14px}.hero{height:760px;min-height:0}.hero-content{padding-top:204px}.hero h1{font-size:clamp(48px,14vw,69px)}.hero-copy{font-size:15px;max-width:340px}.hero-actions{gap:19px}.hero-scroll{left:20px}.section{padding:82px 0}.intro-grid,.choice-grid,.faq-grid,.quote-layout{grid-template-columns:1fr;gap:28px}.intro-note{margin:0}.highlight-grid{grid-template-columns:1fr;gap:22px}.services{padding-bottom:90px}.section-heading{display:block;margin-bottom:33px}.section-copy{margin-top:17px}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.card-image{height:215px}.service-card h3{font-size:21px}.service-card-content{min-height:112px;padding:14px}.circle-arrow{right:11px;bottom:15px}.fresh-grid{grid-template-columns:1fr;gap:38px}.section-dark{padding:75px 0}.fresh-image{height:365px}.choice-list article{padding:21px 0}.gallery{padding-top:75px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 160px;gap:8px}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.steps{grid-template-columns:1fr;gap:28px}.step-number{margin-bottom:21px}.section-tint{padding:75px 0}.quote-form-wrap{padding:20px}.quote-intro{margin-bottom:7px}.form-step legend{font-size:28px}.footer{padding-top:60px}.footer-main{display:block;padding-bottom:50px}.footer-main .button{margin-top:28px}.footer-bottom{display:block;padding-bottom:35px}.footer nav{margin-top:26px;flex-wrap:wrap;gap:10px 19px}.footer h2{font-size:46px}}@media(max-width:430px){.brand{font-size:16px}.brand-mark{width:31px;height:31px}.choice-options,.field-row{grid-template-columns:1fr}.home-fields{grid-template-columns:1fr 1fr}.button{padding:13px 15px}.hero-actions .text-link{font-size:12px}.gallery-grid{grid-template-rows:170px 170px 135px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}