/* ABCS flagship site 2026 | custom static HTML/CSS, no framework required */
:root{
  --navy:#09131f;--navy2:#101e2e;--navy3:#152b40;--ink:#142438;
  --cyan:#04adee;--cyan2:#46c9f7;--mist:#dff5ff;--paper:#f6f8fa;
  --white:#fff;--muted:#6a7c8e;--line:#e2e9ee;--heading:'Manrope','DM Sans',sans-serif;
  --body:'DM Sans',sans-serif;--shadow:0 24px 72px rgba(20,40,60,.12);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
::selection{background:var(--cyan2);color:var(--navy)}
.shell{width:min(90.6%,1370px);margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-90px;left:16px;background:white;color:var(--ink);z-index:1000;padding:12px 19px;border-radius:4px;font-weight:800}
.skip-link:focus{top:18px}
/* CONSISTENT SITE NAVIGATION */
.site-header{height:82px;position:sticky;z-index:90;top:0;background:#0a1420;border-bottom:1px solid rgba(255,255,255,.10);color:#f6fafc;box-shadow:0 8px 26px rgba(0,0,0,.08)}
.site-header .header-inner{height:100%;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0;min-width:213px}
.brand img{width:44px;height:44px;object-fit:cover;border-radius:50%;background:white}
.brand-type{display:flex;flex-direction:column;line-height:1.15;gap:6px}
.brand-type strong{font:800 15px/1 var(--heading);letter-spacing:.19em;color:#fff;white-space:nowrap}
.brand-type small{font:800 8px/1.1 var(--heading);letter-spacing:.25em;color:#bdd8e9;white-space:nowrap}
.nav-main{margin-left:auto;display:flex;align-items:stretch;gap:32px;align-self:stretch}
.nav-main a{display:inline-flex;align-items:center;position:relative;font:800 12px var(--heading);white-space:nowrap;letter-spacing:.012em;color:#adbecb;transition:color .2s}
.nav-main a:hover,.nav-main a.nav-active{color:white}
.nav-main a.nav-active::after{content:'';height:2px;background:var(--cyan);position:absolute;bottom:0;left:0;right:0}
.header-actions{display:flex;align-items:center;gap:17px;margin-left:15px}
.header-phone{font:800 12px var(--heading);white-space:nowrap;color:#e4eff5}
.header-phone:hover{color:var(--cyan2)}
.nav-toggle{display:none;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.22);color:white;background:transparent;padding:11px;border-radius:5px;font-weight:800;font-size:12px}
.nav-toggle svg{width:21px;height:21px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:17px;padding:15px 23px;border:1px solid transparent;border-radius:5px;font:800 12px/1.3 var(--heading);text-align:center;transition:transform .23s,background .23s,border-color .23s,box-shadow .23s;white-space:normal}
.button:hover{transform:translateY(-2px)}.button-blue{background:var(--cyan);color:#071522;box-shadow:0 9px 25px rgba(0,174,239,.11)}
.button-blue:hover{background:#51caff;box-shadow:0 13px 32px rgba(0,174,239,.22)}
.button-ghost{background:transparent;color:#e4f0f9;border-color:rgba(255,255,255,.25)}
.button-ghost:hover{border-color:var(--cyan2);background:rgba(255,255,255,.06)}
.button-dark{background:#10273a;color:white}.button-dark:hover{background:#20516d}
.button-white{background:white;color:var(--ink)}.button-white:hover{background:#ebf8ff}
.button-compact{padding:13px 18px;font-size:11px}.button-large{padding:18px 25px;font-size:13px}
.arrow-link{display:inline-flex;align-items:center;gap:12px;font:800 12px var(--heading);border-bottom:1px solid currentColor;padding-bottom:5px;transition:color .2s,gap .2s}
.arrow-link:hover{color:var(--cyan);gap:18px}
.kicker{display:inline-flex;gap:13px;align-items:center;font:800 10px var(--heading);letter-spacing:.22em;text-transform:uppercase;color:#248bb8}
.kicker::before{content:'';width:27px;height:1px;background:currentColor}
.kicker-light{color:#74d6ff}
.section-heading{font:800 clamp(36px,4.7vw,68px)/1.14 var(--heading);letter-spacing:-.07em;margin:19px 0}
.section-heading em,.hero h1 em,.page-hero h1 em{color:#14a8df;font-style:normal}
.section-subtitle{max-width:660px;font-size:15px;line-height:1.9;color:var(--muted)}
.section-label{font:800 10px var(--heading);letter-spacing:.18em;color:#3289ae;text-transform:uppercase}
/* GLOBAL HERO */
.hero-home,.page-hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 80% 30%,rgba(11,121,172,.11),transparent 48%),linear-gradient(135deg,#091420 20%,#0c1b2e 100%);color:#fff;overflow:hidden}
.hero-home::before,.page-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,rgba(126,209,243,.25) .65px,transparent .8px);background-size:27px 27px;mask-image:linear-gradient(90deg,#000,transparent 73%);opacity:.35;pointer-events:none}
.hero-home::after,.page-hero::after{content:'';width:620px;height:620px;border:1px solid rgba(75,178,220,.11);border-radius:50%;position:absolute;right:-230px;top:-160px;pointer-events:none;box-shadow:0 0 0 120px rgba(25,141,185,.025),0 0 0 240px rgba(24,132,179,.02)}
.hero-layout{display:grid;grid-template-columns:53% 47%;min-height:685px;align-items:center;position:relative}
.hero-copy{padding:104px 7% 97px 0;z-index:1}.hero-home h1{font:800 clamp(54px,6.05vw,91px)/1.035 var(--heading);letter-spacing:-.082em;margin:28px 0 27px}
.hero-home h1 em{color:#56c5f6;font-style:normal}.hero-home .hero-lead{font-size:16px;line-height:1.95;max-width:565px;color:#afc4d2;margin:0}
.hero-cta{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}
.hero-aside{margin-top:56px;display:flex;gap:17px;align-items:center;color:#b9cddb;font-size:12px}
.hero-aside-mark{width:48px;height:48px;border:1px solid rgba(67,180,235,.34);display:grid;place-items:center;border-radius:50%;color:#59c9f7;font-size:24px;flex-shrink:0}
.hero-aside strong{color:#fff}.hero-aside small{display:block;font-size:12px;line-height:1.65}
.hero-visual{height:100%;min-height:605px;position:relative;display:flex;align-items:center;justify-content:flex-end;padding:50px 0 74px 32px}
.portrait-stage{position:relative;width:94%;height:565px;max-height:78vh;border:1px solid rgba(131,210,243,.25);background:#152335;overflow:hidden;box-shadow:0 29px 82px rgba(0,0,0,.32)}
.portrait-stage img{height:100%;width:100%;object-fit:cover;object-position:63% 36%;filter:none}
.portrait-stage::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 67%,rgba(4,13,24,.06) 77%,rgba(4,13,24,.66) 100%);pointer-events:none}
.portrait-mark{position:absolute;top:22px;right:21px;font:800 10px var(--heading);letter-spacing:.18em;color:rgba(255,255,255,.88);text-shadow:0 2px 8px #000;z-index:1}
.portrait-info{position:absolute;bottom:23px;left:30px;right:25px;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.portrait-info strong{font:800 20px var(--heading);display:block}.portrait-info small{font-size:12px;color:#cfdeeb;line-height:1.6}.portrait-info span{font-size:28px;color:#62c9f1}
/* Align the editorial note with the portrait itself, not the surrounding hero column. */
.portrait-float{position:absolute;top:69px;left:21px;right:auto;bottom:auto;width:228px;max-width:calc(100% - 42px);z-index:4;padding:17px 20px 18px;color:#f6fcff;background:rgba(8,27,43,.84);border:1px solid rgba(111,203,245,.31);border-left:3px solid #4bcafa;box-shadow:0 16px 38px rgba(0,0,0,.19);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.portrait-float small{display:block;color:#7ad6fd;letter-spacing:.16em;font:800 9px var(--heading);margin-bottom:7px}.portrait-float strong{display:block;color:#fff;font:800 14px/1.48 var(--heading)}
.hero-bottom-rule{position:absolute;bottom:0;left:0;right:0;height:1px;background:rgba(255,255,255,.07)}
/* PROMISE BAR */
.trust-ribbon{background:#0e1d2b;color:white;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{display:flex;align-items:center;gap:15px;min-height:99px;padding:18px 25px;border-right:1px solid rgba(255,255,255,.09)}
.trust-item:first-child{padding-left:0}.trust-item:last-child{border:0}
.trust-icon{flex-shrink:0;color:#52c5f9;font:800 28px/1 var(--heading);width:37px}.trust-item strong{display:block;font:800 12px var(--heading);margin-bottom:5px}.trust-item small{display:block;color:#9db3c2;font-size:11px;line-height:1.4}
/* SERVICE OVERVIEW */
.section-space{padding:104px 0}.white-section{background:white}.soft-section{background:#f5f8fa}
.services-header{display:grid;grid-template-columns:1fr .75fr;gap:50px;align-items:end;margin-bottom:46px}
.services-header p{max-width:535px;margin:0 0 9px auto}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.service-card{min-height:240px;background:#f6f9fb;border:1px solid #e4ebef;border-radius:8px;display:flex;flex-direction:column;padding:29px 30px 27px;transition:.25s}
.service-card:hover{transform:translateY(-4px);border-color:#afdff1;box-shadow:0 17px 32px rgba(21,51,76,.09);background:white}
.service-card-icon{width:48px;height:48px;border-radius:8px;background:#e3f4fc;color:#1289b5;display:grid;place-items:center;margin-bottom:23px}
.service-card-icon svg{width:25px;height:25px;stroke-width:1.7}
.service-card .service-number{font:800 10px var(--heading);letter-spacing:.17em;color:#92a1ac;margin-bottom:10px}
.service-card h3{font:800 19px/1.35 var(--heading);letter-spacing:-.04em;margin:0 0 9px}
.service-card p{font-size:13px;line-height:1.85;color:#71828f;margin:0 0 22px}
.service-card .card-link{display:inline-flex;align-items:center;gap:9px;font:800 11px var(--heading);color:#1382b0;margin-top:auto}.service-card:hover .card-link{gap:15px}
.service-bottom{text-align:center;margin-top:39px}
/* PROCESS */
.process-section{background:#0c1b2b;color:white;padding:95px 0 102px;position:relative;overflow:hidden}
.process-section::after{content:'ABCS';position:absolute;right:-10px;bottom:-105px;font:800 clamp(150px,25vw,390px)/1 var(--heading);letter-spacing:-.13em;color:rgba(151,207,238,.025);pointer-events:none}
.process-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}.process-head .section-heading{max-width:600px;margin-bottom:0}.process-head p{max-width:395px;color:#aec4d3;font-size:14px;line-height:1.85}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16)}
.process-step{padding:39px 37px 15px 0;border-right:1px solid rgba(255,255,255,.12);margin-top:24px;margin-right:35px}
.process-step:last-child{border:0;margin-right:0}.process-step .num{font:800 36px var(--heading);color:#58cafa;letter-spacing:-.08em}
.process-step h3{font:800 19px var(--heading);letter-spacing:-.04em;margin:22px 0 12px}.process-step p{color:#aabfce;font-size:13px;line-height:1.85;max-width:290px}
/* COLLECTION FEATURE */
.collection-spotlight{background:#eef4f7;padding:95px 0;overflow:hidden}
.collection-spotlight-grid{display:grid;grid-template-columns:1fr 1.04fr;background:#101f30;color:white;min-height:440px;box-shadow:var(--shadow);border-radius:6px;overflow:hidden}
.spotlight-copy{padding:72px 8% 63px 9%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;z-index:1}
.spotlight-copy h2{font:800 clamp(38px,4vw,59px)/1.12 var(--heading);letter-spacing:-.065em;margin:18px 0}
.spotlight-copy h2 em{color:#51c3fa;font-style:normal}.spotlight-copy p{color:#b0c5d3;font-size:14px;max-width:440px;line-height:1.9;margin:0 0 29px}
.spotlight-photo{position:relative;overflow:hidden;min-height:405px;background:#111a28}
.spotlight-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.spotlight-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#101f30 0%,transparent 31%)}
.spotlight-sticker{position:absolute;right:27px;bottom:27px;background:rgba(255,255,255,.95);color:#193041;padding:17px 22px;z-index:1;box-shadow:0 10px 30px rgba(0,0,0,.17);font:800 11px var(--heading);letter-spacing:.01em}
.spotlight-sticker small{display:block;color:#6b8896;letter-spacing:.17em;font-size:9px;margin-bottom:3px}
/* ETHOS */
.ethos-grid{display:grid;grid-template-columns:.83fr 1fr;align-items:center;gap:8%}
.ethos-visual{min-height:410px;background:linear-gradient(140deg,#10283d,#0a1625);color:white;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:39px;overflow:hidden}
.ethos-visual::before{content:'“';position:absolute;left:14px;top:-132px;font:800 530px/1 var(--heading);color:rgba(75,183,233,.13)}
.ethos-visual .top{font:800 11px var(--heading);color:#66cffa;letter-spacing:.18em;position:relative}.ethos-visual p{position:relative;font:800 clamp(24px,3.1vw,41px)/1.3 var(--heading);letter-spacing:-.055em;max-width:430px;margin:70px 0 10px}.ethos-visual small{font-size:12px;color:#b1c5d4;position:relative}
.ethos-content h2{max-width:580px}.ethos-content p{font-size:14px;line-height:1.95;color:#687c8b}
.ethos-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}
.ethos-list span{display:flex;gap:10px;align-items:flex-start;font:800 12px/1.6 var(--heading);color:#254159}.ethos-list span b{font-weight:900;color:#059bd7}
/* PRICING */
.pricing-intro{text-align:center;margin-bottom:43px}.pricing-intro .section-subtitle{margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.price-card{background:white;padding:35px 33px;border:1px solid #e1e8ed;border-radius:7px;display:flex;flex-direction:column;min-height:360px;box-shadow:0 8px 25px rgba(21,44,62,.035)}
.price-card.featured{border-color:#56bde9;box-shadow:0 20px 47px rgba(10,86,126,.1);position:relative}
.price-card .mini-label{font:800 9px var(--heading);letter-spacing:.19em;color:#298ab5;text-transform:uppercase}
.price-card h3{font:800 23px var(--heading);letter-spacing:-.055em;margin:13px 0 9px}
.price-figure{font:800 43px var(--heading);letter-spacing:-.08em;margin:4px 0;color:#172d40;line-height:1.15}
.price-figure small{font:700 13px var(--body);letter-spacing:0;color:#718796}
.price-card p{font-size:13px;line-height:1.85;color:#6e8090;margin:16px 0 24px}
.price-card .button{margin-top:auto;width:100%}
.rate-note{margin:21px 0 0;color:#708393;font-size:12px;text-align:center;line-height:1.7}
/* GOOGLE REVIEWS / COMMUNITY */
.review-card{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:#f2f7fa;border:1px solid #e0eaf0;padding:36px 39px;border-radius:6px}
.review-card h2{font:800 29px var(--heading);letter-spacing:-.045em;margin:12px 0 8px}
.review-card p{color:#667b8b;font-size:13px;margin:0;max-width:680px}
#reviews-feed:not(:empty){margin:28px 0 10px}.reviews-helper{color:#8193a1;font-size:12px;margin:15px 0 0}
/* LOCATION */
.area-grid{display:grid;grid-template-columns:.96fr 1fr;gap:70px;align-items:center}
.area-city-list{display:flex;flex-wrap:wrap;gap:9px;margin:27px 0 30px}
.area-city-list span{padding:9px 13px;border:1px solid #dce6ed;background:white;font:700 11px var(--heading);color:#3e586d;border-radius:3px}
.area-map{height:400px;border:1px solid #dee6ed;border-radius:7px;overflow:hidden;background:linear-gradient(135deg,#dceaf4,#c5dde9);position:relative}
.area-map iframe{border:0;width:100%;height:100%;display:block}.area-map .map-fallback{padding:28px;display:grid;place-items:center;height:100%;color:#173b51}
/* FAQ */
.faq-layout{display:grid;grid-template-columns:.7fr 1fr;gap:8%;align-items:start}
.faq-layout .section-heading{font-size:clamp(36px,3.7vw,52px)}
.faq-list details{border-bottom:1px solid #dce6ec}.faq-list summary{list-style:none;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:24px 0;font:800 15px var(--heading);cursor:pointer;color:#24384a}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';font-size:24px;color:#078ebf;font-weight:400;line-height:1}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{margin:-6px 0 23px;max-width:720px;color:#677d8c;font-size:13px;line-height:1.95}
/* CONTACT */
.contact-section{background:linear-gradient(136deg,#0b1b2c,#102b40);color:white;padding:100px 0;position:relative;overflow:hidden}
.contact-section::before{content:'';position:absolute;width:760px;height:760px;border:1px solid rgba(74,184,235,.09);border-radius:50%;right:-430px;top:-280px;pointer-events:none}
.contact-grid{display:grid;grid-template-columns:.81fr 1fr;gap:8%;align-items:start;position:relative}
.contact-copy h2{font:800 clamp(43px,4.5vw,65px)/1.14 var(--heading);letter-spacing:-.07em;margin:23px 0 19px}
.contact-copy p{max-width:450px;color:#b5c9d8;font-size:14px;line-height:1.95}
.contact-options{margin-top:38px;display:grid;gap:14px}.contact-option{display:flex;align-items:center;gap:14px;padding:17px 18px;border:1px solid rgba(255,255,255,.14);color:white;border-radius:5px;transition:.2s}
.contact-option:hover{border-color:#5cbfe8;background:rgba(255,255,255,.05)}.contact-option .c-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(90,205,250,.28);border-radius:50%;color:#60c8f3;font-weight:800}.contact-option strong{font:800 12px var(--heading);display:block}.contact-option small{font-size:11px;color:#a3baca}
.contact-form{background:white;padding:38px;border-radius:7px;color:#172a3a;box-shadow:0 30px 60px rgba(0,0,0,.16)}
.form-head{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-bottom:25px}.form-head strong{font:800 23px var(--heading);letter-spacing:-.04em}.form-head span{font:800 10px var(--heading);letter-spacing:.12em;color:#1c90c0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;margin:0 0 18px}.field.full{grid-column:1/-1}
.field label{font:800 11px var(--heading);color:#425a6c}
.field input,.field textarea,.field select{width:100%;background:#f7fafc;border:1px solid #dfe7ec;padding:14px 14px;border-radius:5px;color:#182e40;font:500 13px var(--body);outline:none;transition:.2s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#24ace5;background:white;box-shadow:0 0 0 3px rgba(4,173,238,.09)}
.field textarea{min-height:135px;resize:vertical}
.contact-form .button{width:100%}.form-note{font-size:11px;color:#8695a0;margin:14px 0 0;line-height:1.75}.form-note a{text-decoration:underline;color:#367ba0}
.form-status{font-size:12px;line-height:1.6;margin:12px 0;color:#26617c;min-height:0}.form-status.is-error{color:#ae2c40}.form-status.is-success{color:#106443}
/* SUBPAGES */
.page-hero{padding:108px 0 107px}
.page-hero h1{font:800 clamp(48px,6vw,87px)/1.08 var(--heading);letter-spacing:-.073em;margin:25px 0}
.page-hero p{max-width:705px;color:#aec4d4;font-size:16px;line-height:1.9;margin:0}
.page-hero .inline-actions{display:flex;gap:23px;align-items:center;margin-top:31px;flex-wrap:wrap}
.breadcrumb{display:flex;gap:10px;align-items:center;color:#95b4c5;font-size:11px;margin-bottom:29px}
.breadcrumb a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.2);text-underline-offset:4px}
.breadcrumb b{color:#52c7f8}
.page-hero-columns{display:grid;grid-template-columns:1fr .7fr;gap:7%;align-items:center}
.hero-note-panel{border:1px solid rgba(113,202,241,.21);background:rgba(18,40,59,.62);padding:39px;position:relative}
.hero-note-panel .panel-icon{font-size:48px;color:#4ebde9}.hero-note-panel h3{font:800 26px/1.27 var(--heading);margin:15px 0}.hero-note-panel p{font-size:13px;line-height:1.9}
/* SERVICE PAGE DETAILS */
.service-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.service-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-button{background:white;border:1px solid #dce5eb;border-radius:5px;padding:11px 18px;font:800 12px var(--heading);color:#577087;transition:.2s}
.filter-button:hover{border-color:#6bbadb}.filter-button.is-active{background:#0e2133;color:white;border-color:#0e2133}
.service-tally{font:700 12px var(--heading);color:#7c90a1}
.service-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.service-page-card{display:flex;flex-direction:column;padding:32px;min-height:270px;border:1px solid #e0e8ee;background:white;border-radius:7px}
.service-page-card[hidden]{display:none}.service-page-card .service-card-icon{margin-bottom:20px}
.service-page-card h2{font:800 20px/1.3 var(--heading);letter-spacing:-.04em;margin:0 0 11px}.service-page-card p{font-size:13px;color:#708393;line-height:1.85;margin:0 0 22px}
.service-page-card a{color:#0b8bbf;font:800 11px var(--heading);margin-top:auto;display:inline-flex;gap:7px;align-items:center}
.service-cta-panel{background:#102236;color:white;padding:45px 49px;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:35px}
.service-cta-panel strong{display:block;font:800 26px var(--heading);letter-spacing:-.05em;margin-bottom:8px}.service-cta-panel p{max-width:540px;color:#bdd0df;font-size:13px;margin:0}
/* ABOUT */
.about-hero{position:relative;padding:80px 0 95px;background:#0a1726;color:white}
.about-layout{display:grid;grid-template-columns:1fr .81fr;gap:8%;align-items:center}
.about-hero h1{font:800 clamp(50px,6vw,88px)/1.05 var(--heading);letter-spacing:-.08em;margin:28px 0}
.about-hero h1 em{font-style:normal;color:#51c7f6}.about-hero p{font-size:15px;color:#b2c7d5;max-width:550px;line-height:1.95}
/* A balanced, natural portrait: preserve aspect ratio and avoid intrinsic 858px image height. */
.about-photo{position:relative;width:100%;max-width:455px;justify-self:center}
.about-photo img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:center;filter:none;border:1px solid rgba(124,197,232,.25);box-shadow:0 28px 60px rgba(0,0,0,.35)}
.about-photo .credit{position:absolute;bottom:-23px;left:-21px;padding:18px 28px;background:#fff;color:#102b42;box-shadow:var(--shadow);font:800 14px var(--heading)}
.about-photo .credit small{font:700 10px var(--body);color:#698497;display:block;margin-top:3px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.value-card{border-top:3px solid #1cb4ec;background:white;border-bottom:1px solid #e2e9ef;padding:33px 30px 38px}
.value-card span{font:800 11px var(--heading);color:#1598ca;letter-spacing:.2em}.value-card h3{font:800 24px/1.25 var(--heading);letter-spacing:-.055em;margin:28px 0 15px}.value-card p{font-size:13px;line-height:1.9;color:#667c8d;margin:0}
.photo-banner{position:relative;overflow:hidden;height:390px;background:#10283d}
.photo-banner img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-banner::after{content:'';inset:0;position:absolute;background:linear-gradient(90deg,rgba(3,12,25,.25),transparent)}
/* LEGAL PAGES */
.legal-hero{padding:78px 0 79px}.legal-hero h1{font-size:clamp(48px,5vw,72px)}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:7%;align-items:start;padding:68px 0 120px}
.legal-sidebar{position:sticky;top:114px}.legal-sidebar .sidebar-title{font:800 10px var(--heading);letter-spacing:.2em;color:#638296;text-transform:uppercase;margin-bottom:18px}
.legal-sidebar a{display:block;padding:10px 11px;border-left:2px solid #d7e4eb;color:#718393;font:700 11.5px/1.6 var(--heading);transition:.2s}
.legal-sidebar a:hover,.legal-sidebar a:focus-visible{border-color:#0ea9e6;background:#eaf6fd;color:#167ca9}
.legal-content{background:white;border:1px solid var(--line);padding:52px 60px 66px;border-radius:7px;box-shadow:0 14px 40px rgba(19,39,60,.035);max-width:850px}
.legal-content h2{font:800 23px var(--heading);letter-spacing:-.035em;color:#1c354b;margin:40px 0 16px;scroll-margin-top:110px}
.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content li{font-size:14px;color:#5e7282;line-height:1.95}
.legal-content ul{padding-left:20px;margin:13px 0 20px}.legal-content li{padding-left:4px;margin-bottom:6px}
.legal-help{margin-top:42px;background:#eef8fd;border-left:3px solid #11a4dd;padding:23px 27px}.legal-help strong{display:block;font:800 17px var(--heading);color:#1e465d;margin-bottom:6px}.legal-help p{font-size:12px;margin:0}
/* FOOTER */
.site-footer{background:#0a1725;color:#d8e9f2;padding:67px 0 0}
.footer-main{display:grid;grid-template-columns:2fr 1.05fr 1.05fr 1fr;gap:53px;padding-bottom:58px}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:17px}.footer-brand img{width:45px;height:45px;border-radius:50%;background:white}
.footer-brand strong{display:block;font:800 14px var(--heading);letter-spacing:.13em}.footer-brand small{display:block;font:700 8px var(--heading);letter-spacing:.2em;color:#9fc7df}
.footer-main p{font-size:12px;color:#94b0c2;line-height:1.9;max-width:300px}.footer-main h3{font:800 11px var(--heading);letter-spacing:.18em;margin:4px 0 21px;text-transform:uppercase;color:#eaf5fb}
.footer-main .footer-links a{display:block;font-size:12px;color:#a0b8c9;margin:13px 0}.footer-main .footer-links a:hover{color:#52c7f6}
.footer-main a.contact-line{display:block;font-size:12px;color:#c4d5e0;margin:12px 0;overflow-wrap:anywhere}.footer-main a.contact-line:hover{color:var(--cyan2)}
.footer-meta{border-top:1px solid rgba(255,255,255,.09);padding:22px 0 27px;display:flex;align-items:flex-start;justify-content:space-between;gap:40px;color:#8196a7;font-size:10px;line-height:1.75}
.footer-meta .disclaimer{max-width:910px}
/* COOKIE SETTINGS */
.cookie-banner{position:fixed;z-index:300;left:18px;right:18px;bottom:17px;display:flex;align-items:center;gap:25px;max-width:1040px;margin-inline:auto;background:#fff;color:#26394a;padding:18px 23px;border:1px solid #dbe7ed;border-radius:7px;box-shadow:0 15px 70px rgba(3,17,32,.25)}
.cookie-banner[hidden]{display:none}.cookie-banner p{flex:1;font-size:12px;line-height:1.65;margin:0;color:#586c7b}.cookie-banner a{text-decoration:underline;color:#176d93}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}.cookie-actions button{border:1px solid #dbe5ea;padding:10px 13px;border-radius:4px;font:800 11px var(--heading);background:white;color:#2f5167}.cookie-actions button.allow{background:#088ec4;color:white;border-color:#088ec4}
/* misc */
[hidden]{display:none!important}
.rule{height:1px;background:#e3eaee}
.reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){.js-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.js-ready .reveal.revealed{opacity:1;transform:none}}
@media(max-width:1190px){.nav-main{gap:20px}.header-phone{display:none}.header-actions{margin-left:0}.hero-home h1{font-size:clamp(51px,6.1vw,78px)}.service-card{padding:25px}.footer-main{gap:30px}.area-grid{gap:45px}}
@media(max-width:950px){.site-header{height:74px}.header-inner{gap:14px}.brand{min-width:195px}.nav-main{gap:14px}.nav-main a{font-size:11px}.header-actions .button{padding:12px 13px;font-size:11px}.hero-layout{min-height:610px;grid-template-columns:52% 48%}.hero-copy{padding:75px 4% 65px 0}.hero-home h1{font-size:clamp(48px,6.5vw,64px)}.hero-visual{min-height:560px;padding-left:16px}.portrait-stage{height:490px}.trust-item{padding:16px}.services-header{gap:25px}.process-step{margin-right:22px;padding-right:18px}.area-grid{gap:35px}.pricing-grid{gap:12px}.price-card{padding:29px 23px}.footer-main{grid-template-columns:1.7fr 1fr 1fr;gap:27px}.footer-main>div:last-child{grid-column:2 / span 2}.service-page-grid{grid-template-columns:repeat(2,1fr)}.legal-layout{grid-template-columns:200px minmax(0,1fr);gap:4%}.legal-content{padding:43px}}
@media(max-width:720px){html{scroll-padding-top:77px}.shell{width:calc(100% - 36px)}.site-header{height:70px}.header-inner{gap:9px}.brand{min-width:unset;margin-right:auto;gap:9px}.brand img{width:38px;height:38px}.brand-type strong{font-size:12px}.brand-type small{font-size:7px}.header-actions{margin-left:auto}.header-actions .button{font-size:10px;padding:11px 11px}.nav-toggle{display:flex;order:3;padding:9px}.nav-toggle span{display:none}.nav-main{display:none;position:absolute;top:70px;left:0;right:0;background:#0b1928;flex-direction:column;gap:0;margin:0;padding:12px 18px 23px;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 18px 30px rgba(0,0,0,.17)}.nav-main.is-open{display:flex}.nav-main a{padding:14px 9px;border-bottom:1px solid rgba(255,255,255,.07);font-size:13px}.nav-main a.nav-active::after{left:9px;right:auto;width:38px;bottom:0}.hero-layout{display:flex;flex-direction:column;min-height:unset}.hero-copy{padding:65px 0 37px}.hero-home h1{font-size:clamp(50px,10.8vw,76px);margin:25px 0}.hero-home .hero-lead{font-size:14px}.hero-cta{gap:19px}.hero-aside{margin-top:39px}.hero-visual{padding:0 0 40px;min-height:unset;width:100%;height:390px;justify-content:center}.portrait-stage{width:100%;height:100%;max-height:unset}.portrait-info{bottom:16px;left:18px}.portrait-info strong{font-size:15px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{min-height:80px;padding:15px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(3),.trust-item:nth-child(4){border-bottom:0}.trust-item:nth-child(3){padding-left:0}.trust-icon{font-size:22px;width:28px}.trust-item strong{font-size:10px}.trust-item small{font-size:9px}.section-space{padding:75px 0}.services-header{display:block}.services-header p{margin:19px 0 0}.section-heading{font-size:clamp(38px,9vw,56px)}.service-grid{grid-template-columns:1fr 1fr;gap:10px}.service-card{min-height:230px;padding:22px}.service-card h3{font-size:17px}.service-card p{font-size:12px}.process-head{display:block}.process-head p{margin-top:21px}.process-section{padding:74px 0}.process-grid{grid-template-columns:1fr;gap:0}.process-step{margin:0;padding:28px 0;border:0;border-bottom:1px solid rgba(255,255,255,.12)}.process-step:last-child{border-bottom:0}.process-step .num{font-size:27px}.process-step h3{margin:12px 0 6px}.process-step p{max-width:580px}.collection-spotlight{padding:55px 0}.collection-spotlight-grid{display:flex;flex-direction:column}.spotlight-copy{padding:48px 30px 39px}.spotlight-photo{min-height:290px;max-height:380px}.spotlight-photo::after{background:linear-gradient(180deg,#101f30 0%,transparent 34%)}.spotlight-sticker{right:15px;bottom:14px;font-size:10px;padding:13px}.ethos-grid{display:flex;flex-direction:column;gap:42px}.ethos-visual{min-height:310px;width:100%;padding:26px}.ethos-visual p{font-size:32px}.ethos-content{width:100%}.pricing-grid{grid-template-columns:1fr;gap:12px}.price-card{min-height:unset;padding:29px}.price-card p{margin-bottom:23px}.review-card{display:block;padding:29px}.review-card .button{margin-top:24px}.area-grid,.faq-layout,.contact-grid,.page-hero-columns,.about-layout{display:block}.area-map{margin-top:30px;height:290px}.faq-list{margin-top:27px}.contact-section{padding:80px 0}.contact-form{padding:24px;margin-top:42px}.contact-copy h2{font-size:53px}.page-hero{padding:72px 0 82px}.page-hero h1{font-size:clamp(50px,10vw,77px)}.hero-note-panel{margin-top:32px}.service-page-grid{grid-template-columns:1fr 1fr;gap:10px}.service-page-card{padding:23px}.service-cta-panel{display:block;padding:28px}.service-cta-panel .button{margin-top:25px}.about-hero{padding:65px 0 85px}.about-hero h1{font-size:clamp(48px,10vw,70px)}.about-photo{margin:40px auto 0;max-width:420px}.values-grid{grid-template-columns:1fr;gap:12px}.photo-banner{height:250px}.legal-layout{display:flex;flex-direction:column;padding:35px 0 75px}.legal-sidebar{position:static;width:100%;display:flex;gap:7px;overflow-x:auto;white-space:nowrap;padding-bottom:14px;margin-bottom:23px}.legal-sidebar .sidebar-title{display:none}.legal-sidebar a{flex-shrink:0;border-left:0;border-bottom:2px solid #d8e6ee;background:#fff;padding:11px}.legal-content{padding:30px 23px;width:100%}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:last-child{grid-column:auto}.footer-meta{display:block}.footer-meta .copyright{margin-top:13px}.cookie-banner{display:block;padding:17px 19px;left:11px;right:11px;bottom:11px}.cookie-actions{margin-top:14px;justify-content:flex-end}}
@media(max-width:420px){.brand-type strong{font-size:11px}.brand-type small{font-size:6.5px}.header-actions .button{padding:10px 9px;font-size:9.5px}.nav-toggle{padding:8px}.hero-home h1{font-size:48px}.hero-cta .button{width:100%}.service-grid,.service-page-grid{grid-template-columns:1fr}.service-card{min-height:0}.form-grid{grid-template-columns:1fr;gap:0}.footer-main{gap:23px}.footer-main p{font-size:11px}}
@media(max-width:720px){.portrait-float{top:59px;left:13px;width:198px;max-width:calc(100% - 115px);padding:12px 13px}.portrait-float strong{font-size:11.5px;line-height:1.42}.portrait-float small{font-size:8px;margin-bottom:5px}}
@media(max-width:359px){.site-header .header-inner{gap:5px}.brand{gap:5px}.brand img{width:31px;height:31px}.brand-type strong{font-size:9.7px;letter-spacing:.11em}.brand-type small{font-size:6px;letter-spacing:.13em}.header-actions .button{padding:9px 7px;font-size:9px}.nav-toggle{padding:7px}.portrait-float{top:55px;width:168px;max-width:calc(100% - 100px);padding:10px 11px}.portrait-float strong{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ABCS SOCIAL / CONTACT NAVIGATION: subtle header icons, helpful footer links,
   including WhatsApp (no floating chat button). */
.nav-main .nav-socials{display:inline-flex;align-items:center;align-self:center;gap:5px;margin-left:-12px;padding-left:11px;border-left:1px solid rgba(182,212,231,.22)}
.nav-main .nav-socials a{width:31px;height:31px;flex:none;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#c2d8e8;border:1px solid transparent;border-radius:6px;transition:color .18s,background .18s,border-color .18s,box-shadow .18s}
.nav-main .nav-socials a:hover,.nav-main .nav-socials a:focus-visible{color:#4dd0ff;background:rgba(37,159,209,.12);border-color:rgba(78,191,238,.38);box-shadow:0 0 19px rgba(49,176,225,.15)}
.nav-main .nav-socials svg{height:17px;width:17px;display:block}
.site-footer .footer-socials{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}
.site-footer .footer-socials a{display:inline-flex;align-items:center;gap:8px;padding:9px 11px;border-radius:5px;border:1px solid rgba(156,204,228,.19);background:rgba(159,209,232,.035);font:700 11px var(--heading);color:#abc5d7;transition:color .18s,border-color .18s,background .18s}
.site-footer .footer-socials a:hover,.site-footer .footer-socials a:focus-visible{color:#68d0f7;border-color:rgba(78,191,238,.38);background:rgba(78,191,238,.09)}
.site-footer .footer-socials svg{height:16px;width:16px;flex:none}
@media(max-width:720px){
 .nav-main .nav-socials{width:100%;align-self:stretch;gap:10px;margin:0;padding:14px 9px 0;border-left:0;border-top:1px solid rgba(255,255,255,.1)}
 .nav-main .nav-socials a{width:43px;height:43px;flex:none;padding:0;border:1px solid rgba(196,225,242,.20);border-radius:7px;background:rgba(255,255,255,.035)}
 .nav-main .nav-socials svg{height:19px;width:19px}
}
