@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Karla";src:url("fonts/karla.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Karla";src:url("fonts/karla-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Karla";src:url("fonts/karla-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Karla";src:url("fonts/karla-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}

:root{--deep:#181220;--pine:#164741;--lake:#1f625d;--mist:#f8eee1;--paper:#fff8ef;--white:#fffaf2;--ink:#554f5a;--muted:#68616a;--line:rgba(38,27,53,.14);--sun:#f2bb70;--coral:#e86d58;--dusk:#261b35;--shadow:0 24px 70px rgba(43,26,48,.12);--display:"Fraunces",Iowan Old Style,"Palatino Linotype",serif;--sans:"Karla","DM Sans",ui-sans-serif,system-ui,sans-serif}
html{background:var(--mist)}
body.subpage{color:var(--ink);font-family:var(--sans);background:radial-gradient(circle at 8% 23%,rgba(232,109,88,.08),transparent 24rem),radial-gradient(circle at 92% 58%,rgba(31,98,93,.09),transparent 29rem),var(--mist)}
.subpage a{transition:color .18s ease,background .18s ease,border-color .18s ease}
.subpage :focus-visible{outline:3px solid var(--sun);outline-offset:4px}
.subpage .preview-bar{position:relative;z-index:5;padding:.62rem 1rem;color:#f7debc;background:var(--deep);font:700 .64rem var(--sans);letter-spacing:.17em}
.subpage .masthead{min-height:30rem;color:var(--white);background:var(--dusk) url("lake-christopher-hero.jpg") center 46%/cover no-repeat}
.subpage .masthead::before{background:linear-gradient(180deg,rgba(22,25,39,.91),rgba(25,31,47,.3) 43%,rgba(24,20,37,.95)),linear-gradient(90deg,rgba(34,22,46,.67),transparent 70%)}
.subpage.contact-page .masthead,.subpage.privacy-page .masthead{position:relative;overflow:hidden;background:var(--dusk) url("lake-christopher-hero.jpg") center 43%/cover no-repeat}
.subpage.contact-page .masthead::before,.subpage.privacy-page .masthead::before{position:absolute;inset:0;content:""}
.subpage .nav{position:relative;z-index:1;padding-top:1.25rem}
.subpage.contact-page .nav,.subpage.privacy-page .nav{padding-top:1.25rem}
.subpage .brand{display:flex;align-items:center;gap:.72rem;color:var(--white);font:700 .75rem var(--sans);letter-spacing:.07em;text-transform:uppercase}
.subpage .brand-mark{width:3.1rem;fill:none;stroke:currentColor}
.subpage .brand-mark .brand-sun{fill:var(--coral);stroke:none}
.subpage .back{border-color:rgba(255,250,242,.25);color:rgba(255,250,242,.84);font-family:var(--sans);font-weight:700;letter-spacing:.04em}
.subpage .back:hover{border-color:var(--coral);color:var(--white);background:rgba(232,109,88,.14)}
.subpage .hero-copy,.subpage.contact-page .hero,.subpage.privacy-page .hero{position:relative;z-index:1}
.subpage .hero-copy{padding:6.7rem 0 4rem}
.subpage.contact-page .hero,.subpage.privacy-page .hero{padding:5.4rem 0 5.8rem}
.subpage .eyebrow{color:#f7ce94;font-family:var(--sans);font-weight:700;letter-spacing:.17em}
.subpage .kicker,.subpage .number{color:var(--lake);font-family:var(--sans);font-weight:700;letter-spacing:.16em}
.subpage h1,.subpage h2,.subpage h3{color:var(--dusk);font-family:var(--display);font-variation-settings:"opsz" 144,"SOFT" 0,"WONK" 0;font-weight:380}
.subpage h1{color:var(--white);font-variation-settings:"opsz" 144,"SOFT" 0,"WONK" 0,"wght" 350;font-weight:350}
.subpage .hero-copy>p:last-child,.subpage.contact-page .hero>p:last-child,.subpage.privacy-page .hero>p:last-child{color:rgba(255,250,242,.8)}
.subpage main{padding-bottom:4.5rem}
.subpage .page{position:relative;z-index:2}
.subpage .principle,.subpage .card,.subpage.privacy-page .page,.subpage .equipment,.subpage .data-card{border-color:var(--line);border-radius:1.35rem .35rem 1.35rem .35rem;background:rgba(255,248,239,.95);box-shadow:var(--shadow)}
.subpage .principle{border-left:3px solid var(--coral)}
.subpage .principle p,.subpage .section-head>p,.subpage .device-copy,.subpage .data-card p,.subpage .section p,.subpage .section li,.subpage .aside p,.subpage .aside li,.subpage .form-note,.subpage .status{color:var(--muted)}
.subpage .section-head h2{color:var(--dusk)}
.technology-page .equipment-grid{grid-template-columns:1fr;gap:1.1rem}
.technology-page .equipment{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(0,1.15fr);min-height:20rem;overflow:hidden}
.technology-page .equipment:nth-child(2),.technology-page .equipment:nth-child(3){color:var(--white);background:var(--dusk)}
.technology-page .equipment:nth-child(3){background:var(--lake)}
.technology-page .equipment:nth-child(2) h3,.technology-page .equipment:nth-child(3) h3{color:var(--white)}
.technology-page .equipment:nth-child(2) .kicker,.technology-page .equipment:nth-child(3) .kicker{color:#f7ce94}
.technology-page .device-photo{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;height:auto;min-height:22rem;margin:0;padding:1.15rem 1.15rem 0;overflow:hidden;border:0;border-right:1px solid var(--line);background:linear-gradient(145deg,rgba(255,250,242,.9),rgba(242,187,112,.22))}
.technology-page .device-photo::before{position:absolute;z-index:0;width:13rem;height:13rem;right:-4rem;top:-5rem;border:1px solid rgba(38,27,53,.1);border-radius:50%;box-shadow:0 0 0 2rem rgba(38,27,53,.025),0 0 0 4rem rgba(38,27,53,.018);content:""}
.technology-page .device-photo img{position:relative;z-index:1;width:100%;height:17.5rem;min-height:0;padding:.65rem;object-fit:contain;border-radius:.8rem .2rem .8rem .2rem;background:rgba(255,255,255,.74);box-shadow:0 16px 40px rgba(38,27,53,.13)}
.technology-page .device-photo figcaption{position:relative;z-index:1;display:flex;align-items:center;gap:.75rem;min-height:3.35rem;color:var(--dusk);font-size:.63rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.technology-page .device-photo figcaption span{display:flex;align-items:center;gap:.45rem}
.technology-page .device-photo figcaption span::before{width:.48rem;height:.48rem;border-radius:50%;background:var(--coral);box-shadow:0 0 0 .25rem rgba(232,109,88,.11);content:""}
.technology-page .equipment:nth-child(2) .device-photo{background:linear-gradient(145deg,#231a2e,#3e2946)}
.technology-page .equipment:nth-child(3) .device-photo{background:linear-gradient(145deg,#d97728,#f2bb70)}
.technology-page .equipment:nth-child(4) .device-photo{background:linear-gradient(145deg,#dbe8f2,#fff8ef)}
.technology-page .equipment:nth-child(2) .device-photo figcaption,.technology-page .equipment:nth-child(3) .device-photo figcaption{color:var(--white)}
.technology-page .equipment:nth-child(3) .device-photo figcaption{color:var(--dusk)}
.technology-page .device-body{min-width:0;padding:2rem 2.25rem 2.1rem}
.technology-page .equipment h3{max-width:36rem;margin:4rem 0 1rem;font-size:clamp(2rem,4vw,3.35rem);line-height:.98}
.technology-page .device-copy{max-width:39rem;font-size:.92rem;line-height:1.72}
.technology-page .equipment:nth-child(even) .device-photo{order:2;border-right:0;border-left:1px solid var(--line)}
.technology-page .equipment:nth-child(even) .device-body{order:1}
.technology-page .number{color:var(--coral)}
.technology-page .role{right:2.1rem;top:1.8rem;color:var(--lake);background:rgba(31,98,93,.1)}
.technology-page .equipment:nth-child(2) .role,.technology-page .equipment:nth-child(3) .role{color:#cce4dc;background:rgba(255,255,255,.09)}
.technology-page .data-card>div:last-child{color:var(--white);background:var(--lake-deep,var(--pine))}
.technology-page .data-card>div:last-child h3{color:var(--white)}
.technology-page .privacy{border-radius:.35rem 1.5rem .35rem 1.5rem;color:var(--white);background:var(--dusk);box-shadow:var(--shadow)}
.technology-page .privacy h2{color:var(--white)}
.technology-page .privacy>p,.technology-page .privacy li{color:rgba(255,250,242,.72)}
.contact-page .aside{border:0;color:var(--white);background:var(--dusk)}
.contact-page .aside h2{color:var(--white)}
.contact-page .aside .kicker{color:#f7ce94}
.contact-page .aside p,.contact-page .aside li{color:rgba(255,250,242,.72)}
.contact-page .form-card{background:var(--paper)}
.contact-page label{color:var(--pine);font-family:var(--sans);font-weight:700}
.contact-page input,.contact-page select,.contact-page textarea{border-color:rgba(38,27,53,.2);border-radius:.75rem .25rem .75rem .25rem;color:var(--ink);font-family:var(--sans);background:#fffdf9}
.contact-page input:focus,.contact-page select:focus,.contact-page textarea:focus{border-color:var(--lake);outline:2px solid rgba(31,98,93,.16)}
.contact-page button{color:var(--white);font-family:var(--sans);font-weight:700;background:var(--lake)}
.contact-page .status{background:rgba(31,98,93,.07)}
.privacy-page .page{background:rgba(255,248,239,.96)}
.privacy-page .section{border-color:var(--line)}
.privacy-page .plain-note{border-radius:.35rem 1rem .35rem 1rem;color:var(--white);background:var(--lake)}
.subpage .footer{color:var(--muted);font-family:var(--sans)}
.subpage .footer a:hover{color:var(--coral)}
.subpage .footer-signoff{color:var(--dusk);font:400 1.08rem var(--display)}
.subpage .footer-signoff em{color:var(--coral);font-style:normal}
@media(max-width:48rem){.technology-page .equipment{grid-template-columns:1fr;min-height:0}.technology-page .equipment:nth-child(even) .device-photo,.technology-page .device-photo{order:1;height:19rem;min-height:19rem;border:0;border-bottom:1px solid var(--line)}.technology-page .device-photo img{height:15rem}.technology-page .equipment:nth-child(even) .device-body,.technology-page .device-body{order:2;padding:1.55rem 1.6rem 1.75rem}.technology-page .equipment h3{margin:3.2rem 0 .85rem;font-size:clamp(2rem,8vw,2.8rem)}.technology-page .role{right:1.4rem;top:1.3rem}}
@media(max-width:36rem){.subpage .brand{font-size:.64rem}.subpage .brand-mark{width:2.65rem}.subpage .masthead{min-height:30rem}.subpage .hero-copy,.subpage.contact-page .hero,.subpage.privacy-page .hero{padding-top:5.5rem}.subpage h1{font-size:clamp(3.35rem,16vw,5rem)}.subpage.privacy-page h1{max-width:9ch;font-size:clamp(3.15rem,15vw,4.6rem)}}
@media(prefers-contrast:more){.subpage .masthead::before{background:linear-gradient(180deg,rgba(18,14,24,.96),rgba(18,14,24,.54) 43%,rgba(18,14,24,.98))}}
