/* Mobile-first lower sections: wider screens progressively add columns. */
.services-v2,.contact-v2,.footer-v2{color:var(--text);background:var(--bg)}
.services-v2{padding-block:47px 38px}
.services-v2 .services-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}
.services-v2 .services-title{margin:0;font-size:35px;font-weight:400;letter-spacing:-.04em;line-height:1.13}
.services-v2 .services-title span{display:block;color:var(--accent)}
.services-v2 .services-intro{margin:0;color:var(--muted);font-size:18px;font-weight:400;line-height:1.6}
.services-v2 .services-list{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:35px}
.services-v2 .service-item{position:relative;isolation:isolate;min-width:0;overflow:hidden;padding:24px;border:1px solid rgba(226,220,147,.15);border-radius:22px;background:linear-gradient(145deg,#1b271e,#141e17 80%);transition:transform .35s ease,border-color .35s ease,background-color .35s ease;}
.services-v2 .service-item::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 95% 0%,rgba(226,220,147,.1),transparent 65%);opacity:.3;transition:opacity .4s ease;pointer-events:none}
.services-v2 .service-item::after{content:'';position:absolute;bottom:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,var(--accent),transparent);transform:scaleX(0);transform-origin:left;opacity:.6;transition:transform .6s ease;pointer-events:none}
.services-v2 .service-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.services-v2 .service-number{color:#b6bdab;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.services-v2 .service-icon{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(226,220,147,.16);border-radius:18px;background:rgba(226,220,147,.035);color:var(--accent);transition:transform .4s ease,background .4s ease,border-color .4s ease}
.services-v2 .service-icon svg{width:36px;height:36px;overflow:visible;stroke-width:1.5}
.services-v2 .service-dot{fill:var(--accent);stroke:var(--bg);stroke-width:1.5;transform-box:fill-box;transform-origin:center}
.services-v2 .service-stroke{stroke-dasharray:1;stroke-dashoffset:0}
.services-v2 .service-title{margin:0 0 12px;font-size:25px;font-weight:400;line-height:1.25;letter-spacing:-.035em}
.services-v2 .service-copy{max-width:560px;margin:0;color:var(--muted);font-size:17px;font-weight:400;line-height:1.65}
.services-v2 .service-item.service-seen::after{transform:scaleX(1)}
.services-v2 .service-entering{animation:service-arrive .66s cubic-bezier(.2,.65,.3,1) both;animation-delay:calc(var(--service-order,0)*90ms)}
.services-v2 .service-seen .service-stroke{animation:service-draw 1.1s ease backwards;animation-delay:calc(160ms + var(--service-order,0)*90ms)}
.services-v2 .service-seen .service-dot{animation:service-dot 1.3s ease backwards;animation-delay:200ms}
.services-v2 .service-item:active{border-color:rgba(226,220,147,.5)}
.services-v2 .service-item:active::before{opacity:1}
@keyframes service-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes service-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes service-redraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes service-dot{0%,30%{opacity:0;transform:scale(.3)}65%{opacity:1;transform:scale(1.4)}100%{opacity:1;transform:scale(1)}}
@keyframes service-pulse{0%,100%{opacity:1}45%{opacity:.3}}
@media(hover:hover) and (pointer:fine){
 .services-v2 .service-item:hover{transform:translateY(-5px);border-color:rgba(226,220,147,.4)}
 .services-v2 .service-item:hover::before{opacity:1}
 .services-v2 .service-item:hover .service-icon{transform:translateY(-3px);background:rgba(226,220,147,.09);border-color:rgba(226,220,147,.35)}
 .services-v2 .service-item:hover .service-stroke{animation:service-redraw 1s ease both}
 .services-v2 .service-item:hover .service-pulse{animation:service-redraw 1s ease both,service-pulse .9s ease 1s 2}
 .services-v2 .service-item:hover .service-icon-flight{transform:translate(3px,-3px)}
}
.contact-v2 .contact-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:37px;border-top:1px solid var(--line);padding-block:35px 39px}
.contact-v2 .contact-message,.contact-v2 .contact-details{min-width:0}
.contact-v2 .contact-title{margin:0 0 12px;font-size:29px;font-weight:400;line-height:1.25;letter-spacing:-.035em}
.contact-v2 .contact-intro{margin:0;color:var(--muted);font-size:18px;line-height:1.55}
.contact-v2 .call-button{margin-top:24px}
.contact-v2 .contact-details{margin:0;font-style:normal}
.contact-v2 .contact-label{margin:1px 0 7px;color:var(--muted);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:.12em}
.contact-v2 .contact-phone{display:inline-flex;align-items:center;min-height:44px;gap:16px;font-size:30px;font-weight:400;line-height:1.3;letter-spacing:-.025em;white-space:nowrap}
.contact-v2 .contact-phone svg{width:23px;height:23px;color:var(--accent);flex:0 0 auto}.contact-v2 .contact-phone:hover{color:var(--accent)}
.contact-v2 .contact-alternative{margin:5px 0 22px;color:var(--muted);font-size:17px;line-height:1.5}.contact-v2 .contact-alternative a{text-decoration:underline;text-underline-offset:4px}
.contact-v2 .contact-address,.contact-v2 .contact-email{margin:0;color:var(--muted);font-size:16px;line-height:1.8}.contact-v2 .contact-email{display:inline-block;overflow-wrap:anywhere}
.contact-v2 .contact-email:hover,.contact-v2 .contact-alternative a:hover{color:var(--text)}
.footer-v2{border-top:1px solid var(--line)}
.footer-v2 .footer-inner{min-height:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:26px 35px;padding-block:29px}
.footer-v2 .footer-wordmark{width:100%;color:var(--text);font-size:30px;font-weight:400;line-height:1.2;letter-spacing:-.04em}
.footer-v2 .footer-legal{display:flex;gap:28px;margin-left:0;color:var(--muted);font-size:15px}.footer-v2 .footer-legal a{display:inline-flex;align-items:center;min-height:44px}.footer-v2 .footer-legal a:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}
.footer-v2 .footer-note{width:100%;margin:0;color:var(--muted);font-size:12px;line-height:1.5}

