450;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#102b3b;background:#f7f8f6;--ink:#071d2b;--blue:#245e87;--cyan:#a4dbe3;--line:#d7e0e2}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid #38a5d4}button{cursor:pointer}header{height:94px;padding:0 4.5vw;display:flex;align-items:center;gap:32px;background:#fff;position:relative;z-index:10;border-bottom:1px solid var(--line)}.brand{margin-right:auto;display:flex}.brand img{object-fit:contain;width:165px;height:45px}nav{display:flex;gap:25px;font-size:14px}nav a:hover{color:#28789b}.header-actions{display:flex;gap:25px;align-items:center;font-size:14px}#language{border:0;background:none;padding:12px 0;color:#102b3b}#language span{color:#839299}.contact-link{border-bottom:1px solid;padding:8px 0}#menu{display:none;background:none;border:0;font-size:24px}.skip-link{position:fixed;top:-100px;z-index:100;background:white;padding:15px}.skip-link:focus{top:0}.cinema{height:calc(100svh - 94px);min-height:650px;background:radial-gradient(ellipse at 72% 40%,#14394b 0%,#071d2b 64%);position:relative;color:#fff;overflow:hidden}#scene{position:absolute;inset:0}#scene canvas{width:100%;height:100%;display:block}.hero-copy{position:relative;z-index:2;padding:10vh 0 0 5.5vw;width:55%;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600}.hero-copy .eyebrow{color:var(--cyan);margin-bottom:36px}h1,h2,h3,p{margin:0}h1{font-family:Manrope,sans-serif;font-size:clamp(42px,4.7vw,76px);font-weight:400;line-height:1.16;letter-spacing:-.055em}em{font-family:Georgia,serif;font-weight:400}h1 em{color:#b5dce1;letter-spacing:-.045em}.hero-copy p{font-size:16px;line-height:1.75;color:#b8cbd3;max-width:435px;margin-top:28px}.actions{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 23px;font-size:14px;border:1px solid transparent;transition:background .2s}.light{background:#eff8f8;color:#102b3b}.outline{border-color:#526975;color:#fff;background:transparent}.navy{background:var(--ink);color:white}.button:hover{background:#abd7df;color:#0a2434}.scene-label{position:absolute;bottom:115px;right:5.5vw;width:230px;border-left:1px solid #657a83;padding-left:20px}.scene-label span{font-size:12px;color:#aac3cb}.scene-label strong{display:block;font-size:20px;font-weight:400;margin:12px 0}.scene-label small{font-size:10px;letter-spacing:.1em;color:#99b3bd}.cinema-bottom{position:absolute;bottom:0;left:5.5vw;right:5.5vw;height:75px;border-top:1px solid #334d5a;display:flex;align-items:center;justify-content:space-between;gap:20px}.cinema-bottom>span{font-size:10px;letter-spacing:.16em}.cinema-bottom small{color:#9bb2bd;font-size:12px}.cinema-bottom button{border:0;background:none;color:#d9e5e8;font-size:12px;text-decoration:underline;text-underline-offset:5px}.intro{padding:110px 6vw}.intro .eyebrow{color:#597a8b;margin-bottom:25px}h2{font-family:Manrope,sans-serif;font-size:clamp(34px,4vw,60px);line-height:1.15;font-weight:400;letter-spacing:-.045em}.intro p{max-width:480px;line-height:1.7;margin:25px 0;color:#5b737f}footer{background:var(--ink);color:#cadbe1;padding:65px 6vw}.warm-scene{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:0;pointer-events:none}.warm-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,29,43,.92),rgba(7,29,43,.16));opacity:0}.static-story{padding:30px 6vw;background:#e9f1f3;display:flex;gap:30px;flex-wrap:wrap}.static-story span{font-size:14px}.scene-fallback{position:absolute;inset:0;display:grid;place-items:center;padding-left:48%;color:#c0e0e5;text-align:center;font-size:28px}.page{padding:80px 6vw 100px;min-height:65vh}.page>.eyebrow{color:#62808e;margin-bottom:22px}.page>p{color:#607785;max-width:640px;line-height:1.8;margin-top:24px}.page h1{font-size:clamp(42px,5vw,72px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.section-heading>a{font-size:14px;border-bottom:1px solid;padding-bottom:8px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{border-bottom:1px solid var(--line);padding-bottom:25px;display:block}.product-image{background:#eaf0f1;aspect-ratio:1.35;overflow:hidden;margin-bottom:22px}.product-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s;padding:20px}.product-card:hover img{transform:scale(1.04)}.product-card small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#638291}.product-card h3{font-size:20px;font-weight:500;line-height:1.4;margin-top:10px}.product-card p{font-size:14px;line-height:1.6;color:#667e88;margin:10px 0}.product-card .details{font-size:13px;color:#245e87}.catalog-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin:40px 0 22px}.catalog-controls label{font-size:12px;display:grid;gap:9px}input,select,textarea{border:1px solid #bacbd0;background:#fff;padding:14px;color:#173747;width:100%;border-radius:0;font-size:16px}textarea{min-height:130px;resize:vertical}.results{font-size:13px;color:#637c86;margin-bottom:30px}.empty{padding:60px;background:#eaf0f1;text-align:center;grid-column:1/-1}.brand-strip{padding:32px 6vw 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}.brand-strip a{font-size:22px;font-family:Manrope,sans-serif;color:#375667}.service-panel{background:#dfecef;padding:90px 6vw;display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.service-panel .eyebrow{margin-bottom:24px;color:#547582}.service-panel p{margin:25px 0;line-height:1.8;color:#526d7a}.service-list{display:grid;gap:0}.service-list a{border-bottom:1px solid #b2c7ce;padding:22px 0;font-size:20px;display:flex;gap:25px}.service-list span{font-size:12px;color:#688895}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:65px}footer h3{color:#fff;font-size:16px;margin-bottom:20px}footer p,footer a{font-size:14px;line-height:2;color:#a9c1cd}footer .footer-logo{background:white;padding:10px;width:175px;height:auto;margin-bottom:20px}footer .footer-bottom{margin-top:50px;padding-top:20px;border-top:1px solid #334d59;display:flex;justify-content:space-between;font-size:12px;color:#8ca5b3}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.form-grid label{font-size:14px;display:grid;gap:9px}.form-grid .full{grid-column:1/-1}.form-box{background:#eef3f3;padding:40px;margin-top:45px;max-width:850px}.form-box h2{font-size:32px;margin-bottom:30px}.form-box small{display:block;line-height:1.7;color:#647b87;font-size:12px}.form-box button{margin-top:25px}.form-message{margin-top:20px;font-size:15px;line-height:1.6}.form-message.error{color:#93413b}.detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px}.detail-media{background:#e9eff0;position:sticky;top:30px;height:450px}.detail-media img{width:100%;height:100%;object-fit:contain;padding:25px;mix-blend-mode:multiply}.detail h1{font-size:44px}.detail h2{font-size:25px;margin:35px 0 18px}.detail li{color:#526d7a;line-height:1.8;margin-bottom:8px}table{border-collapse:collapse;width:100%;font-size:14px}td{padding:14px 0;border-bottom:1px solid var(--line);line-height:1.6}td:first-child{padding-right:25px;color:#59717e}.breadcrumb{font-size:13px;color:#5b7b8b}.related{margin-top:90px}.text-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:45px}.text-layout p{line-height:1.85;color:#58707e;margin-bottom:24px}.content-block{padding:30px 0;border-bottom:1px solid var(--line)}.content-block h3{font-size:23px;font-weight:500;margin-bottom:15px}.content-block p{line-height:1.7;color:#5a7481}.process{display:flex;gap:0;margin:45px 0;flex-wrap:wrap}.process div{padding:25px;border:1px solid #c7d6db;flex:1;min-width:145px}.process span{display:block;font-size:12px;color:#688692;margin-bottom:18px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px}.contact-card{background:#e6eef0;padding:35px;line-height:2}.contact-card a{display:block}.notice{font-size:13px;line-height:1.7;color:#647b85;padding:18px 0}.article{max-width:850px}.article h2{font-size:28px;margin:35px 0 18px}.article p{line-height:1.85;color:#536f7d;margin:20px 0}.article a{text-decoration:underline}.brands-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.brands-grid a{padding:35px;background:#eaf0f1;border-bottom:2px solid #91bac7}.brands-grid h2{font-size:30px}.brands-grid p{margin-top:18px;font-size:14px;color:#627f8d}body.menu-open nav{display:flex}.no-motion .cinema{height:auto;min-height:680px}.no-motion .cinema-bottom>span{display:none}
@media(min-width:1500px){.hero-copy{padding-top:13vh}}@media(max-width:1100px){nav{gap:14px}nav a{font-size:12px}header{gap:20px;padding:0 4vw}.header-actions{gap:16px}h1{font-size:52px}.hero-copy{width:60%}.scene-label{right:4vw;width:180px}}@media(max-width:800px){header{height:76px}.brand img{width:145px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:25px;flex-direction:column;gap:23px;box-shadow:0 20px 30px #071d2b22}nav a{font-size:17px}#menu{display:block}.contact-link{display:none}.cinema{min-height:780px;height:calc(100svh - 76px)}.hero-copy{padding:42px 6vw 0;width:100%}.hero-copy .eyebrow{margin-bottom:22px}h1{font-size:clamp(37px,8vw,53px)}.hero-copy p{font-size:14px;max-width:340px;margin-top:18px;line-height:1.65}.actions{margin-top:22px;gap:8px}.button{font-size:12px;padding:0 17px;min-height:46px}.scene-label{bottom:105px;left:6vw;right:auto;width:auto}.scene-label strong{font-size:18px}.cinema-bottom{height:85px;left:6vw;right:6vw;flex-wrap:wrap;gap:0}.cinema-bottom>span{display:none}.cinema-bottom small{font-size:10px;width:66%}.cinema-bottom button{font-size:11px}.intro,.page{padding:65px 6vw}.grid{grid-template-columns:repeat(2,1fr);gap:20px}.service-panel,.text-layout,.contact-grid,.detail{grid-template-columns:1fr;gap:30px}.service-panel{padding:60px 6vw}.footer-top{grid-template-columns:1fr;gap:30px}.catalog-controls{grid-template-columns:1fr 1fr}.catalog-controls label:first-child{grid-column:1/-1}.brands-grid{grid-template-columns:1fr 1fr}.detail-media{position:relative;height:340px;top:0}.detail h1{font-size:36px}.form-box{padding:25px}.form-grid{grid-template-columns:1fr}.form-grid label{grid-column:1/-1}.section-heading{align-items:start;flex-direction:column;gap:20px}.brand-strip{gap:25px}.brand-strip a{font-size:18px}.footer-bottom{gap:15px;flex-direction:column}.product-card h3{font-size:17px}.product-image img{padding:8px}.warm-scene{object-position:65% center}.warm-shade{background:linear-gradient(180deg,#071d2bc9,transparent)} }@media(max-width:450px){.grid{grid-template-columns:1fr}.brands-grid{grid-template-columns:1fr}.hero-copy p{max-width:310px}.header-actions{gap:16px}.product-image{aspect-ratio:1.5}}

h1 em{color:#376579}.hero-copy h1 em{color:#b5dce1}.honeypot{position:absolute;left:-10000px;opacity:0;pointer-events:none}.related h2{margin-bottom:35px}.brand-strip a:hover{color:#277aa1}@media(max-width:800px){.cinema{height:calc(100svh - 76px);min-height:650px}.hero-copy{padding-top:35px}.hero-copy h1{font-size:clamp(35px,6.5vw,49px)}.scene-label{bottom:90px;left:auto;right:6vw}.scene-label strong{font-size:15px}.scene-label small{font-size:9px}}

html,body{overflow-x:clip}header{position:sticky;top:0}.form-box,#main{scroll-margin-top:110px}.fallback-poster{position:absolute;width:50%;height:72%;right:3%;top:12%;object-fit:contain;mix-blend-mode:lighten}.static-caption{position:absolute;bottom:100px;right:6vw;max-width:270px;font-size:14px;line-height:1.7;color:#adcbd4}.static-story img{height:130px;width:220px;object-fit:cover}.no-motion .cinema{height:calc(100svh - 94px)}@media(max-width:800px){.fallback-poster{width:70%;height:35%;top:auto;bottom:85px}.static-caption{display:none}.no-motion .cinema{height:calc(100svh - 76px);min-height:650px}.form-box,#main{scroll-margin-top:90px}}

.newborn-scene{transform:scaleX(-1)}.form-box .button{margin-right:10px;margin-bottom:10px}

.fallback-poster{inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}.static-caption{display:none}.scene-label{pointer-events:none}@media(max-width:800px){.scene-label{right:auto;left:6vw;bottom:92px;border-left:0;padding-left:0;width:150px}.scene-label strong{max-width:130px}.scene-label small{font-size:8px}}

.fallback-poster{inset:auto;right:3%;top:12%;width:49%;height:78%;mix-blend-mode:lighten}@media(max-width:800px){.fallback-poster{width:68%;height:36%;right:0;top:auto;bottom:100px}.static-story img{width:145px;height:110px}.scene-label{max-width:145px}}

.warm-shade{background:linear-gradient(90deg,rgba(7,29,43,.92),rgba(7,29,43,.10)),linear-gradient(0deg,rgba(7,29,43,.68),transparent 45%)}

/* Flowing chapters: the page always scrolls, including while the 3D story plays. */
.cinema{background:radial-gradient(ellipse at 77% 45%,#214d61 0%,#0b293b 36%,#061b2a 75%);min-height:740px}.hero-copy{width:53%;padding-top:11vh}.hero-copy h1{font-size:clamp(42px,4.5vw,72px)}.scene-label{width:275px;bottom:108px;right:5vw;border:0;padding:0}.scene-label strong{font-size:17px;margin:9px 0}.cinema-bottom>span:before{content:'↓';font-size:18px;margin-right:18px}.flow-story{position:relative}.story-chapter{display:grid;grid-template-columns:1fr 1.18fr;min-height:850px;position:relative;overflow:hidden}.story-chapter.dark{background:#082332;color:#eaf4f2}.story-chapter.pale{background:#e6eeec;color:#153e4b}.story-chapter.reverse .chapter-copy{order:2}.chapter-copy{padding:140px 5.5vw 110px;position:relative;align-self:center;z-index:1}.chapter-index{display:block;font-size:11px;letter-spacing:.18em;margin-bottom:72px;opacity:.5}.chapter-copy .eyebrow{font-size:10px;color:#7ca6b6;margin-bottom:26px}.chapter-copy h2{font-size:clamp(36px,3.7vw,60px);line-height:1.14}.chapter-copy h2 em{color:#a8d3d6}.pale .chapter-copy h2 em{color:#4f8084}.chapter-copy p{font-size:15px;line-height:1.85;max-width:370px;margin:30px 0 38px;color:#a8c1ca}.pale .chapter-copy p{color:#526f77}.story-link{display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid #446976;padding-bottom:12px;font-size:13px}.story-link span{font-size:22px;transition:transform .3s}.story-link:hover span{transform:translate(4px,-4px)}.chapter-visual{position:relative;min-width:0;min-height:670px;background:radial-gradient(ellipse,#27516155,transparent 70%)}.pale .chapter-visual{background:radial-gradient(ellipse,#779d9d44,transparent 68%)}.chapter-visual canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.visual-caption{position:absolute;left:7%;right:7%;bottom:65px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #6b909544;padding-top:22px;font-size:9px;letter-spacing:.12em;color:#8aabb5;pointer-events:none}.stage-readout{font-size:13px;letter-spacing:.08em}.pale .visual-caption{color:#4d727a}.equipment-bridge{padding:48px 5.5vw;background:#f5f7f4;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:40px;align-items:center;border-bottom:1px solid #d6e1df}.equipment-bridge .eyebrow{font-size:9px;color:#64828a}.equipment-bridge h3{font-family:Manrope,sans-serif;font-size:27px;font-weight:400;margin-top:14px;letter-spacing:-.04em}.equipment-bridge>a{display:flex;align-items:center;gap:20px;font-size:11px;color:#668089}.equipment-bridge img{width:95px;height:95px;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s}.equipment-bridge a:hover img{transform:scale(1.08)}.equipment-bridge strong{display:block;font-size:14px;font-weight:500;color:#153c4b;margin-top:5px}.equipment-bridge b{margin-left:auto;font-size:20px;font-weight:400}.life-chapter{background:#efece4;display:grid;grid-template-columns:1fr 1fr;position:relative}.life-image{height:760px;overflow:hidden}.life-image img,.new-life-image img{width:100%;height:100%;object-fit:cover}.life-copy{align-self:center;padding:90px 6vw}.life-copy .eyebrow{font-size:10px;color:#8c8373;margin-bottom:32px}.life-copy h2{font-size:clamp(38px,3.8vw,58px);color:#3d4e4d}.life-copy em{color:#7f8d79}.life-copy p{margin-top:30px;color:#707c72;font-size:15px;line-height:1.8}.life-copy small{display:block;margin-top:35px;color:#93988c;font-size:11px;line-height:1.7}.new-life-image{grid-column:1/-1;height:580px;overflow:hidden}.new-life-image img{object-position:center 45%}.chapter-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10%;mix-blend-mode:lighten}.pale .chapter-fallback{mix-blend-mode:multiply}#scene>.chapter-fallback{left:52%;width:45%;padding:2%}.chapter-visual:after{content:'';position:absolute;inset:8% 7% 16%;border:1px solid #79a6b113;border-radius:50%;pointer-events:none}
@media(max-width:1100px) and (min-width:801px){.hero-copy{width:54%}.hero-copy h1{font-size:48px}.story-chapter{min-height:740px}.chapter-copy{padding:80px 5vw}.chapter-copy h2{font-size:40px}.equipment-bridge{gap:20px}.equipment-bridge img{width:70px;height:70px}}
@media(max-width:800px){.cinema{min-height:880px;height:calc(100svh - 76px)}.hero-copy{width:100%;padding:36px 6vw 0}.hero-copy h1{font-size:clamp(35px,7.5vw,50px)}.hero-copy p{max-width:340px;font-size:14px}.scene-label{left:6vw;right:auto;bottom:98px;width:275px;max-width:none}.scene-label strong{max-width:none;font-size:15px}.scene-label small{font-size:8px}#scene{top:390px;bottom:130px}.cinema-bottom small{width:65%}.story-chapter{grid-template-columns:1fr;min-height:0}.chapter-copy,.story-chapter.reverse .chapter-copy{order:0;padding:65px 7vw 20px}.chapter-index{margin-bottom:30px}.chapter-copy h2{font-size:42px}.chapter-copy p{margin:22px 0;font-size:14px;max-width:400px}.chapter-visual{height:510px;min-height:0}.visual-caption{bottom:35px}.equipment-bridge{grid-template-columns:1fr;padding:40px 7vw;gap:25px}.equipment-bridge>a{border-top:1px solid #d7e1df;padding-top:20px}.equipment-bridge img{width:80px;height:80px}.life-chapter{grid-template-columns:1fr}.life-image{height:500px}.life-copy{padding:60px 7vw}.new-life-image{height:380px}#scene>.chapter-fallback{left:0;width:100%;padding:0}.chapter-visual:after{inset:8% 7% 18%}.no-motion .cinema{min-height:880px}}
@media(prefers-reduced-motion:reduce){.equipment-bridge img,.story-link span{transition:none}}
.scene-label{top:55px;bottom:auto}.chapter-fallback{mix-blend-mode:normal}#scene>.fallback-poster{object-fit:contain;opacity:.8}.pale .chapter-fallback{mix-blend-mode:multiply}
@media(max-width:800px){.scene-label{top:auto;bottom:98px}#scene>.fallback-poster{inset:0;width:100%;height:100%}}
@media(max-width:800px){.cinema,.no-motion .cinema{min-height:760px}#scene{top:335px;bottom:135px}.scene-label{bottom:95px}.chapter-visual{height:460px}}
@media(max-width:800px){.scene-label{bottom:105px;width:auto}.scene-label strong,.scene-label small{display:none}}
.culture-bridge{background:#f5f7f4;display:grid;grid-template-columns:1.3fr 1fr;gap:6vw;padding:65px 6vw}.culture-product{display:flex;gap:35px;align-items:center}.culture-product img{width:40%;height:220px;object-fit:contain;mix-blend-mode:multiply}.culture-bridge .eyebrow{font-size:9px;color:#64828a}.culture-bridge h3{font-family:Manrope,sans-serif;font-size:27px;letter-spacing:-.035em;font-weight:400;margin:15px 0 20px}.culture-product p{font-size:13px;line-height:1.7;color:#63808a;margin-bottom:25px}.culture-service>a{display:flex;justify-content:space-between;border-bottom:1px solid #cad9d9;padding:13px 0;font-size:13px;color:#50717c}@media(max-width:800px){.culture-bridge{grid-template-columns:1fr;padding:45px 7vw;gap:45px}.culture-product{gap:20px}.culture-product img{height:180px;width:35%}.culture-bridge h3{font-size:23px}}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Medikal Tim v2 — "one motif" direction, brand palette, one face (Manrope). */
:root{
  /* Logo colours: blue #1590d0, pink #e07fbf. Text-safe blue for buttons: #0f78b0. */
  --bg:#f7fafc;--surface:#e7f0f5;--ink:#0e2533;--muted:#4a6270;
  --accent:#0f78b0;--accent-ink:#ffffff;--brand:#1590d0;--pink:#e07fbf;--pink-soft:#f6d9eb;--blue-soft:#cfe7f5;
  --field-1:#ffffff;--field-1-ink:#0e2533;--field-muted:#4a6270;--field-2:#dbe7ee;--dark:#071a24;
  --step-small:clamp(1rem,.95rem + .1vw,1.0625rem);
  --step-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --step-lead:clamp(1.25rem,1.1rem + .7vw,1.625rem);
  --step-head:clamp(2rem,1.3rem + 3.2vw,4rem);
  --step-display:clamp(3.5rem,10vw,10rem);
  --margin:clamp(16px,2.2vw,32px);--gap-section:clamp(96px,12vw,200px);
  --ease:cubic-bezier(.23,1,.32,1);
  --z-header:50;--z-menu:60;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:var(--step-body);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:Manrope,system-ui,sans-serif;font-weight:600;letter-spacing:-.03em;line-height:1.02;text-wrap:balance;margin:0}
h2{font-size:var(--step-head)}
h3{font-size:var(--step-lead);letter-spacing:-.015em;line-height:1.15}
p{text-wrap:pretty}
em{font-style:normal}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Header: wordmark, four links, one action. Plain bar, no glass. */
body > header{position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:32px;height:76px;padding:0 var(--margin);background:var(--bg);border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body > header .brand{display:flex;align-items:center;padding:0;background:none}
body > header .brand img{display:block;width:150px;height:auto}
body > header nav{display:flex;gap:28px;margin-left:auto}
body > header nav a,body > header nav a[aria-current="page"]{font-size:var(--step-small);font-weight:500;color:var(--muted);text-decoration:none;border:0;padding:8px 0;background:none;transition:color .2s var(--ease)}
body > header nav a:hover,body > header nav a[aria-current="page"]{color:var(--ink)}
body > header nav a::after{display:none}
body > header .header-actions{display:flex;align-items:center;gap:16px}
body > header #language{font:500 var(--step-small)/1 Manrope,sans-serif;color:var(--ink);background:none;border:0;padding:10px 4px;cursor:pointer}
body > header #language span{color:var(--muted)}
body > header .contact-link,.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;font:600 var(--step-small)/1 Manrope,sans-serif;color:var(--accent-ink);background:var(--accent);border:0;border-radius:999px;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),background-color .2s var(--ease)}
body > header .contact-link:hover,.btn:hover{background:var(--ink);color:#fff}
body > header .contact-link:active,.btn:active{transform:translateY(1px) scale(.98)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--brand);color:var(--ink)}
body > header #menu{display:none}
@media (max-width:1100px){
  body > header nav{position:fixed;inset:76px 0 auto 0;z-index:var(--z-menu);flex-direction:column;gap:0;margin:0;padding:8px var(--margin) 24px;background:var(--bg);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
  body.menu-open > header nav{opacity:1;visibility:visible;transform:none}
  body > header nav a{font-size:var(--step-lead);padding:14px 0}
  body > header .header-actions{margin-left:auto}
  body > header #menu{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--surface);border:0;color:var(--ink);cursor:pointer}
  body > header .contact-link{display:none}
}

/* Header stays dark once scrolled. */
body > header.is-scrolled{background:var(--bg)!important;box-shadow:none!important;border:0!important}
body > header.is-scrolled nav a{color:var(--muted)}
body > header.is-scrolled nav a:hover,body > header.is-scrolled nav a[aria-current="page"]{color:var(--ink)}
body > header.is-scrolled #language{color:var(--ink)}
.skip-link{background:var(--accent);color:var(--accent-ink)}

/* Hero — the ocular's round field of view, entering from the right. */
.ocular{position:relative;display:flex;align-items:center;min-height:calc(100svh - 76px);padding:clamp(48px,8vh,96px) var(--margin);overflow:hidden;background:var(--bg)}
.ocular-copy{position:relative;z-index:1;max-width:min(46vw,680px)}
.ocular-copy h1{font-size:clamp(3rem,7vw,7.5rem);font-weight:600;letter-spacing:-.045em;line-height:.95;color:var(--ink)}
.ocular-copy p{max-width:42ch;margin:28px 0 0;font-size:var(--step-lead);line-height:1.45;color:var(--ink)}
.ocular-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:40px}
.text-link{font-weight:600;color:var(--accent);text-decoration:none;transition:color .2s var(--ease)}
.text-link:hover{color:var(--ink)}
.ocular-field{position:absolute;top:50%;right:calc(-1 * min(38vh,30vw));width:min(120vh,96vw);aspect-ratio:1;transform:translateY(-50%)}
.ocular-lens{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:var(--blue-soft)}
.ocular-lens img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.ocular-dot{position:absolute;left:9%;top:12%;width:14%;aspect-ratio:1;border-radius:50%;background:var(--pink)}
@media (max-width:860px){
  .ocular{flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:0;padding-top:8px;padding-bottom:64px}
  .ocular-field{position:relative;top:auto;right:auto;order:-1;align-self:flex-end;width:88vw;margin:0 -28vw 8px 0;transform:none}
  .ocular-copy{max-width:none}
  .ocular-copy h1{font-size:clamp(2.6rem,12vw,4rem)}
  .ocular-copy p{font-size:var(--step-body)}
  .ocular-actions .btn{flex:1 1 100%;justify-content:center}
}

/* Live thing — the first five days in the lens. */
.embryo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(32px,6vw,96px);padding:var(--gap-section) var(--margin);background:var(--bg)}
.embryo-copy h2{max-width:12ch}
.embryo-copy > p{max-width:40ch;margin:24px 0 0}
.embryo-stage{display:grid;gap:6px;min-height:6.5em;margin:40px 0 0!important}
.embryo-stage strong{font-size:var(--step-lead);font-weight:600;color:var(--accent)}
.embryo-stage span{color:var(--ink)}
.embryo-note{margin:16px 0 24px!important;font-size:var(--step-small);color:var(--muted)}
.embryo-view{display:grid;justify-items:center;gap:20px}
.embryo-lens{position:relative;width:min(100%,64vh);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#c9cbbb;border:14px solid var(--blue-soft);outline:14px solid var(--pink-soft)}
.embryo-lens .microscopy-canvas{position:absolute;inset:0;width:100%;height:100%}
.embryo-fallback{width:100%;height:100%;object-fit:cover}
.embryo-lens.is-live .embryo-fallback{display:none}
.embryo input[type=range]{-webkit-appearance:none;appearance:none;width:min(100%,64vh);height:32px;margin:24px 0 0;padding:0;border:0;background:none;cursor:pointer;--p:0%}
.embryo input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(var(--accent),var(--accent)) 0/var(--p) 100% no-repeat,var(--surface)} /* taste-skill-ignore: progress fill of a real range input */
.embryo input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--surface)}
.embryo input[type=range]::-moz-range-progress{height:8px;border-radius:999px;background:var(--accent)}
.embryo input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:32px;margin-top:-12px;border-radius:50%;background:var(--pink);border:0}
.embryo input[type=range]::-moz-range-thumb{width:32px;height:32px;border-radius:50%;background:var(--pink);border:0}
.embryo-days{display:flex;justify-content:space-between;width:min(100%,64vh);font-size:var(--step-small);color:var(--muted)}
.embryo-days .is-on{color:var(--ink);font-weight:600}
@media (max-width:860px){
  .embryo{grid-template-columns:1fr}
  .embryo-lens{width:min(86vw,420px)}
  .embryo input[type=range]{width:min(86vw,420px)}
  .embryo input[type=range]::-webkit-slider-thumb{width:40px;height:40px;margin-top:-16px}
  .embryo-days{width:min(86vw,420px)}
}

/* Service rows — circle bullets in the logo's two colours. */
.service-rows{padding:var(--gap-section) var(--margin);background:var(--field-1)}
.service-rows h2{max-width:16ch}
.service-rows ol{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;list-style:none;margin:64px 0 56px;padding:0}
.service-rows li{display:grid;grid-template-columns:28px 1fr;column-gap:20px}
.service-rows li::before{content:"";grid-row:1/3;width:20px;height:20px;margin-top:6px;border-radius:50%;background:var(--brand)}
.service-rows li:nth-child(even)::before{background:var(--pink)}
.service-rows strong{font-size:var(--step-lead);font-weight:600;line-height:1.25}
.service-rows p{margin:8px 0 0;max-width:46ch}
@media (max-width:760px){.service-rows ol{grid-template-columns:1fr;gap:32px}}

/* Footer mark — the real logo, its two colours as circles. */
.foot-mark{position:relative;display:flex;flex-direction:column;gap:20px;min-height:260px;padding:48px 0;overflow:hidden}
.foot-mark img{position:relative;z-index:1;width:254px;height:auto;padding:20px 28px;background:#fff;border-radius:24px;box-sizing:content-box}
.foot-mark p{position:relative;z-index:1;max-width:36ch;margin:0;font-size:var(--step-lead);line-height:1.4;color:var(--ink)}
.foot-circle{position:absolute;border-radius:50%}
.foot-circle.blue{right:6%;top:-40%;width:min(420px,48vw);aspect-ratio:1;background:var(--brand)}
.foot-circle.pink{right:calc(6% + min(320px,38vw));bottom:-30%;width:min(200px,26vw);aspect-ratio:1;background:var(--pink)}
body > footer{background:var(--surface)!important;color:var(--ink)!important}
.foot-cols a{color:var(--ink)}
.foot-cols a:hover{color:var(--accent)}
@media (max-width:760px){.foot-circle.blue{top:auto;bottom:-30%;right:-20%}.foot-circle.pink{display:none}.foot-mark img{width:200px}}

/* Showcase — object on a disc, index with preview. */
.showcase{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:var(--margin);padding:clamp(72px,9vw,140px) var(--margin);background:var(--field-1);color:var(--field-1-ink)}
.showcase-list{list-style:none;margin:0;padding:0;font-size:clamp(28px,2.9vw,44px);line-height:1.15;font-weight:600;letter-spacing:-.03em}
.showcase-list li:first-child{color:var(--field-muted);margin-bottom:.4em}
.showcase-list button{all:unset;cursor:pointer;color:var(--field-muted);transition:color .24s var(--ease)}
.showcase-list button:hover,.showcase-list button[aria-pressed="true"]{color:var(--field-1-ink)}
.showcase-list button:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.showcase-stage{position:relative;display:grid;place-items:center;min-height:72vh}
.showcase-disc{position:absolute;width:min(64vh,90%);aspect-ratio:1;border-radius:50%;background:var(--disc,var(--blue-soft));transition:background-color .3s var(--ease)}
.showcase-stage figure{position:relative;margin:0;width:min(78vh,100%);display:grid}
.showcase-stage img{grid-area:1/1;width:100%;height:auto;mix-blend-mode:multiply;opacity:0;transform:scale(.97);transition:opacity .3s var(--ease),transform .4s var(--ease)}
.showcase-stage img.is-on{opacity:1;transform:none}
.showcase-fact{max-width:34ch;min-height:7.5em;margin:40px 0 0;font-size:var(--step-body);line-height:1.5;color:var(--field-1-ink)}
.showcase-fact a{display:block;margin-top:10px;font-weight:600;color:var(--field-1-ink)}
@media (max-width:860px){
  .showcase{grid-template-columns:1fr;min-height:0}
  .showcase-stage{order:-1;min-height:0}
  .showcase-disc{width:86vw}
  .showcase-list{display:flex;gap:24px;overflow-x:auto;font-size:26px;white-space:nowrap;padding-bottom:8px;scroll-snap-type:x mandatory}
  .showcase-list li{scroll-snap-align:start}
  .showcase-list li:first-child{margin:0}
  .showcase-fact{position:static;max-width:none;font-size:16px}
}

/* Catalogue list — two columns, photo bullets. */
.menu{padding:var(--gap-section) var(--margin);background:var(--bg)}
.menu > h2{max-width:16ch;margin-bottom:24px}
.menu > p{max-width:58ch;margin:0;color:var(--ink)}
.menu-cat{margin-top:96px}
.menu-cat-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:40px}
.menu-cat-head h3{font-size:clamp(32px,3.4vw,50px);letter-spacing:-.03em}
.menu-cat-head span{font-size:var(--step-small);color:var(--muted)}
.menu-items{display:grid;grid-template-columns:1fr 1fr;gap:36px 64px;list-style:none;margin:0;padding:0}
.menu-items a{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:start;text-decoration:none;color:inherit}
.menu-items img{width:72px;height:72px;object-fit:cover;border-radius:50%;background:var(--field-1);transition:transform .3s var(--ease)}
.menu-items a:hover img{transform:scale(1.08)}
.menu-items strong{display:flex;justify-content:space-between;gap:12px;font-size:18px;font-weight:600}
.menu-items strong span{font-weight:500;color:var(--accent);white-space:nowrap}
.menu-items p{margin:6px 0 0;max-width:42ch;font-size:16px;line-height:1.5;color:var(--ink)}
.menu-items a:hover strong{color:var(--accent)}
@media (max-width:760px){
  .menu-items{grid-template-columns:1fr}
  .menu-items a{grid-template-columns:52px 1fr;gap:16px}
  .menu-items img{width:52px;height:52px}
  .menu-cat-head h3{font-size:8.5vw}
}

/* About — inset panel, shaped picture. */
.about-panel{position:relative;display:grid;grid-template-columns:63% 1fr;margin:20px;min-height:92svh;overflow:hidden;background:var(--surface)}
.about-panel h2{padding:56px;max-width:14ch;font-size:clamp(40px,4.4vw,64px);color:var(--ink)}
.about-shape{position:absolute;left:56px;bottom:-9vw;width:40vw;aspect-ratio:1;border-radius:50%;overflow:hidden}
.about-shape img{width:100%;height:100%;object-fit:cover}
.about-text{padding:56px 56px 56px 0;display:flex;flex-direction:column;gap:64px;max-width:360px}
.about-text h3{font-size:22px;margin-bottom:12px}
.about-text p{margin:0;color:var(--ink);font-size:16px}
.about-text .btn{align-self:flex-start}
@media (max-width:860px){
  .about-panel{grid-template-columns:1fr;margin:10px;min-height:0;padding-bottom:86vw}
  .about-panel h2{padding:40px 20px 0;font-size:8.5vw}
  .about-text{padding:32px 20px;max-width:none;gap:32px}
  .about-shape{left:50%;bottom:-21vw;width:86vw;transform:translateX(-50%)}
}

/* Contact — clip-out coupon. */
.coupon-wrap{padding:120px var(--margin)}
.coupon{display:grid;grid-template-columns:46% 1fr;max-width:1180px;margin:0 auto;background:var(--accent);color:var(--accent-ink);-webkit-mask:radial-gradient(circle 14px at 46% 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 46% 100%,#0000 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 14px at 46% 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 46% 100%,#0000 98%,#000) bottom/100% 51% no-repeat} /* taste-skill-ignore: masks cut the coupon notches, not a visible gradient */
.coupon-copy{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:48px;border-right:5px dotted var(--bg)}
.coupon-copy h2{font-size:clamp(28px,3vw,44px);max-width:14ch}
.coupon-copy p{margin:0;font-size:16px;max-width:40ch}
.coupon-copy a{color:inherit;font-weight:600}
.coupon form{display:grid;gap:10px;padding:48px}
.coupon input,.coupon textarea{width:100%;min-height:52px;padding:14px 16px;font:400 16px/1.4 Manrope,sans-serif;color:var(--ink);background:#ffffff;border:0;border-radius:0}
.coupon textarea{min-height:96px;resize:vertical}
.coupon input::placeholder,.coupon textarea::placeholder{color:var(--muted)}
.coupon button{min-height:56px;font:600 16px/1 Manrope,sans-serif;color:#fff;background:var(--ink);border:0;border-radius:999px;cursor:pointer;transition:background-color .2s var(--ease),transform .2s var(--ease)}
.coupon button:hover{background:#000}
.coupon button:active{transform:translateY(1px)}
.coupon .form-status{min-height:1.5em;margin:4px 0 0;font-size:var(--step-small)}
.sr-only,.coupon .sr-only{position:absolute;min-height:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:760px){
  .coupon-wrap{padding:72px 12px}
  .coupon{grid-template-columns:1fr;-webkit-mask:radial-gradient(circle 14px at 0 46%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 46%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 14px at 0 46%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 46%,#0000 98%,#000) right/51% 100% no-repeat} /* taste-skill-ignore */
  .coupon-copy{padding:32px 24px;border-right:0;border-bottom:5px dotted var(--bg)}
  .coupon form{padding:32px 24px}
  .coupon input,.coupon button{min-height:54px}
}

/* Footer — the mark, built large. */
body > footer{padding:clamp(64px,8vw,120px) var(--margin) 32px;background:var(--bg);color:var(--ink);border:0}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr) 2fr;gap:24px;margin-top:56px;font-size:16px}
.foot-cols h3{font-size:16px;font-weight:600;letter-spacing:0;margin-bottom:12px;color:var(--muted)}
.foot-cols a{display:block;padding:4px 0;color:var(--ink);text-decoration:none}
.foot-cols a:hover{color:var(--accent)}
.foot-cols address{font-style:normal;line-height:1.7}
.foot-last{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:56px;font-size:var(--step-small);color:var(--muted)}
.foot-last .btn{min-height:40px;padding:0 16px}
@media (max-width:760px){
  .foot-cols{grid-template-columns:1fr 1fr}
  .foot-cols > :last-child{grid-column:1/-1}
}

/* Entrance and reduced motion. */
.rise{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0ms)}
.rise.is-in{opacity:1;transform:none}
.no-js .rise{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rise{opacity:1;transform:none;transition:none}
  .showcase-stage img,.menu-items img{transition:none}
}
body > header #menu .menu-lines i{background:var(--ink)}

/* Inner pages — same ground, same face, no boxes. */
body main.page{max-width:none;min-height:70vh;padding:clamp(56px,7vw,112px) var(--margin) var(--gap-section);background:var(--bg);color:var(--ink)}
body .page-head{position:static;display:block;height:auto;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;max-width:1100px;margin-bottom:clamp(48px,6vw,96px)}
body .page-head h1{font-size:clamp(2.75rem,1.6rem + 4.6vw,6.5rem);font-weight:600;letter-spacing:-.045em;line-height:.98;color:var(--ink);max-width:none}
body .page-head p{max-width:56ch;margin:28px 0 0;font-size:var(--step-lead);line-height:1.45;color:var(--ink)}
body main.page h2{font-size:clamp(1.9rem,1.3rem + 2vw,3rem);color:var(--ink);margin:0 0 24px}
body main.page h3{color:var(--ink)}
body main.page p,body main.page li{color:var(--ink);font-size:var(--step-body);line-height:1.55}
body main.page a{color:var(--accent)}
body main.page .notice{max-width:70ch;padding:24px 0 0;font-size:var(--step-small);line-height:1.6;color:var(--muted)}
body main.page .notice a{color:var(--muted);text-decoration:underline}
body .breadcrumb{margin-bottom:32px;font-size:var(--step-small);color:var(--muted)}
body .breadcrumb a{color:var(--muted)}
/* Buttons everywhere share one shape. */
body .button,body .button.navy,body .button.light,body .button.outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin:0 10px 10px 0;padding:0 22px;font:600 var(--step-small)/1 Manrope,sans-serif;color:var(--accent-ink);background:var(--accent);border:0;border-radius:999px;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease),transform .2s var(--ease)}
body .button:hover{background:var(--ink);color:#fff}
body .button:active{transform:translateY(1px) scale(.98)}
body .button:not(.navy):not(.light){background:var(--surface);color:var(--ink)}
body .button:not(.navy):not(.light):hover{background:var(--blue-soft)}
body .actions{display:flex;flex-wrap:wrap;margin-top:32px}
/* Catalogue controls: real form fields keep their own edges. */
body .catalog-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:0 0 24px;padding:0;background:none;border:0}
body .catalog-controls label{display:grid;gap:8px;font-size:var(--step-body);color:var(--ink)}
body .page input,body .page select,body .page textarea{width:100%;min-height:52px;padding:12px 16px;font:400 16px/1.4 Manrope,sans-serif;color:var(--ink);background:var(--surface);border:0;border-bottom:2px solid #b9cdd8;border-radius:0}
body .page input:focus,body .page select:focus,body .page textarea:focus{outline:0;border-bottom-color:var(--accent)}
body .page select option{background:var(--surface);color:var(--ink)}
body .results{margin:48px 0 0;font-size:var(--step-body);color:var(--ink)}
body #catalog-results .menu-cat:first-child{margin-top:48px}
body #catalog-results > .menu-items{margin-top:48px}
body .page .menu-items p{color:var(--muted);font-size:16px}
body .empty{padding:64px 0;background:none;text-align:left}
@media (max-width:760px){body .catalog-controls{grid-template-columns:1fr}}
/* Product detail: the motif disc carries the product. */
body .detail{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);margin-top:0;align-items:start}
body .detail-media{position:sticky;top:100px;height:auto;aspect-ratio:1;display:grid;place-items:center;background:var(--field-1);overflow:hidden}
body .detail-media::before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:var(--blue-soft)}
body .detail-media img{position:relative;width:92%;height:auto;padding:0;mix-blend-mode:multiply;object-fit:contain}
body .detail .detail-meta{margin:16px 0 0;font-size:var(--step-lead);color:var(--muted)}
body .detail h1{font-size:clamp(2.5rem,1.5rem + 3.6vw,5.5rem);letter-spacing:-.04em;line-height:1;color:var(--ink)}
body .detail h2{font-size:var(--step-lead)!important;margin:56px 0 16px!important}
body .detail ul{padding-left:1.1em}
body .detail li{margin-bottom:8px}
body .detail li::marker{color:var(--accent)}
body .page table{width:100%;border-collapse:collapse;font-size:16px}
body .page td{padding:12px 0;border-bottom:1px solid var(--field-2);color:var(--ink);vertical-align:top}
body .page td:first-child{width:42%;padding-right:16px;color:var(--muted)}
body .related{margin-top:var(--gap-section)}
@media (max-width:860px){body .detail{grid-template-columns:1fr}body .detail-media{position:relative;top:0;max-height:58svh;aspect-ratio:4/3}body .detail-media::before{width:auto;height:84%}}
/* Service steps, text lists, brands. */
body .process{display:flex;flex-wrap:wrap;gap:8px 40px;list-style:none;margin:0 0 72px;padding:0;font-weight:600;color:var(--ink);background:none;border:0}
body .process li{display:flex;align-items:center;gap:40px;font-size:var(--step-lead)}
body .process li:not(:last-child)::after{content:"→";color:var(--accent);font-weight:500}
body .text-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;margin-bottom:72px}
body .content-block{display:block;padding:0;background:none;border:0;color:var(--ink);text-decoration:none}
body .content-block h3{font-size:var(--step-lead);margin-bottom:10px;transition:color .2s var(--ease)}
body .content-block p{margin:0;color:var(--muted)!important;font-size:16px}
body a.content-block:hover h3{color:var(--accent)}
@media (max-width:760px){body .text-layout{grid-template-columns:1fr}}
body .brand-index{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--margin);align-items:center}
body .brand-index ul{list-style:none;margin:0;padding:0}
body .brand-index a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:6px 0;font-size:clamp(32px,4vw,60px);font-weight:600;letter-spacing:-.035em;line-height:1.1;color:var(--muted);text-decoration:none;transition:color .24s var(--ease)}
body .brand-index a span{font-size:var(--step-small);font-weight:500;letter-spacing:0;color:var(--muted)}
body .brand-index a:hover,body .brand-index a:focus-visible{color:var(--ink)}
body .brand-index figure{position:sticky;top:120px;display:grid;place-items:center;aspect-ratio:1;margin:0;background:var(--field-1)}
body .brand-index figure .showcase-disc{width:78%}
body .brand-index figure img{grid-area:1/1;position:relative;width:92%;height:auto;mix-blend-mode:multiply;opacity:0;transition:opacity .24s var(--ease)}
body .brand-index figure img.is-on{opacity:1}
body .brand-inline{display:none}
@media (hover:none),(max-width:860px){body .brand-index{grid-template-columns:1fr}body .brand-index figure{display:none}body .brand-inline{display:block;width:100%;max-width:420px;height:auto;margin:8px 0 24px;background:var(--field-1)}}
/* Request forms. */
body .form-box{margin-top:var(--gap-section);padding:clamp(32px,5vw,64px);background:var(--surface);border:0}
body .form-box h2{margin-bottom:32px!important}
body .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-bottom:28px}
body .form-grid label{display:grid;gap:8px;font-size:var(--step-body);color:var(--ink)}
body .form-grid .full{grid-column:1/-1}
body .form-grid small{max-width:70ch;font-size:var(--step-small);color:var(--muted);line-height:1.5}
body .form-box input,body .form-box select,body .form-box textarea{background:var(--bg)}
body .honeypot{position:absolute;left:-9999px}
body .form-message{margin-top:16px;color:var(--ink)}
@media (max-width:760px){body .form-grid{grid-template-columns:1fr}}
body .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px)}
body .contact-card{display:grid;gap:10px;align-content:start;padding:0;background:none;border:0;font-size:var(--step-lead)}
body .contact-card h3{margin-bottom:8px}
body .contact-card a{color:var(--ink);text-decoration:none}
body .contact-card a:hover{color:var(--accent)}
@media (max-width:760px){body .contact-grid{grid-template-columns:1fr}}
body main.article > p,body main.article > h2{max-width:68ch}
body main.article > h2{margin-top:56px}

