:root{--ink:#1b1720;--body:#5f5566;--accent:#86649f;--line:#e7dcec;--bg:#f9f3fb;--glass:#ffffffb8;--dark:#17131c}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;background:linear-gradient(180deg,#f8f1fb 0,#f2ebfa 420px,#f6eff9 1100px,var(--bg) 1500px) no-repeat,var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:3px solid #a65bbb;outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* Header */
.site-head{position:sticky;top:0;z-index:10;background:#f9f3fbd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid #ffffff80}
.top{display:flex;align-items:center;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;min-height:44px;font-size:20px;font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.brand svg{width:34px;height:30px;flex:none;overflow:visible}
.nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}
.nav a{display:inline-flex;align-items:center;min-height:44px}
.nav a:hover{color:var(--accent)}
.lang{display:flex;gap:2px;padding:3px;border:1px solid #b9a8c390;border-radius:24px;background:#ffffff8f}
.lang button{min-width:40px;min-height:38px;border:0;border-radius:19px;background:none;font-size:12px;font-weight:750;color:#706778;cursor:pointer}
.lang button[aria-pressed=true]{background:#2d2533;color:#fff}
.menu-button{display:none;width:44px;height:44px;border:0;border-radius:50%;background:#ffffffc4;font-size:20px;color:var(--ink);cursor:pointer}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:0;border-radius:999px;background:var(--dark);color:#fff;font-size:15px;font-weight:650;cursor:pointer;transition:background .2s}
.btn:hover{background:#564462}
.link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600;text-decoration:underline;text-decoration-color:#a78fb6;text-underline-offset:5px}
.link:hover{color:var(--accent)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:26px}

/* Hero */
.lead{margin:20px 0 0;max-width:27em;font-size:clamp(16px,1.6vw,18px);color:#40384a}
.hero-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(54vw,920px));align-items:center;gap:0;padding-left:max(24px,calc((100% - 1072px)/2))}
.hero-home h1{margin:0;font-size:clamp(38px,3.7vw,56px);line-height:1.08;letter-spacing:-.05em;font-weight:800}
.hero-home h1 em{font-style:normal;color:#8f6ca3}
.hero-home .lead{max-width:24em}
.hero-home{position:relative}
.hero-home img{width:100%;height:auto}
.hero-hex img{height:auto}
.hero-hex{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(54vw,920px));align-items:center;padding-left:max(24px,calc((100% - 1072px)/2));overflow:hidden}
.hero-hex .pic{min-width:0}
.hero-hex h1{margin:0;font-size:clamp(52px,6.2vw,84px);line-height:1;letter-spacing:-.05em;font-weight:800}
.tag{margin:14px 0 0;font-size:clamp(11px,1.15vw,13px);font-weight:700;letter-spacing:.24em;color:var(--accent)}
.copy-hex{position:relative;z-index:1}

/* Photos melt into the page: eased fades on all edges */
.hero-home img{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 4.2%,rgba(0,0,0,0.076) 8.4%,rgba(0,0,0,0.210) 12.7%,rgba(0,0,0,0.397) 16.9%,rgba(0,0,0,0.603) 21.1%,rgba(0,0,0,0.790) 25.3%,rgba(0,0,0,0.924) 29.6%,rgba(0,0,0,0.988) 33.8%,rgba(0,0,0,1.000) 38.0%,rgba(0,0,0,1.000) 100.0%,rgba(0,0,0,0.988) 100.0%,rgba(0,0,0,0.924) 100.0%,rgba(0,0,0,0.790) 100.0%,rgba(0,0,0,0.603) 100.0%,rgba(0,0,0,0.397) 100.0%,rgba(0,0,0,0.210) 100.0%,rgba(0,0,0,0.076) 100.0%,rgba(0,0,0,0.012) 100.0%,rgba(0,0,0,0.000) 100.0%),linear-gradient(180deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 2.2%,rgba(0,0,0,0.076) 4.4%,rgba(0,0,0,0.210) 6.7%,rgba(0,0,0,0.397) 8.9%,rgba(0,0,0,0.603) 11.1%,rgba(0,0,0,0.790) 13.3%,rgba(0,0,0,0.924) 15.6%,rgba(0,0,0,0.988) 17.8%,rgba(0,0,0,1.000) 20.0%,rgba(0,0,0,1.000) 84.0%,rgba(0,0,0,0.988) 85.8%,rgba(0,0,0,0.924) 87.6%,rgba(0,0,0,0.790) 89.3%,rgba(0,0,0,0.603) 91.1%,rgba(0,0,0,0.397) 92.9%,rgba(0,0,0,0.210) 94.7%,rgba(0,0,0,0.076) 96.4%,rgba(0,0,0,0.012) 98.2%,rgba(0,0,0,0.000) 100.0%);mask-image:linear-gradient(90deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 4.2%,rgba(0,0,0,0.076) 8.4%,rgba(0,0,0,0.210) 12.7%,rgba(0,0,0,0.397) 16.9%,rgba(0,0,0,0.603) 21.1%,rgba(0,0,0,0.790) 25.3%,rgba(0,0,0,0.924) 29.6%,rgba(0,0,0,0.988) 33.8%,rgba(0,0,0,1.000) 38.0%,rgba(0,0,0,1.000) 100.0%,rgba(0,0,0,0.988) 100.0%,rgba(0,0,0,0.924) 100.0%,rgba(0,0,0,0.790) 100.0%,rgba(0,0,0,0.603) 100.0%,rgba(0,0,0,0.397) 100.0%,rgba(0,0,0,0.210) 100.0%,rgba(0,0,0,0.076) 100.0%,rgba(0,0,0,0.012) 100.0%,rgba(0,0,0,0.000) 100.0%),linear-gradient(180deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 2.2%,rgba(0,0,0,0.076) 4.4%,rgba(0,0,0,0.210) 6.7%,rgba(0,0,0,0.397) 8.9%,rgba(0,0,0,0.603) 11.1%,rgba(0,0,0,0.790) 13.3%,rgba(0,0,0,0.924) 15.6%,rgba(0,0,0,0.988) 17.8%,rgba(0,0,0,1.000) 20.0%,rgba(0,0,0,1.000) 84.0%,rgba(0,0,0,0.988) 85.8%,rgba(0,0,0,0.924) 87.6%,rgba(0,0,0,0.790) 89.3%,rgba(0,0,0,0.603) 91.1%,rgba(0,0,0,0.397) 92.9%,rgba(0,0,0,0.210) 94.7%,rgba(0,0,0,0.076) 96.4%,rgba(0,0,0,0.012) 98.2%,rgba(0,0,0,0.000) 100.0%);-webkit-mask-composite:source-in;mask-composite:intersect}
.hero-hex img{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 4.2%,rgba(0,0,0,0.076) 8.4%,rgba(0,0,0,0.210) 12.7%,rgba(0,0,0,0.397) 16.9%,rgba(0,0,0,0.603) 21.1%,rgba(0,0,0,0.790) 25.3%,rgba(0,0,0,0.924) 29.6%,rgba(0,0,0,0.988) 33.8%,rgba(0,0,0,1.000) 38.0%),linear-gradient(180deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 2.7%,rgba(0,0,0,0.076) 5.5%,rgba(0,0,0,0.210) 8.2%,rgba(0,0,0,0.397) 11.0%,rgba(0,0,0,0.603) 13.7%,rgba(0,0,0,0.790) 16.5%,rgba(0,0,0,0.924) 19.2%,rgba(0,0,0,0.988) 22.0%,rgba(0,0,0,1.000) 24.7%,rgba(0,0,0,1.000) 80.7%,rgba(0,0,0,0.988) 81.7%,rgba(0,0,0,0.924) 82.8%,rgba(0,0,0,0.790) 83.8%,rgba(0,0,0,0.603) 84.8%,rgba(0,0,0,0.397) 85.9%,rgba(0,0,0,0.210) 86.9%,rgba(0,0,0,0.076) 87.9%,rgba(0,0,0,0.012) 89.0%,rgba(0,0,0,0.000) 90.0%);mask-image:linear-gradient(90deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 4.2%,rgba(0,0,0,0.076) 8.4%,rgba(0,0,0,0.210) 12.7%,rgba(0,0,0,0.397) 16.9%,rgba(0,0,0,0.603) 21.1%,rgba(0,0,0,0.790) 25.3%,rgba(0,0,0,0.924) 29.6%,rgba(0,0,0,0.988) 33.8%,rgba(0,0,0,1.000) 38.0%),linear-gradient(180deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 2.7%,rgba(0,0,0,0.076) 5.5%,rgba(0,0,0,0.210) 8.2%,rgba(0,0,0,0.397) 11.0%,rgba(0,0,0,0.603) 13.7%,rgba(0,0,0,0.790) 16.5%,rgba(0,0,0,0.924) 19.2%,rgba(0,0,0,0.988) 22.0%,rgba(0,0,0,1.000) 24.7%,rgba(0,0,0,1.000) 80.7%,rgba(0,0,0,0.988) 81.7%,rgba(0,0,0,0.924) 82.8%,rgba(0,0,0,0.790) 83.8%,rgba(0,0,0,0.603) 84.8%,rgba(0,0,0,0.397) 85.9%,rgba(0,0,0,0.210) 86.9%,rgba(0,0,0,0.076) 87.9%,rgba(0,0,0,0.012) 89.0%,rgba(0,0,0,0.000) 90.0%);-webkit-mask-composite:source-in;mask-composite:intersect;width:100%;margin:-12% 0 -7%;pointer-events:none}
@media(max-width:760px){
 .hero-home img{-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 3.3%,rgba(0,0,0,0.076) 6.7%,rgba(0,0,0,0.210) 10.0%,rgba(0,0,0,0.397) 13.3%,rgba(0,0,0,0.603) 16.7%,rgba(0,0,0,0.790) 20.0%,rgba(0,0,0,0.924) 23.3%,rgba(0,0,0,0.988) 26.7%,rgba(0,0,0,1.000) 30.0%,rgba(0,0,0,1.000) 80.0%,rgba(0,0,0,0.988) 82.2%,rgba(0,0,0,0.924) 84.4%,rgba(0,0,0,0.790) 86.7%,rgba(0,0,0,0.603) 88.9%,rgba(0,0,0,0.397) 91.1%,rgba(0,0,0,0.210) 93.3%,rgba(0,0,0,0.076) 95.6%,rgba(0,0,0,0.012) 97.8%,rgba(0,0,0,0.000) 100.0%);mask-image:linear-gradient(180deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 3.3%,rgba(0,0,0,0.076) 6.7%,rgba(0,0,0,0.210) 10.0%,rgba(0,0,0,0.397) 13.3%,rgba(0,0,0,0.603) 16.7%,rgba(0,0,0,0.790) 20.0%,rgba(0,0,0,0.924) 23.3%,rgba(0,0,0,0.988) 26.7%,rgba(0,0,0,1.000) 30.0%,rgba(0,0,0,1.000) 80.0%,rgba(0,0,0,0.988) 82.2%,rgba(0,0,0,0.924) 84.4%,rgba(0,0,0,0.790) 86.7%,rgba(0,0,0,0.603) 88.9%,rgba(0,0,0,0.397) 91.1%,rgba(0,0,0,0.210) 93.3%,rgba(0,0,0,0.076) 95.6%,rgba(0,0,0,0.012) 97.8%,rgba(0,0,0,0.000) 100.0%)}
 .hero-hex img{-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 2.7%,rgba(0,0,0,0.076) 5.5%,rgba(0,0,0,0.210) 8.2%,rgba(0,0,0,0.397) 11.0%,rgba(0,0,0,0.603) 13.7%,rgba(0,0,0,0.790) 16.5%,rgba(0,0,0,0.924) 19.2%,rgba(0,0,0,0.988) 22.0%,rgba(0,0,0,1.000) 24.7%,rgba(0,0,0,1.000) 78.8%,rgba(0,0,0,0.988) 80.0%,rgba(0,0,0,0.924) 81.3%,rgba(0,0,0,0.790) 82.5%,rgba(0,0,0,0.603) 83.8%,rgba(0,0,0,0.397) 85.0%,rgba(0,0,0,0.210) 86.3%,rgba(0,0,0,0.076) 87.5%,rgba(0,0,0,0.012) 88.8%,rgba(0,0,0,0.000) 90.0%);mask-image:linear-gradient(180deg,rgba(0,0,0,0.000) 0.0%,rgba(0,0,0,0.012) 2.7%,rgba(0,0,0,0.076) 5.5%,rgba(0,0,0,0.210) 8.2%,rgba(0,0,0,0.397) 11.0%,rgba(0,0,0,0.603) 13.7%,rgba(0,0,0,0.790) 16.5%,rgba(0,0,0,0.924) 19.2%,rgba(0,0,0,0.988) 22.0%,rgba(0,0,0,1.000) 24.7%,rgba(0,0,0,1.000) 78.8%,rgba(0,0,0,0.988) 80.0%,rgba(0,0,0,0.924) 81.3%,rgba(0,0,0,0.790) 82.5%,rgba(0,0,0,0.603) 83.8%,rgba(0,0,0,0.397) 85.0%,rgba(0,0,0,0.210) 86.3%,rgba(0,0,0,0.076) 87.5%,rgba(0,0,0,0.012) 88.8%,rgba(0,0,0,0.000) 90.0%);margin-top:-20vw;margin-bottom:-10vw}
 .hero-home img{margin-top:-28px}
}

/* Sections */
.section{padding-top:88px}
.section h2{margin:0;font-size:clamp(28px,3.4vw,40px);line-height:1.15;letter-spacing:-.035em}
.intro{margin:12px 0 0;max-width:36em;color:var(--body);font-size:16px}
.card-glass{background:var(--glass);border:1px solid #fff;border-radius:18px;box-shadow:0 14px 34px #6d458f10}

/* Products */
.products{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}
.product{display:flex;flex-direction:column;align-items:flex-start;padding:30px;transition:transform .25s,box-shadow .25s}
.product h3{margin:0;font-size:clamp(23px,2.4vw,28px);line-height:1.2;letter-spacing:-.03em}
.product p{margin:10px 0 18px;color:var(--body);font-size:15px}
.product .more{margin-top:auto;font-size:15px;font-weight:650;text-decoration:underline;text-decoration-color:#a78fb6;text-underline-offset:5px}
.product .soon{margin-top:auto;font-size:14px;font-weight:600;color:#766b7e}
a.product:hover{transform:translateY(-3px);box-shadow:0 20px 42px #6d458f1c}

/* Services */
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:30px 0 0;padding:0;list-style:none}
.services li{padding-top:18px;border-top:1px solid #d8c8e0}
.services h3{margin:0 0 6px;font-size:18px;letter-spacing:-.02em}
.services p{margin:0;color:var(--body);font-size:15px}

/* Approach */
.approach{margin-top:88px;background:linear-gradient(120deg,#efe7f7,#fbf6fc 60%,#f6e9f4)}
.approach .wrap{padding-top:64px;padding-bottom:64px}
.approach h2{margin:0;max-width:18em;font-size:clamp(28px,3.4vw,40px);line-height:1.15;letter-spacing:-.035em}
.approach p{margin:14px 0 0;max-width:36em;color:var(--body);font-size:16px}

/* Contact */
.contact-form{display:none;gap:10px;max-width:520px;margin-top:22px}
.contact-form.open{display:grid}
.contact-form label{font-size:13px;font-weight:650;color:#51475a}
.contact-form input,.contact-form textarea{width:100%;padding:13px;border:1px solid #cec1d5;border-radius:10px;background:#fff;font-size:16px;color:var(--ink)}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form .btn{justify-self:start;margin-top:6px}
.notice{color:#75697c;font-size:13px}
.contact-who{margin:26px 0 0;color:#75697c;font-size:14px}

/* HEX page */
.features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;position:relative}
.features li{padding:24px 20px;text-align:center}
.features svg{width:44px;height:44px;fill:none;stroke:#a65fd0;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.features h2{margin:12px 0 6px;font-size:17px;line-height:1.3;letter-spacing:-.02em}
.features p{margin:0;color:var(--body);font-size:14px;line-height:1.5}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:30px 0 0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s}
.steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--dark);color:#fff;font-size:15px;font-weight:700}
.steps h3{margin:14px 0 4px;font-size:18px;letter-spacing:-.02em}
.steps p{margin:0;color:var(--body);font-size:15px}
.private{margin:30px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--body);font-size:15px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:30px}
.split h3{margin:0 0 12px;font-size:18px;letter-spacing:-.02em}
.split ul{margin:0;padding:0;list-style:none}
.split li{padding:11px 0;border-top:1px solid var(--line);color:#40384a;font-size:15px}

/* Footer */
.foot{margin-top:88px;padding:18px 0 28px;border-top:1px solid var(--line);color:#75697c;font-size:13px}

.foot .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 24px}
.foot a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-size:14px;font-weight:600}
.foot p{margin:0}

/* One entrance on page load */
@media(prefers-reduced-motion:no-preference){
 .enter{animation:enter .8s cubic-bezier(.2,.7,.2,1) both}
 .enter-img{animation:enterImg 1.1s cubic-bezier(.2,.7,.2,1) both}
 @keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
 @keyframes enterImg{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:760px){
 .top{min-height:64px;gap:8px}
 .brand{font-size:18px}.brand svg{width:30px;height:26px}
 .menu-button{display:block}
 .nav{display:none;position:absolute;top:64px;left:12px;right:12px;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px;background:#fdfafe;border-radius:14px;box-shadow:0 16px 36px #382b4925;font-size:16px}
 .nav.open{display:flex}
 .hero-home{grid-template-columns:1fr;padding:0}
 .hero-home .copy{padding:24px 24px 0}
 .hero-home img{margin-top:4px}
 .hero-hex{grid-template-columns:1fr;padding:0}
 .copy-hex{padding:20px 24px 0}
 .section{padding-top:60px}
 .products,.services,.steps,.split{grid-template-columns:1fr}
 .products{gap:12px}.services,.steps,.split{gap:24px}
 .product{padding:24px}
 .features{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}
 .features li{padding:18px 12px}
 .approach{margin-top:60px}.approach .wrap{padding-top:48px;padding-bottom:48px}
 .foot{margin-top:60px}
 .foot .wrap{flex-direction:column;align-items:flex-start}
}
