:root{--ink:#17242c;--teal:#12b8a6;--teal2:#08a997;--bg:#f1f5f6;--muted:#607078;--border:#dce4e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,'Segoe UI',Arial,sans-serif;background:white;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{max-width:1240px;margin:auto;padding:0 34px}.header{height:94px;background:white;position:sticky;top:0;z-index:40;border-bottom:1px solid #eef1f2;transition:box-shadow .3s}.header.scrolled{box-shadow:0 10px 32px #12242b12}.navline{display:flex;align-items:center;justify-content:space-between;height:100%;gap:28px}.brand{width:245px;flex:0 0 auto}.brand img{width:100%;height:auto}.nav{display:flex;align-items:center;gap:23px}.nav a{font-size:13px;font-weight:650;color:#46565c;white-space:nowrap;transition:color .2s}.nav a:hover,.nav a.is-active{color:var(--teal2)}.navcta{display:flex;align-items:center;white-space:nowrap;gap:12px;border:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:800}.navcta span{color:var(--teal);font-size:18px}.menu-button{display:none;background:transparent;border:0;width:42px;padding:7px}.menu-button span{display:block;height:2px;background:var(--ink);margin:7px 0}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.19em;color:var(--teal2);margin-bottom:23px}.eyebrow.light{color:#79f4dd}.hero{height:min(800px,calc(100svh - 94px));min-height:590px;position:relative;background:var(--ink);overflow:hidden;color:white}.hero-bg{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,32,41,.92),rgba(14,32,41,.72) 45%,rgba(14,32,41,.16)),linear-gradient(0deg,rgba(14,32,41,.45),transparent 40%)}.hero-inner{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;padding-top:40px;padding-bottom:80px}.hero h1,.pagehead h1{font-size:clamp(48px,6.5vw,94px);line-height:1.04;letter-spacing:-.065em;max-width:1000px;font-weight:850;margin:0 0 26px}.hero h1 em,.pagehead h1 em,.section-title em,.cta h2 em{color:var(--teal);font-style:normal}.hero p{font-size:18px;max-width:560px;line-height:1.65;color:#d5e1e3;margin:0 0 38px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid transparent;padding:17px 23px;font-size:13px;font-weight:800;min-height:54px;transition:transform .25s,background .25s,color .25s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--teal);color:#092a2c}.btn-primary:hover{background:#5de4d0}.btn-outline{border-color:#ffffff78;color:white;background:#ffffff08}.btn-outline:hover{background:#ffffff20}.btn-white{background:#fff;color:var(--ink)}.btn-ghost{background:#fff;border-color:var(--border);color:var(--ink)}.pulse{display:inline-block;background:var(--teal);width:7px;height:7px;border-radius:50%;margin-right:7px;box-shadow:0 0 0 6px #12b8a632}.scroll-mark{position:absolute;bottom:38px;left:34px;display:flex;gap:18px;align-items:center;font-size:22px}.scroll-mark span{font-size:10px;letter-spacing:.18em;font-weight:800}.hero-side{position:absolute;right:20px;top:50%;writing-mode:vertical-rl;letter-spacing:.2em;font-size:10px;color:#d0e5e5aa}.section{padding:110px 0}.section.muted{background:var(--bg)}.section.dark{background:var(--ink);color:white}.section-title{font-size:clamp(39px,4.9vw,68px);letter-spacing:-.063em;font-weight:850;line-height:1.11;margin:0 0 30px}.section-title.white{color:white}.lead{font-size:19px;line-height:1.8;max-width:530px}.split{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.split p:not(.lead){color:#607078;max-width:520px}.textlink{display:inline-block;padding-bottom:8px;border-bottom:2px solid var(--teal);font-size:13px;font-weight:850;margin-top:15px}.image-shape{position:relative;min-height:480px;background:#dce4e5}.image-shape img{height:480px;width:100%;object-fit:cover}.floating-tag{position:absolute;background:var(--teal);bottom:35px;left:-30px;font-size:11px;letter-spacing:.15em;font-weight:800;padding:20px 27px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:45px}.section-top .section-title{margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:#fff;min-width:0;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-8px);box-shadow:0 25px 50px #14273118}.service-photo{height:205px;overflow:hidden}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-card:hover img{transform:scale(1.07)}.service-info{padding:30px}.service-info span,.values span{font-size:10px;letter-spacing:.15em;font-weight:900;color:var(--teal2)}.service-info h3{font-size:23px;line-height:1.2;letter-spacing:-.03em;min-height:55px}.service-info p{color:var(--muted);font-size:14px;min-height:70px}.service-info b{display:block;font-size:12px;margin-top:23px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:72px}.values>div{border-top:1px solid #ffffff44;padding-top:30px}.values h3{font-size:27px;letter-spacing:-.04em}.values p{max-width:275px;color:#adc2c6;font-size:15px}.lightvalues>div{border-color:#d2dfe0}.lightvalues p{color:var(--muted)}.steps{max-width:1000px;margin-top:50px}.step{border-top:1px solid var(--border);display:grid;grid-template-columns:145px 1fr 65px;gap:25px;padding:27px 5px;align-items:center;transition:background .3s,padding .3s}.step:last-child{border-bottom:1px solid var(--border)}.step:hover{background:#f2f8f8;padding-left:18px}.stepnum{color:var(--teal2);font-size:22px;font-weight:900;letter-spacing:-.05em}.step h3{font-size:24px;letter-spacing:-.04em;margin:0 0 5px}.step p{font-size:14px;color:var(--muted);margin:0}.step-arrow{color:var(--teal2);font-size:25px;text-align:right}.gallery-disclaimer{font-size:13px;color:var(--muted);margin:0 0 25px}.gallery{display:grid;grid-template-columns:1.3fr .8fr 1fr;grid-template-rows:245px 245px;gap:13px}.gallery button{padding:0;border:0;background:#ddd;overflow:hidden;position:relative}.gallery button:first-child{grid-row:span 2}.gallery button:last-child{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery button:hover img{transform:scale(1.05)}.cta{background:var(--ink);color:#fff;position:relative;overflow:hidden}.cta:before{content:'';position:absolute;border:1px solid #ffffff1b;border-radius:50%;width:600px;height:600px;right:-150px;top:-210px}.cta-inner{min-height:350px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative}.cta h2{font-size:clamp(42px,5vw,72px);line-height:1.1;letter-spacing:-.06em;margin:0}.footer{padding:76px 0 26px;background:white}.footer-top{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:55px;padding-bottom:65px}.footlogo{width:265px}.footer p{font-size:13px;color:var(--muted)}.footnav{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px;align-content:start}.footnav a{font-size:13px;font-weight:650}.footcontact{display:flex;flex-direction:column;gap:13px}.footcontact .eyebrow{margin:0}.footcontact strong{font-size:20px}.footcontact span{font-size:13px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--border);padding-top:23px;display:flex;justify-content:space-between;gap:20px;color:#708087;font-size:11px}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.up{position:fixed;bottom:25px;right:25px;background:var(--teal);color:var(--ink);border:0;width:48px;height:48px;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s;font-size:23px}.up.visible{opacity:1;pointer-events:auto}.pagehead{background:var(--ink);color:white;padding:90px 0;min-height:395px}.pagehead-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center}.pagehead h1{font-size:clamp(46px,5.2vw,74px);margin-bottom:25px}.pagehead p{max-width:580px;color:#c1d1d2;font-size:17px}.pagehead-image{height:270px;overflow:hidden}.pagehead-image img{width:100%;height:100%;object-fit:cover}.details,.contact-details{max-width:850px;margin-top:40px}.details>div,.contact-details>div{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--border);padding:19px 0}.details>div:last-child,.contact-details>div:last-child{border-bottom:1px solid var(--border)}.details span,.contact-details span{color:var(--muted);font-size:13px}.details strong,.contact-details strong{font-weight:800;text-align:right}.partner-layout{align-items:start}.tabs{display:flex;gap:12px;margin-top:40px;flex-wrap:wrap}.tab{background:white;color:var(--ink);border:1px solid var(--border);padding:14px 22px;font-weight:750}.tab.active{background:var(--teal);border-color:var(--teal)}.tab-panel{background:var(--bg);padding:47px;min-height:325px}.tab-panel h3{font-size:30px;line-height:1.15;letter-spacing:-.04em}.tab-panel p{color:var(--muted);line-height:1.8}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.form-wrap{background:var(--bg);padding:42px}.form-wrap h2{font-size:32px;letter-spacing:-.04em;margin:0 0 25px}.request-form label{display:block;font-size:12px;font-weight:800;margin:0 0 21px}.request-form input:not([type=checkbox]),.request-form textarea,.request-form select{display:block;width:100%;border:1px solid #d7e0e0;background:white;border-radius:0;padding:14px 13px;margin-top:8px;color:var(--ink);outline-color:var(--teal);font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.request-form textarea{resize:vertical}.request-form .agree{display:flex;gap:11px;font-size:12px;line-height:1.6;font-weight:500;align-items:flex-start}.request-form .agree input{accent-color:var(--teal);width:18px;height:18px;flex:0 0 auto;margin-top:2px}.agree a{text-decoration:underline;text-underline-offset:3px}.formnote{font-size:12px;color:var(--muted);line-height:1.6}.form-result{border:1px solid var(--teal);background:white;padding:20px;margin-top:20px}.form-result p{font-size:13px}.map-placeholder{margin-top:50px;min-height:250px;background:#dce8e9;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}.map-placeholder>span,.map-placeholder>small{position:relative;z-index:1}.map-placeholder>span{font-size:36px;letter-spacing:.16em;font-weight:900}.map-placeholder>small{font-size:11px;color:var(--muted)}.mapgrid{position:absolute;inset:0;background:linear-gradient(30deg,transparent 48%,#fff7 49%,#fff7 50%,transparent 51%) 0 0/70px 70px,linear-gradient(130deg,transparent 48%,#fff9 49%,#fff9 50%,transparent 51%) 0 0/90px 90px;opacity:.7}.legal{max-width:910px}.legal h2{font-size:24px;line-height:1.3;margin-top:40px;letter-spacing:-.025em}.legal p{font-size:16px;line-height:1.9;color:#3c4d54;white-space:pre-line}.legal-note{padding:18px 22px;background:#e8f4f2;border-left:3px solid var(--teal)}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:14px 22px;z-index:101;opacity:0;pointer-events:none;transition:all .2s;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}.lightbox{position:fixed;inset:0;z-index:100;background:#0e1f25eb;display:flex;align-items:center;justify-content:center;padding:50px}.lightbox img{max-height:90vh;max-width:90vw;object-fit:contain}.lightbox button{position:absolute;top:20px;right:25px;background:var(--teal);border:0;padding:10px 19px;font-size:21px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1150px){.brand{width:185px}.nav{gap:13px}.nav a{font-size:11px}.navcta{font-size:11px;padding:10px}.split{gap:45px}.contact-layout{gap:40px}}
@media(max-width:900px){.header{height:78px}.brand{width:220px}.menu-button{display:block}.navcta{margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;box-shadow:0 20px 30px #15252c22;padding:24px 35px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 0;border-bottom:1px solid var(--border);font-size:15px}.hero{height:700px}.split,.pagehead-grid,.contact-layout{grid-template-columns:1fr}.pagehead-image{height:220px}.services-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr}.footcontact{grid-column:span 2}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 230px}.gallery button:first-child{grid-row:span 2}.gallery button:last-child{grid-column:auto}.contact-layout{gap:55px}}
@media(max-width:600px){.shell{padding:0 20px}.header{height:72px}.brand{width:175px}.nav{top:72px}.navcta{display:none}.hero{min-height:620px;height:calc(100svh - 72px)}.hero h1{font-size:49px}.hero p{font-size:15px}.hero-inner{padding-bottom:80px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{justify-content:space-between}.scroll-mark{left:20px}.hero-side{display:none}.section{padding:73px 0}.section-title{font-size:41px}.lead{font-size:16px}.image-shape,.image-shape img{height:330px;min-height:0}.floating-tag{left:0;bottom:20px}.section-top{align-items:start;flex-direction:column}.services-grid,.values{grid-template-columns:1fr}.values{gap:20px;margin-top:45px}.service-photo{height:220px}.service-info p{min-height:0}.step{grid-template-columns:55px 1fr 23px;gap:8px}.stepnum{font-size:19px}.step h3{font-size:19px}.step p{font-size:12px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:150px 150px}.cta-inner{min-height:350px;align-items:start;justify-content:center;flex-direction:column}.footer-top{grid-template-columns:1fr;gap:33px}.footcontact{grid-column:auto}.footer-bottom{flex-direction:column}.pagehead{padding:66px 0}.pagehead h1{font-size:46px}.pagehead-grid{gap:15px}.pagehead-image{height:180px}.form-wrap{padding:22px}.form-grid{grid-template-columns:1fr}.details>div,.contact-details>div{flex-direction:column;gap:2px}.details strong,.contact-details strong{text-align:left}.tab-panel{padding:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