@media (max-width:760px){body .page-head h1{font-size:clamp(2.1rem,9vw,2.6rem);max-width:none}body .page-head p{font-size:var(--step-body)}}
body main.page .menu-items a{color:var(--ink)}
body main.page .menu-items a:hover strong{color:var(--accent)}
body main.page .brand-index a{color:var(--muted)}
body main.page .brand-index a:hover,body main.page .brand-index a:focus-visible{color:var(--ink)}
body main.page .content-block{color:var(--ink)}
body .detail-media,body .detail-media img{border-radius:0}
body main.page .contact-card a{color:var(--ink)}
/* Page heads carry the ocular lens. */
body .page-head.has-lens{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(24px,5vw,80px);max-width:none}
body .page-lens{position:relative;width:clamp(180px,26vw,380px);aspect-ratio:1;border-radius:50%;background:var(--blue-soft)}
body .page-lens img{width:100%;height:100%;object-fit:cover;border-radius:50%;mix-blend-mode:multiply}
body .page-lens::after{content:"";position:absolute;left:4%;top:6%;width:18%;aspect-ratio:1;border-radius:50%;background:var(--pink)}
@media (max-width:760px){body .page-head.has-lens{grid-template-columns:1fr}body .page-lens{order:-1;width:44vw;justify-self:end}}
/* Team. */
body .team{margin-top:var(--gap-section)}
body .team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;list-style:none;margin:48px 0 0;padding:0}
body .team-list li{display:grid;grid-template-columns:56px 1fr;column-gap:20px;align-items:start}
body .team-list li::before{content:"";grid-row:1/4;width:56px;height:56px;border-radius:50%;background:var(--blue-soft)}
body .team-list li:nth-child(even)::before{background:var(--pink-soft)}
body .team-list strong{font-size:var(--step-lead);font-weight:600;line-height:1.25}
body .team-list span{margin-top:4px;color:var(--ink)}
body .team-partner{margin-top:48px!important;font-size:var(--step-lead)!important}
@media (max-width:760px){body .team-list{grid-template-columns:1fr}}
body .team-contact{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px}
body .team-contact a{color:var(--accent);text-decoration:none;font-weight:500;overflow-wrap:anywhere}
body .team-contact a:hover{color:var(--ink);text-decoration:underline}

