/* Reactiv — approved restrained, editorial landing-page design. */
:root{--bg:#fdfdfc;--surface:#f7f7f6;--surface-2:#f5f5f3;--ink:#1e282f;--muted:#5f676c;--hairline:#e6e8e7;--sage:#839d91;--dark:#1f282e;--max:1280px;--round:11px;}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.modal-open{overflow:hidden}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img,svg,video{max-width:100%}
::selection{background:#d4e4db;color:#17241b}
:focus-visible{outline:3px solid #83a79a;outline-offset:4px}
.container{width:min(var(--max),calc(100% - 112px));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-100px;background:#fff;padding:12px 20px;border:1px solid var(--ink);z-index:200}
.skip-link:focus{top:12px}
.eyebrow{margin:0 0 22px;font-size:11px;font-weight:650;line-height:1.4;letter-spacing:.19em;color:#68737a}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:530}
.button{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:11px 20px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:570;white-space:nowrap;transition:background .22s ease,transform .22s ease,border-color .22s ease}
.button:hover{transform:translateY(-1px)}
.button-dark{background:#20292e;color:#fff}
.button-dark:hover{background:#35434a}
.button-light{background:#fcfcfb;color:var(--ink)}
.button-light:hover{background:#e8eae8}
.button-large{min-height:49px;padding-inline:26px}
.button span{font-size:16px;font-weight:450}
.site-header{height:85px;border-bottom:1px solid #e7e8e6;background:#fdfdfcf5;position:relative;z-index:20}
.header-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}
.brand{width:174px;height:55px;position:relative;display:flex;align-items:center;overflow:hidden}
.brand-motion,.brand-static{display:block;width:100%;height:auto;max-width:none;mix-blend-mode:multiply}
.brand-static{display:none}
.brand.video-fallback .brand-motion{display:none}
.brand.video-fallback .brand-static{display:block}
.primary-nav{display:flex;align-items:center;gap:39px}
.primary-nav a,.site-footer nav a{font-size:13px;color:#303c42;transition:color .2s}
.primary-nav a:hover,.site-footer nav a:hover{color:#799888}
.header-contact{justify-self:end;min-width:137px}
.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:565px;overflow:hidden;background:linear-gradient(92deg,#fdfdfc 0%,#fdfdfc 40%,#fafaf9 76%,#f4f5f3 100%)}
.hero-image{position:absolute;inset:0 0 0 auto;width:63%;height:100%;z-index:-2;background-image:url('./assets/hero-lake.webp');background-position:58% 49%;background-size:cover;opacity:.97;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 12%,#000 36%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 12%,#000 36%)}
.hero-bottom-wash{position:absolute;z-index:-1;inset:auto 0 0;height:75px;background:linear-gradient(0deg,#fdfdfc 0%,transparent 100%);pointer-events:none}
.hero-inner{min-height:565px;display:flex;align-items:center;padding-block:68px 74px}
.hero-copy{max-width:705px;position:relative;z-index:1}
.hero h1{font-size:clamp(49px,5.2vw,74px);line-height:1.08;letter-spacing:-.065em;margin-bottom:25px;font-weight:540}
.hero-lead{max-width:460px;font-size:19px;color:#535d64;line-height:1.51;letter-spacing:-.018em;margin-bottom:29px}
.hero-actions{display:flex;align-items:center;gap:31px;flex-wrap:wrap}
.text-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:530;min-height:43px}
.text-link svg,.product-arrow svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;transition:transform .22s}
.text-link:hover svg,.product-card:hover .product-arrow svg{transform:translateX(5px)}
.section-pad{padding:73px 0 77px}
.section-intro{display:grid;grid-template-columns:1.25fr .7fr;gap:70px;align-items:end;margin-bottom:38px}
.section-intro .eyebrow{margin-bottom:15px}
.section-intro h2{font-size:clamp(29px,3.25vw,44px);line-height:1.13;letter-spacing:-.052em;margin-bottom:0;max-width:820px}
.section-intro>p{font-size:14px;line-height:1.65;color:#677076;max-width:395px;margin:0 0 3px}
.products{background:var(--bg)}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}
.product-card{min-width:0;min-height:315px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:25px 26px 20px;background:linear-gradient(135deg,#f9f9f8,#f5f6f5);border:1px solid #e8eae8;border-radius:11px;color:var(--ink);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.product-card:hover{transform:translateY(-3px);border-color:#ccd1cd;box-shadow:0 12px 27px #202d2c0b}
.product-icon{display:flex;align-items:center;justify-content:center;flex:0 0 65px;width:65px;height:65px;border-radius:50%;margin-bottom:20px}
.product-icon svg{width:37px;height:37px}
.icon-dojo{background:#d9edfb;color:#20292e}
.icon-fresh{background:#d4ede1;color:#203c30}
.icon-groomiva{background:#f1d7e2;color:#342831}
.icon-aml{background:#29343b;color:#fff}
.product-name{display:block;font-size:24px;font-weight:580;letter-spacing:-.044em;line-height:1.17;margin-bottom:11px}
.product-description{display:block;max-width:245px;font-size:14.5px;letter-spacing:-.006em;line-height:1.45;color:#61696f;margin-bottom:17px;min-height:62px}
.product-status{border-radius:999px;display:inline-flex;align-items:center;padding:7px 15px;font-size:12px;line-height:1;min-height:27px;white-space:nowrap;margin-bottom:25px;color:#28353a}
.status-dojo{background:#deecf6}.status-fresh{background:#ddefe3}.status-groomiva{background:#f3dfe7}.status-released{background:#20292e;color:#fff}
.product-arrow{display:block;line-height:0;margin-top:auto;color:#2a3539}
.approach{background:#f6f6f5;border-top:1px solid #f1f1f0;padding-bottom:54px}
.approach-intro{margin-bottom:48px}
.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.value{padding:3px 28px 4px 0;margin-right:28px;border-right:1px solid #dde1dd}
.value:last-child{border-right:none;margin-right:0;padding-right:0}
.value svg{display:block;width:32px;height:32px;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:19px}
.value h3{font-size:16px;font-weight:620;letter-spacing:-.015em;margin-bottom:9px}
.value p{font-size:14px;line-height:1.58;color:#687177;max-width:233px;margin-bottom:0}
.about-strip{background:#f6f6f5;padding:32px 0 73px}
.about-inner{border-top:1px solid #dfe3df;padding-top:44px;display:grid;grid-template-columns:1.08fr 1fr;gap:80px;align-items:end}
.about-inner .eyebrow{margin-bottom:15px}
.about-inner h2{font-size:clamp(27px,3vw,40px);line-height:1.18;letter-spacing:-.05em;margin:0}
.about-inner>p{font-size:15px;line-height:1.7;color:#5c666b;margin:0;max-width:520px}
.contact-section{background:#fdfdfc;padding:0 0 49px}
.contact-panel{background:linear-gradient(108deg,#202a2f,#222e34);border-radius:10px;padding:40px 42px;display:grid;grid-template-columns:1.24fr .8fr;gap:65px;color:#fff}
.contact-panel .eyebrow{color:#cbd1d2;margin-bottom:11px}
.contact-panel h2{font-size:clamp(25px,3vw,38px);font-weight:460;letter-spacing:-.045em;line-height:1.17;margin:0}
.contact-panel-aside{align-self:center}
.contact-panel-aside p{font-size:14px;line-height:1.58;color:#ebeeee;margin:0 0 17px;max-width:450px}
.contact-panel .button{min-width:160px;justify-content:space-between}
.site-footer{background:#fdfdfc;padding:0 0 40px}
.footer-inner{border-top:1px solid #e7e8e6;padding-top:30px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}
.footer-brand img{display:block;width:112px;height:auto;mix-blend-mode:multiply}
.footer-brand p{margin:0;color:#616b70;font-size:12px}
.site-footer nav{display:flex;gap:28px;justify-content:center}
.site-footer nav a{font-size:12px}
.copyright{justify-self:end;color:#737c80;font-size:12px;margin:0;white-space:nowrap}
.modal{position:fixed;border:1px solid #dee2de;padding:0;border-radius:15px;width:min(530px,calc(100vw - 32px));max-height:min(86vh,850px);box-shadow:0 24px 90px #1726202c;background:#fdfdfc;color:var(--ink);overflow-y:auto}
.modal::backdrop{background:#1c2429a3;backdrop-filter:blur(3px)}
.modal-content{position:relative;padding:40px}
.modal-close{position:absolute;right:18px;top:16px;width:35px;height:35px;border:1px solid #e1e5e1;background:#f8f8f7;border-radius:50%;font-size:26px;color:#344148;display:flex;align-items:center;justify-content:center;line-height:1}
.modal .eyebrow{margin-bottom:12px}
.modal h2{font-size:clamp(30px,5vw,39px);line-height:1.11;letter-spacing:-.047em;margin:4px 0 15px}
.modal-lead,.product-dialog-description{font-size:15px;color:#5d696c;line-height:1.65;margin-bottom:26px}
.product-dialog .product-icon{margin-bottom:17px}
.product-dialog .product-status{margin-bottom:7px}
.product-dialog h3{font-size:13px;font-weight:680;letter-spacing:.08em;text-transform:uppercase;color:#687679;margin:24px 0 12px}
.product-dialog ul{padding:0;list-style:none;display:grid;gap:11px;margin:0 0 27px}
.product-dialog li{padding:0 0 0 18px;position:relative;font-size:14px;color:#445058;line-height:1.5}
.product-dialog li:before{content:'✓';position:absolute;left:0;color:#809f8f;font-weight:700}
.product-footnote{font-size:12px;color:#748184;border-top:1px solid #e7eae7;padding-top:18px;line-height:1.55}
.contact-dialog label{display:block;font-size:13px;font-weight:620;margin:15px 0 7px}
.contact-dialog label span{color:#8aaf9e}
.contact-dialog input,.contact-dialog textarea{display:block;width:100%;border:1px solid #d8deda;border-radius:7px;background:#fff;color:var(--ink);padding:11px 12px;font-size:14px;outline-offset:3px}
.contact-dialog input:focus,.contact-dialog textarea:focus{border-color:#8ba697}
.contact-dialog textarea{resize:vertical;min-height:111px}
.form-submit{margin-top:18px;width:100%;justify-content:space-between}
.form-note{font-size:12px;color:#7e8787;line-height:1.55;margin:12px 0 0}
.form-feedback{font-size:13px;color:#4b6559;line-height:1.6;margin:9px 0 0;min-height:0}
@media (min-width:1500px){.hero h1{font-size:76px}.hero{min-height:610px}.hero-inner{min-height:610px}}
@media (max-width:1120px){.container{width:min(var(--max),calc(100% - 66px))}.hero h1{font-size:clamp(45px,5.15vw,62px)}.product-grid{gap:12px}.product-card{padding:22px 18px;min-height:330px}.product-name{font-size:22px}.product-description{font-size:13.5px}.primary-nav{gap:22px}}
@media (max-width:850px){.site-header{height:74px}.header-inner{grid-template-columns:1fr auto auto;gap:14px}.brand{width:155px}.menu-toggle{display:flex;width:42px;height:42px;order:3;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #e2e6e2;background:#fff;border-radius:7px}.menu-toggle span{display:block;width:18px;height:1.5px;background:#263039;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}.header-contact{order:2}.primary-nav{display:none;position:absolute;inset:74px 0 auto;background:#fff;border-bottom:1px solid #dde3df;padding:22px 33px;box-shadow:0 16px 25px #27342c12;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{font-size:15px;padding:12px 0}.hero,.hero-inner{min-height:515px}.hero-image{width:68%;opacity:.58}.hero h1{font-size:clamp(44px,6.3vw,60px)}.hero-lead{font-size:17px;max-width:430px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-card{min-height:292px;padding:24px}.product-description{min-height:42px;font-size:14px}.section-intro{grid-template-columns:1fr .85fr;gap:28px}.section-intro h2{font-size:34px}.values-grid{grid-template-columns:repeat(2,1fr);gap:33px 20px}.value:nth-child(2){border-right:0}.value:nth-child(3){border-right:1px solid #dde1dd}.about-inner{gap:35px}.footer-inner{grid-template-columns:1fr auto}.site-footer nav{grid-column:2;grid-row:1}.copyright{grid-column:1 / -1;justify-self:start}}
@media (max-width:610px){html{scroll-padding-top:70px}.container{width:calc(100% - 40px)}.site-header{height:70px}.brand{width:135px;height:46px}.header-inner{gap:10px}.header-contact{display:none}.primary-nav{inset-block-start:70px;padding-inline:20px}.hero,.hero-inner{min-height:610px}.hero-inner{padding:65px 0 48px;align-items:flex-start}.hero-image{width:100%;height:69%;top:auto;bottom:0;background-position:65% 52%;opacity:.6;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.20) 18%,rgba(0,0,0,.7) 60%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.20) 18%,rgba(0,0,0,.7) 60%,#000 100%)}.hero-copy{max-width:100%}.hero .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:18px}.hero h1{font-size:clamp(42px,10.5vw,62px);letter-spacing:-.058em;margin-bottom:20px}.desktop-br{display:none}.hero-lead{font-size:16px;line-height:1.5;max-width:390px}.hero-actions{gap:15px}.button-large{padding-inline:18px}.text-link{font-size:13px}.section-pad{padding:59px 0}.section-intro{grid-template-columns:1fr;gap:15px;margin-bottom:28px}.section-intro h2{font-size:34px}.section-intro>p{font-size:14px}.intro-break{display:none}.product-grid{grid-template-columns:1fr;gap:13px}.product-card{min-height:240px;padding:23px;display:grid;grid-template-columns:1fr auto;grid-template-rows:61px auto auto auto;column-gap:20px;align-content:start}.product-icon{grid-column:1/-1;width:56px;height:56px;flex-basis:56px;margin-bottom:4px}.product-icon svg{width:33px;height:33px}.product-name{grid-column:1/-1;font-size:24px;margin:10px 0 7px}.product-description{grid-column:1/-1;min-height:auto;max-width:340px;margin-bottom:13px}.product-status{grid-column:1;margin-bottom:0;justify-self:start}.product-arrow{grid-column:2;grid-row:4;align-self:center}.approach-intro{margin-bottom:35px}.values-grid{gap:30px 14px}.value{margin-right:0;padding-right:12px}.value:nth-child(odd){border-right:1px solid #dde1dd}.value:nth-child(even){border-right:0;padding-left:10px}.value h3{font-size:14px}.value p{font-size:13px}.value svg{width:28px;height:28px;margin-bottom:14px}.about-strip{padding:0 0 55px}.about-inner{grid-template-columns:1fr;gap:22px;padding-top:35px}.about-inner h2{font-size:31px}.contact-section{padding-bottom:40px}.contact-panel{grid-template-columns:1fr;gap:22px;padding:28px 26px}.contact-panel h2{font-size:29px}.contact-panel-aside p{font-size:14px}.footer-inner{grid-template-columns:1fr;gap:24px;padding-top:27px}.footer-brand img{width:124px}.site-footer nav{grid-column:1;grid-row:auto;flex-wrap:wrap;justify-content:flex-start;gap:18px}.copyright{grid-column:1}.modal-content{padding:31px 24px}.modal-close{right:14px;top:13px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.brand-motion{display:none}.brand-static{display:block}.hero-image{background-attachment:scroll}}

.honeypot{position:absolute!important;left:-10000px!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.privacy-footer-link{font-size:13px;color:#56636a;text-decoration:none}.privacy-footer-link:hover{text-decoration:underline}
.form-feedback.is-success{color:#32634f}.form-submit:disabled{opacity:.65;cursor:wait}
