:root{
  --ink:#153a35;--ink2:#0d2e2a;--cream:#f7f3e9;--sand:#dfcfae;--mint:#c7e3d5;
  --lime:#d5ef79;--paper:#fffdf8;--text:#243431;--muted:#6f7b78;--line:rgba(21,58,53,.13);
  --radius:28px;--shadow:0 24px 70px rgba(16,52,47,.15);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:"DM Sans",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.scroll-progress{position:fixed;left:0;top:0;height:3px;background:var(--lime);z-index:120;width:0}
.cursor-dot,.cursor-ring{position:fixed;pointer-events:none;z-index:200;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:multiply}.cursor-dot{width:7px;height:7px;background:var(--ink)}.cursor-ring{width:36px;height:36px;border:1px solid rgba(21,58,53,.45);transition:width .2s,height .2s,border .2s}
body.cursor-hover .cursor-ring{width:56px;height:56px;border-color:var(--ink)}
.site-header{position:fixed;top:18px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 32px));height:72px;padding:0 14px 0 20px;border:1px solid rgba(255,255,255,.5);background:rgba(247,243,233,.78);backdrop-filter:blur(18px);border-radius:22px;display:flex;align-items:center;justify-content:space-between;z-index:100;transition:.35s;box-shadow:0 10px 35px rgba(15,52,46,.06)}
.site-header.scrolled{top:10px;background:rgba(255,253,248,.92);box-shadow:0 12px 35px rgba(15,52,46,.11)}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:800 13px/1 Manrope;letter-spacing:-.02em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.brand strong{display:block;font:800 15px Manrope}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.desktop-nav{display:flex;gap:28px;font-size:13px;font-weight:700}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--ink);transition:.25s}.desktop-nav a:hover:after{right:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:56px;padding:0 25px;border-radius:16px;border:0;background:var(--ink);color:white;font:700 14px Manrope;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(21,58,53,.23);background:var(--ink2)}.btn-small{min-height:44px;padding:0 18px;border-radius:13px;font-size:12px}.menu-toggle{display:none;border:0;background:none;width:45px;height:45px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:6px auto}.mobile-menu{display:none}
.hero{min-height:100vh;padding:150px max(6vw,30px) 85px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 20%,#e8e2cb 0,transparent 29%),linear-gradient(125deg,#f9f5ea,#efe8d8)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(20px);opacity:.55;animation:float 7s ease-in-out infinite}.glow-a{width:290px;height:290px;background:#d2efd9;left:-120px;top:28%}.glow-b{width:240px;height:240px;background:#e6f08e;right:4%;bottom:-90px;animation-delay:-2s}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:800 11px Manrope;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);margin-bottom:24px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#75a66e;box-shadow:0 0 0 0 rgba(117,166,110,.5);animation:pulse 2s infinite}
.hero h1,.section h2,.gallery-title h2,.contact-section h2{font:800 clamp(52px,6vw,94px)/.94 Manrope;margin:0;letter-spacing:-.065em;color:var(--ink)}.hero h1 em,.contact-section h2 em{font-family:Georgia,serif;font-weight:400}.hero h1 em,.section h2 span,.gallery-title h2 span{color:#7b8e77}
.hero-lead{max-width:650px;font-size:18px;line-height:1.7;color:#53645f;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:26px}.text-link{font-weight:800;font-size:14px;border-bottom:1px solid var(--ink);padding:10px 0}.trust-row{display:flex;gap:35px;margin-top:50px;border-top:1px solid var(--line);padding-top:25px}.trust-row div{display:flex;flex-direction:column}.trust-row strong{font:800 22px Manrope;color:var(--ink)}.trust-row span{font-size:11px;color:var(--muted);margin-top:5px}
.hero-visual{position:relative;min-height:650px;display:grid;place-items:center}.hero-photo{width:min(500px,90%);height:610px;border-radius:220px 220px 35px 35px;overflow:hidden;position:relative;box-shadow:var(--shadow);transform-style:preserve-3d}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 63%,rgba(8,38,34,.62))}
.hero-photo figcaption{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);display:flex;gap:12px;align-items:center}.hero-photo figcaption strong,.hero-photo figcaption small{display:block}.hero-photo figcaption small{color:var(--muted);margin-top:3px}.mini-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9f1c2;color:var(--ink)}
.orbital{position:absolute;border:1px solid rgba(21,58,53,.18);border-radius:50%;animation:spin 18s linear infinite}.orbit-1{width:610px;height:610px}.orbit-2{width:520px;height:520px;animation-direction:reverse;animation-duration:13s}.orbital:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--ink);left:50%;top:-6px}
.floating-card{position:absolute;background:var(--paper);padding:15px 18px;border-radius:17px;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;font-size:11px;animation:float 5s ease-in-out infinite}.floating-card b{width:32px;height:32px;border-radius:10px;background:var(--mint);display:grid;place-items:center;color:var(--ink)}.floating-card strong{font-size:13px}.card-licensed{left:0;top:23%}.card-home{right:-5%;bottom:20%;animation-delay:-1.6s}.scroll-cue{position:absolute;bottom:28px;left:50%;font:800 9px Manrope;letter-spacing:.22em;display:flex;gap:8px;align-items:center}
.marquee-wrap{background:var(--ink);color:var(--lime);overflow:hidden;padding:18px 0}.marquee{display:flex;width:max-content;animation:marquee 28s linear infinite}.marquee span{font:800 12px Manrope;letter-spacing:.13em;white-space:nowrap;padding-right:25px}
.section{padding:120px max(6vw,30px)}.section-label{font:800 10px Manrope;letter-spacing:.18em;color:#79908b;margin-bottom:55px}
.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about h2,.services h2,.process h2,.gallery-title h2,.faq h2{font-size:clamp(46px,5vw,76px)}.big-copy{font:500 clamp(20px,2.1vw,29px)/1.5 Manrope;color:#314c47;margin-top:35px}.about-copy>p:not(.big-copy){line-height:1.8;color:var(--muted);font-size:16px}
.credential-strip{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);margin-top:36px;padding-top:28px}.seal{width:54px;height:54px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:800 15px Manrope}.credential-strip small{display:block;font-size:9px;letter-spacing:.14em;color:var(--muted)}.credential-strip strong{display:block;font:700 13px Manrope;margin-top:5px}
.about-collage{position:relative;min-height:650px}.about-collage img{position:absolute;object-fit:cover;border-radius:26px;box-shadow:var(--shadow)}.collage-a{width:62%;height:58%;left:0;top:0}.collage-b{width:58%;height:52%;right:0;bottom:0}.quote-card{position:absolute;z-index:2;right:8%;top:38%;width:270px;padding:22px;border-radius:22px;background:var(--ink);color:white;box-shadow:var(--shadow)}.quote-card span{font:70px/0.5 Georgia;color:var(--lime)}.quote-card p{line-height:1.55;margin:12px 0 0}
.services{background:#eef1e7}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:60px}.section-head p{max-width:470px;line-height:1.7;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{min-height:310px;border:1px solid rgba(21,58,53,.09);background:rgba(255,255,255,.65);border-radius:24px;padding:26px;position:relative;transition:.35s;overflow:hidden}.service-card:before{content:"";position:absolute;inset:auto -30% -60% auto;width:180px;height:180px;border-radius:50%;background:var(--lime);opacity:0;transition:.35s}.service-card:hover{transform:translateY(-8px);background:var(--ink);color:white;box-shadow:var(--shadow)}.service-card:hover:before{opacity:.12}.service-card:hover p,.service-card:hover .service-no{color:#cbd7d2}.service-no{position:absolute;right:20px;top:20px;font:700 10px Manrope;color:#8b9a96}.service-icon{width:47px;height:47px;border-radius:15px;background:var(--mint);display:grid;place-items:center;color:var(--ink);font-size:19px}.service-card h3{font:800 18px Manrope;margin:35px 0 10px}.service-card p{font-size:13px;line-height:1.6;color:var(--muted);min-height:65px}.service-card strong{font:800 20px Manrope}.service-note{margin-top:18px;border-radius:20px;background:#dbe5d7;padding:18px 24px;display:flex;gap:20px;align-items:center}.service-note span{font:800 11px Manrope;text-transform:uppercase;letter-spacing:.12em}.service-note p{margin:0;color:#566b65}
.experience-band{min-height:620px;background:var(--ink);color:white;display:grid;grid-template-columns:.7fr 1fr 1fr;align-items:stretch;overflow:hidden}.experience-number{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.12)}.experience-number span{font:800 clamp(110px,13vw,220px)/.8 Manrope;color:var(--lime);letter-spacing:-.08em}.experience-number small{letter-spacing:.4em;margin-top:28px}.experience-copy{padding:70px;display:flex;flex-direction:column;justify-content:center}.experience-copy h2{font:800 clamp(36px,4vw,60px)/1 Manrope;letter-spacing:-.05em;margin:0 0 24px}.experience-copy p{line-height:1.8;color:#bdd0cb}.experience-image{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}
.process{background:var(--paper)}.timeline{max-width:860px;margin:70px auto 0;position:relative}.timeline-line{position:absolute;left:25px;top:0;bottom:0;width:2px;background:#e4e8e0}.timeline-line i{display:block;width:100%;height:0;background:var(--ink)}.step{position:relative;display:grid;grid-template-columns:70px 1fr;gap:30px;padding-bottom:62px}.step b{width:52px;height:52px;border-radius:50%;background:var(--cream);border:1px solid var(--line);display:grid;place-items:center;font:800 11px Manrope;z-index:2}.step h3{font:800 24px Manrope;margin:6px 0 9px}.step p{color:var(--muted);line-height:1.7;margin:0}
.gallery-section{background:#182f2c;padding-bottom:80px}.gallery-title{color:white}.gallery-title .section-label{color:#9bb2ad}.gallery-title h2{color:white}.gallery-title h2 span{color:#9db5aa}.masonry{columns:4;column-gap:12px;padding:0 12px}.masonry img{width:100%;margin:0 0 12px;border-radius:18px;break-inside:avoid;cursor:zoom-in;transition:.35s;filter:saturate(.85)}.masonry img:hover{transform:scale(.985);filter:saturate(1.05) brightness(1.04)}
.faq{background:#f4efe3}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.accordion details{border-top:1px solid var(--line);padding:25px 0}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font:800 17px Manrope;cursor:pointer}.accordion summary::-webkit-details-marker{display:none}.accordion summary i{font-style:normal;font-size:22px;transition:.25s}.accordion details[open] summary i{transform:rotate(45deg)}.accordion p{color:var(--muted);line-height:1.75;max-width:600px}
.contact-section{position:relative;padding:110px max(6vw,30px);background:#0e302c;color:white;display:grid;grid-template-columns:1fr 1fr;gap:100px;overflow:hidden}.contact-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:#315c4f;filter:blur(120px);right:-150px;top:-120px}.contact-section h2{color:white;font-size:clamp(52px,6vw,88px)}.contact-section h2 em{color:var(--lime)}.eyebrow.light{color:#d3e2de}.contact-copy p{color:#b8cbc6;line-height:1.7;max-width:560px}.direct-contact{margin-top:36px;display:flex;flex-direction:column;gap:10px}.direct-contact a{font:700 16px Manrope;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between}.contact-form{position:relative;z-index:1;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:28px}.field{margin-bottom:17px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font:700 11px Manrope;margin:0 0 8px;color:#caddd8}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:white;border-radius:13px;padding:14px 15px;font:500 14px DM Sans;outline:none;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lime);background:rgba(255,255,255,.1)}.field select option{color:#1f2d2a}.field textarea{resize:vertical}.btn-light{background:var(--lime);color:var(--ink);width:100%}.btn-light:hover{background:#e1f69b}.contact-form small{display:block;color:#9cb4ae;margin-top:12px}
footer{background:#092521;color:white;padding:55px max(6vw,30px) 28px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand strong,.footer-brand small{display:block}.footer-brand small{color:#8fa9a3;font-size:11px}.footer-links{display:flex;gap:26px;margin:35px 0;font-size:13px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;color:#829b95;font-size:11px}
.floating-call{position:fixed;right:18px;bottom:18px;z-index:90;background:var(--lime);color:var(--ink);border-radius:20px;padding:12px 17px;display:flex;align-items:center;gap:8px;box-shadow:0 15px 30px rgba(6,38,34,.24);font:800 12px Manrope}.floating-call span{font-size:18px}
.lightbox{position:fixed;inset:0;background:rgba(4,20,18,.92);z-index:300;display:grid;place-items:center;opacity:0;pointer-events:none;transition:.3s}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:90vw;max-height:86vh;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.4)}.lightbox button{position:absolute;right:28px;top:20px;background:none;border:0;color:white;font-size:45px;cursor:pointer}
.reveal,.reveal-right{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal{transform:translateY(34px)}.reveal-right{transform:translateX(45px)}.reveal.show,.reveal-right.show{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(117,166,110,0)}}@keyframes float{50%{transform:translateY(-13px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:1050px){.desktop-nav{display:none}.menu-toggle{display:block}.site-header>.btn-small{display:none}.mobile-menu{position:fixed;z-index:95;top:98px;left:16px;right:16px;background:var(--paper);border-radius:22px;padding:24px;box-shadow:var(--shadow);flex-direction:column;gap:18px;font-weight:800}.mobile-menu.open{display:flex}.hero{grid-template-columns:1fr;padding-top:135px}.hero-visual{min-height:560px}.hero-photo{height:520px}.trust-row{flex-wrap:wrap}.about-grid,.faq-grid,.contact-section{grid-template-columns:1fr}.about-collage{min-height:600px}.service-grid{grid-template-columns:repeat(2,1fr)}.experience-band{grid-template-columns:1fr 1fr}.experience-image{grid-column:1/-1;height:430px}.masonry{columns:3}.contact-section{gap:50px}}
@media(max-width:680px){.cursor-dot,.cursor-ring{display:none}.site-header{height:64px}.brand small{display:none}.hero{padding:120px 20px 70px}.hero h1{font-size:52px}.hero-visual{min-height:470px}.hero-photo{height:430px;width:92%}.orbit-1{width:450px;height:450px}.orbit-2{width:390px;height:390px}.floating-card{font-size:9px;padding:11px}.card-licensed{left:-2%}.card-home{right:-4%}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{gap:20px}.section{padding:85px 20px}.section-label{margin-bottom:35px}.about-grid{gap:50px}.about-collage{min-height:510px}.quote-card{width:230px;right:0}.section-head{display:block}.section-head p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:255px}.experience-band{grid-template-columns:1fr}.experience-number{padding:70px 20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.experience-copy{padding:55px 25px}.experience-image{height:340px}.masonry{columns:2}.gallery-title{padding-bottom:60px}.faq-grid{gap:45px}.contact-section{padding:85px 20px}.contact-form{padding:22px}.field-row{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:9px}.scroll-cue{display:none}}