/* Site-wide WhatsApp button — Erhan Tektaş. */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 6px 20px rgba(14,37,51,.25);transition:transform .2s ease}
.wa-float:hover{transform:scale(1.06)}
.wa-float:active{transform:scale(.96)}
.wa-float:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media (max-width:600px){.wa-float{right:16px;bottom:16px;width:52px;height:52px}}
@media print{.wa-float{display:none}}

/* Reach line — 14 countries, 160+ labs. */
body .stat-line{margin:20px 0 0;font-size:var(--step-lead);line-height:1.4;color:var(--ink)}
body .stat-line strong{font-weight:700;color:var(--accent)}
body .text-layout .stat-line{margin:0 0 24px}

/* Ocular product cycle: each photo pulls focus inside the visible part of the lens. */
.ocular-lens img{position:absolute;inset:0;transition:opacity 1.2s ease,filter 1.2s ease,transform 1.2s ease}
.ocular-lens .lens-product{left:12%;top:20%;width:52%;height:60%;object-fit:contain;mix-blend-mode:multiply}
.ocular-lens[data-cycle] img:not(.is-on){opacity:0;filter:blur(14px);transform:scale(1.06)}
.ocular-caption{position:absolute;right:calc(var(--margin) + 80px);bottom:clamp(20px,5vh,48px);z-index:1;padding:10px 18px;border-radius:999px;background:var(--bg);color:var(--ink);font-weight:600;text-decoration:none;opacity:0;pointer-events:none;transition:opacity .6s ease}
.ocular-caption.is-on{opacity:1;pointer-events:auto}
@media (max-width:860px){.ocular-caption{top:calc(88vw - 36px);bottom:auto;right:var(--margin)}}
/* Hero entrance: the page "comes into focus" like the eyepiece. Opacity never starts at 0 on h1/lens so LCP is not delayed. */
@keyframes focus-in{from{filter:blur(14px);transform:scale(1.04)}to{filter:none;transform:none}}
@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.ocular-copy h1{animation:focus-in 1.1s var(--ease) both}
.ocular-copy>p,.ocular-actions{animation:rise-in .8s var(--ease) both}
.ocular-copy>p{animation-delay:.25s}.ocular-copy>p.stat-line{animation-delay:.38s}.ocular-actions{animation-delay:.5s}
.ocular-lens{animation:focus-in 1.4s var(--ease) both}
.ocular-dot{animation:rise-in .9s .6s var(--ease) both}
/* Pointer parallax on the lens (set by ocularParallax). */
.ocular-field .ocular-lens,.ocular-field .ocular-dot{translate:calc(var(--px,0) * 14px) calc(var(--py,0) * 14px);transition:translate .6s var(--ease)}
.ocular-field .ocular-dot{translate:calc(var(--px,0) * -26px) calc(var(--py,0) * -26px)}
/* Micro-interactions. */
.text-link{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;padding-bottom:3px;transition:color .2s var(--ease),background-size .35s var(--ease)}
.text-link:hover,.text-link:focus-visible{background-size:100% 1.5px}
.btn:hover,body .button:hover,body > header .contact-link:hover{transform:translateY(-2px)}
body > header .contact-link span{display:inline-block;transition:transform .25s var(--ease)}
body > header .contact-link:hover span{transform:translate(2px,-2px)}
/* Page transitions between routes (cross-document View Transitions; unsupported browsers just navigate). */
@view-transition{navigation:auto}
body > header{view-transition-name:site-header}
::view-transition-old(root){animation:.28s var(--ease) both vt-out}
::view-transition-new(root){animation:.45s .08s var(--ease) both vt-in}
@keyframes vt-out{to{opacity:0;filter:blur(6px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(14px)}}
@media (prefers-reduced-motion:reduce){
  .ocular-copy h1,.ocular-copy>p,.ocular-actions,.ocular-lens,.ocular-dot{animation:none}
  .ocular-field .ocular-lens,.ocular-field .ocular-dot{translate:none}
  @view-transition{navigation:none}
}
/* One clinical palette; short, interruptible feedback and native document flow. */
:root {
  --clinical-ink: #0d2935;
  --clinical-muted: #526c76;
  --clinical-accent: #276b73;
  --clinical-paper: #f4f7f5;
  --clinical-line: #cfdddc;
  --ease-response: cubic-bezier(.23, 1, .32, 1);
  --ease-travel: cubic-bezier(.32, .72, 0, 1);
  --header-height: 88px;
  background: var(--clinical-paper);
  color: var(--clinical-ink);
}
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--clinical-accent); outline-offset: 5px;
}
header {
  height: var(--header-height); padding-inline: max(4vw, calc((100vw - 1600px) / 2));
  gap: 28px; background: #fafcfbf2; border-bottom-color: #d7e2e1;
  backdrop-filter: blur(16px); transition: box-shadow 220ms ease, background-color 220ms ease;
}
header.is-scrolled { box-shadow: 0 6px 24px #123a4410; background: #fafcfbfa; }
.brand { flex-shrink: 0; }
.brand img { width: 155px; height: 43px; }
header nav { gap: clamp(14px, 1.4vw, 25px); }
header nav a { position: relative; min-height: 44px; display: inline-flex; align-items: center; font-size: 12px; font-weight: 500; white-space: nowrap; transition: color 160ms ease; }
header nav a::after { content: ''; position: absolute; bottom: 5px; left: 0; right: 0; height: 1px; background: var(--clinical-accent); transform: scaleX(0); transform-origin: left; transition: transform 200ms var(--ease-response); }
header nav a[aria-current="page"] { color: var(--clinical-accent); }
header nav a[aria-current="page"]::after { transform: scaleX(1); }
.header-actions { gap: 19px; }
#language { min-height: 44px; min-width: 60px; font-size: 12px; border-radius: 6px; transition: background-color 160ms ease, transform 140ms var(--ease-response); }
.contact-link { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 44px; padding: 0 17px; border: 1px solid var(--clinical-line); border-radius: 5px; font-size: 12px; white-space: nowrap; transition: background-color 180ms ease, border-color 180ms ease, transform 140ms var(--ease-response); }
.contact-link span { font-size: 18px; transition: transform 180ms var(--ease-response); }
.button { min-height: 52px; border-radius: 5px; padding-inline: 24px; gap: 16px; font-weight: 500; transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 140ms var(--ease-response); }
.button.navy { background: var(--clinical-ink); }
.button.light { background: #e4eeea; border-color: #e4eeea; color: #13353e; }
.button:active, .contact-link:active, #language:active, #menu:active { transform: scale(.975); }
.button:disabled { opacity: .55; cursor: wait; transform: none; }
.button.outline { border-color: #809d9f; }
.actions { flex-wrap: wrap; }
.intro, .page { max-width: 1560px; margin-inline: auto; padding-inline: clamp(24px, 6vw, 96px); }
.intro { padding-block: 112px 124px; }
.page { padding-top: 84px; }
.page h1 { font-size: clamp(40px, 5.2vw, 76px); line-height: 1.08; }
.eyebrow { font-size: 10px; letter-spacing: .16em; }
.intro p { max-width: 58ch; color: var(--clinical-muted); }
.section-heading { align-items: end; margin-bottom: 38px; }
.section-heading > a { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; border-color: #8ca9a9; font-size: 13px; white-space: nowrap; }
.section-heading > a::after { content: '↗'; font-size: 20px; transition: transform 180ms var(--ease-response); }
.brand-strip { padding-block: 32px; justify-content: space-evenly; background: #eaf0ec; border-bottom-color: #cfdbd7; }
.brand-strip a { min-height: 44px; display: flex; align-items: center; font-size: clamp(16px, 1.6vw, 24px); letter-spacing: -.04em; color: #425f65; transition: color 180ms ease; }
.grid { gap: 30px; }
.product-card { position: relative; border-color: var(--clinical-line); padding-bottom: 26px; border-radius: 7px 7px 0 0; }
.product-image { border-radius: 7px; background: #e8efeb; margin-bottom: 25px; position: relative; }
.product-image::after { content: '↗'; position: absolute; right: 16px; bottom: 16px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #b5cac5; color: var(--clinical-ink); background: #f6faf6dd; transition: transform 200ms var(--ease-response), background-color 180ms ease; }
.product-image img { transition: transform 260ms var(--ease-response); }
.product-card small { letter-spacing: .075em; font-size: 10px; color: var(--clinical-muted); }
.product-card h3 { font-family: Manrope, sans-serif; font-weight: 500; letter-spacing: -.025em; font-size: 21px; margin-top: 12px; }
.product-card p { color: var(--clinical-muted); }
.product-card .details { display: inline-flex; align-items: center; min-height: 44px; gap: 22px; color: var(--clinical-accent); font-weight: 500; }
.service-panel { background: #e5ede9; padding: 100px max(6vw, calc((100vw - 1368px) / 2)); gap: 9vw; }
.service-panel p { max-width: 52ch; }
.service-list a { min-height: 80px; align-items: center; padding-inline: 0; color: var(--clinical-ink); border-color: #bacdc8; transition: padding 200ms var(--ease-response), color 180ms ease; }
.service-list a::after { content: '↗'; margin-left: auto; font-size: 24px; color: var(--clinical-accent); }
.service-list span { font-variant-numeric: tabular-nums; }
.catalog-controls { gap: 18px; padding: 24px; background: #e9f0ec; border: 1px solid #d6e1dc; border-radius: 7px; }
.catalog-controls label, .form-grid label { font-weight: 500; color: #3e5e66; }
input, select, textarea { border-color: #b8ceca; border-radius: 4px; min-height: 50px; transition: border-color 160ms ease, box-shadow 160ms ease; }
input:focus, select:focus, textarea:focus { border-color: var(--clinical-accent); box-shadow: 0 0 0 3px #276b7310; }
input::placeholder, textarea::placeholder { color: #627b82; }
.form-box, .contact-card, .detail-media, .brands-grid a { border-radius: 7px; background: #e9f0ec; }
.detail-media { top: calc(var(--header-height) + 28px); }
.content-block, .brands-grid a { transition: border-color 180ms ease, background-color 180ms ease; }
.notice { color: #526c76; }
footer { padding: 80px max(6vw, calc((100vw - 1368px) / 2)) 36px; }
footer .footer-logo { border-radius: 5px; }
footer a { transition: color 160ms ease; }
#menu { width: 44px; height: 44px; border: 1px solid #cfdddc; border-radius: 5px; padding: 12px; }
.menu-lines { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 18px; height: 18px; }
.menu-lines i { display: block; height: 1px; width: 100%; background: #143b46; transition: transform 180ms var(--ease-response); }
body.menu-open .menu-lines i:first-child { transform: translateY(3px) rotate(45deg); }
body.menu-open .menu-lines i:last-child { transform: translateY(-3px) rotate(-45deg); }
.keyboard-input *, .keyboard-input *::before, .keyboard-input *::after { transition-duration: 0s !important; }
.form-box, #main { scroll-margin-top: calc(var(--header-height) + 24px); }
@media (hover: hover) and (pointer: fine) {
  header nav a:hover::after { transform: scaleX(1); }
  #language:hover { background: #e8f0ec; }
  .contact-link:hover { background: #e8f0ec; border-color: #9ebeb7; }
  .contact-link:hover span, .section-heading > a:hover::after { transform: translate(2px, -2px); }
  .button:hover { background: #c2dcd4; color: #12383e; border-color: #a9cbc0; box-shadow: 0 4px 16px #153d4210; }
  .product-card:hover img { transform: scale(1.035); }
  .product-card:hover .product-image::after { transform: rotate(8deg); background: #d5e5dd; }
  .service-list a:hover { padding-inline: 12px; color: var(--clinical-accent); }
  .brands-grid a:hover { background: #ddeae3; border-color: var(--clinical-accent); }
  footer a:hover { color: #f4faf5; }
}
@media (hover: none) {
  .product-card:hover img, .equipment-bridge a:hover img, .story-link:hover span { transform: none; }
  .button:hover { background: var(--clinical-ink); color: white; }
  .button.light:hover { background: #e4eeea; color: #13353e; }
}
@media (max-width: 1200px) {
  :root { --header-height: 76px; }
  header { height: 76px; gap: 20px; padding-inline: 5vw; }
  header nav { display: none; position: absolute; top: 76px; left: 0; right: 0; background: #fafcfb; padding: 24px 6vw 32px; flex-direction: column; gap: 2px; border-bottom: 1px solid #c9dcd6; box-shadow: 0 16px 30px #14353e18; }
  header nav a { font-size: 17px; width: fit-content; min-height: 48px; }
  #menu { display: block; }
  .header-actions { gap: 14px; }
  .section-heading { gap: 25px; }
  .service-panel { gap: 5vw; }
}
@media (max-width: 800px) {
  .intro, .page { padding: 64px 7vw 76px; }
  .contact-link { display: none; }
  .brand img { width: 141px; }
  .grid { gap: 24px; }
  .section-heading { align-items: start; }
  .catalog-controls { padding: 18px; gap: 16px; }
  .service-panel { padding: 64px 7vw; gap: 35px; }
  .brand-strip { gap: 15px 25px; justify-content: center; padding: 22px 7vw; }
  .service-list a { min-height: 76px; font-size: 17px; }
  .detail-media { top: 0; }
  .button { min-height: 50px; font-size: 13px; }
  footer { padding: 60px 7vw 30px; }
  .footer-top { gap: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .button:active, .contact-link:active, #language:active, #menu:active, .product-card:hover img { transform: none; }
}