@media(min-width:361px){
 .services-v2 .services-title{font-size:clamp(36px,7.8vw,55px)}.services-v2 .service-title{font-size:clamp(26px,5.5vw,32px)}
 .contact-v2 .contact-title{font-size:clamp(29px,6.4vw,40px)}.contact-v2 .contact-phone{font-size:32px}.contact-v2 .contact-address,.contact-v2 .contact-email{font-size:17px}
}
@media(min-width:761px){
 .services-v2{padding-block:clamp(48px,4.8vw,74px) 64px}.services-v2 .services-heading{grid-template-columns:minmax(0,58.7%) minmax(0,1fr);gap:0}.services-v2 .services-title{font-size:clamp(48px,5.2vw,80px);letter-spacing:-.045em;line-height:1.065}.services-v2 .services-intro{margin:13px 0 0;font-size:clamp(18px,1.58vw,24px);line-height:1.55}
 .services-v2 .services-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(42px,4.8vw,74px)}
 .services-v2 .service-item{padding:22px}.services-v2 .service-top{margin-bottom:32px}.services-v2 .service-icon{width:56px;height:56px;border-radius:16px}
 .services-v2 .service-title{font-size:clamp(23px,2.35vw,31px);margin-bottom:18px}.services-v2 .service-copy{max-width:none;font-size:clamp(16px,1.3vw,20px);line-height:1.7}
 .contact-v2 .contact-inner{grid-template-columns:minmax(0,54%) minmax(0,1fr);gap:0;padding-block:46px 54px}.contact-v2 .contact-title{font-size:36px;line-height:1.3;margin-bottom:9px}.contact-v2 .contact-intro{font-size:clamp(18px,1.45vw,22px)}.contact-v2 .call-button{margin-top:30px}
 .contact-v2 .contact-phone{font-size:clamp(30px,2.6vw,40px);gap:20px}.contact-v2 .contact-phone svg{width:25px;height:25px}.contact-v2 .contact-alternative{margin:3px 0 27px;font-size:18px}.contact-v2 .contact-address,.contact-v2 .contact-email{font-size:clamp(16px,1.3vw,20px)}
 .footer-v2 .footer-inner{min-height:134px;flex-wrap:nowrap;justify-content:space-between;gap:24px;padding-block:30px}.footer-v2 .footer-wordmark{width:auto;font-size:34px}.footer-v2 .footer-legal{gap:clamp(28px,3.5vw,54px);font-size:16px}.footer-v2 .footer-note{width:auto;font-size:14px}
}
@media(min-width:1201px){
 .services-v2 .services-intro{margin-top:23px}.services-v2 .services-list{gap:22px}.services-v2 .service-item{padding:30px 30px 34px}.services-v2 .service-top{margin-bottom:38px}.services-v2 .service-icon{width:66px;height:66px;border-radius:19px}.services-v2 .service-icon svg{width:39px;height:39px}.services-v2 .service-title{font-size:clamp(25px,2.15vw,33px)}
 .contact-v2 .contact-inner{grid-template-columns:minmax(0,54.4%) minmax(0,1fr)}.contact-v2 .contact-title{font-size:clamp(32px,3.13vw,48px)}.footer-v2 .footer-inner{gap:32px}.footer-v2 .footer-legal{margin-left:42px}
}
@media(prefers-reduced-motion:reduce){
 .services-v2 .service-item,.services-v2 .service-icon,.services-v2 .service-dot{transform:none!important}
 .services-v2 .service-entering,.services-v2 .service-stroke{opacity:1;stroke-dashoffset:0}
}
