:root{--green:#0f2e25;--green-2:#163a2f;--cream:#f3efe4;--page:#c7d6cb;--card:#fff;--moss:#9fbfae;--leaf:#0f4a35;--ink:#0e231b;--sub:#33483f;--mute:#44584f;--rule:#aec2b4;--serif:"Libre Caslon Text", Georgia, "Times New Roman", serif;--sans:"Figtree", "Helvetica Neue", Arial, sans-serif;--mono:var(--sans);--pad:clamp(20px, 7.8vw, 112px)}*{box-sizing:border-box}html{background:var(--page)}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}a:hover{color:var(--leaf)}h1,h2,h3,.serif{font-family:var(--serif);margin:0;font-weight:400}.mono{font-family:var(--mono)}img{max-width:100%;display:block}p{margin:0}.band{background:var(--green);color:var(--cream);position:relative;overflow:hidden}.band a:hover{color:var(--moss)}.nav{padding:28px var(--pad);z-index:2;border-bottom:1px solid #f3efe433;justify-content:space-between;align-items:center;gap:24px;display:flex;position:relative}.nav .wordmark{font-family:var(--serif);font-size:22px}.nav .links{font-family:var(--mono);color:var(--moss);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:clamp(14px,2.2vw,32px);font-size:13px;display:flex}.nav .lang{color:var(--cream);border:1px solid #f3efe44d;padding:3px 9px}.nav .lang:hover{color:var(--moss)}.hero{padding:clamp(56px, 4.5vw, 64px) var(--pad) clamp(56px, 6.5vw, 96px);z-index:2;flex-direction:column;gap:28px;max-width:940px;display:flex;position:relative}.hero .eyebrow,.eyebrow{font-family:var(--mono);color:var(--moss);letter-spacing:.04em;font-size:13px}.hero h1{letter-spacing:-.015em;text-wrap:pretty;font-size:clamp(38px,5.4vw,78px);line-height:1.02}.hero p{color:#f3efe4d1;max-width:720px;font-size:clamp(17px,1.3vw,19px)}.hero .actions{font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:28px;font-size:13px;display:flex}.band .hero .actions a.btn{background:var(--cream);color:var(--green);border:1px solid var(--cream);padding:10px 18px;font-weight:500}.band .hero .actions a.btn:hover{color:var(--cream);background:0 0}.hero .actions .primary{border-bottom:1px solid var(--moss);padding-bottom:3px}.hero .actions a:not(.primary){color:var(--moss)}.hero-photo{z-index:0;pointer-events:none;width:66%;position:absolute;top:0;bottom:0;right:0}.hero-photo img{object-fit:cover;object-position:62% 12%;width:100%;height:100%}.hero-photo{background:var(--green)}.hero-photo:after{content:"";background:linear-gradient(180deg, #0f2e25e6 0, #0f2e2500 150px), linear-gradient(90deg, var(--green) 0%, var(--green) 3%, #0f2e25ed 18%, #0f2e2580 42%, #0f2e2514 64%, #0f2e2500 100%);position:absolute;inset:0 0 0 -2px}.band:has(.hero-photo) .hero{max-width:min(58vw,940px)}@media (width<=720px){.band:has(.hero-photo){flex-direction:column;display:flex}.band:has(.hero-photo) .nav{order:0}.hero-photo{order:1;width:100%;height:300px;position:relative}.hero-photo img{object-position:64% 15%}.hero-photo:after{background:linear-gradient(0deg, var(--green) 0%, #0f2e2566 30%, #0f2e2500 55%)}.band:has(.hero-photo) .hero{order:2;max-width:none;padding-top:20px}}.section{padding:clamp(56px, 6.5vw, 96px) var(--pad) 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:32px;display:flex}.section-head h2{font-size:clamp(30px,2.8vw,40px)}.section-head .note{font-family:var(--mono);color:var(--mute);font-size:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}@media (width<=800px){.grid-2{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--rule);color:var(--ink);flex-direction:column;gap:14px;padding:28px;display:flex}.card:hover{border-color:var(--leaf);color:var(--ink)}.card .meta{font-family:var(--mono);justify-content:space-between;font-size:12px;display:flex}.card .meta .idx{color:var(--leaf)}.card .meta .st{color:var(--mute)}.card h3{font-size:30px;line-height:1.1}.card .desc{color:var(--sub);font-size:16px}.card .stack{font-family:var(--mono);color:var(--mute);font-size:12px}.timeline{border-bottom:1px solid var(--rule);flex-direction:column;display:flex}.row{border-top:1px solid var(--rule);grid-template-columns:200px minmax(0,1fr);gap:32px;padding:26px 0;display:grid}@media (width<=720px){.row{grid-template-columns:1fr;gap:8px}}.row .when{font-family:var(--mono);color:var(--mute);font-size:13px}.row h3{margin-bottom:6px;font-size:24px;line-height:1.2}.row p{color:var(--sub);font-size:15px}.row a{color:var(--leaf);border-bottom:1px solid var(--leaf)}.contact{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:64px;display:grid}@media (width<=800px){.contact{grid-template-columns:1fr;gap:32px}}.contact h2{margin-bottom:20px;font-size:clamp(30px,2.8vw,40px)}.contact p{color:var(--sub);max-width:560px;font-size:18px}.contact .list{flex-direction:column;font-size:16px;display:flex}.contact .list a{border-top:1px solid var(--rule);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.contact .list a:last-child{border-bottom:1px solid var(--rule)}.contact .list .static{border-top:1px solid var(--rule);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.contact .list .val{font-family:var(--mono);color:var(--leaf);text-align:right;font-size:13px}.footer{padding:88px var(--pad) 72px;font-family:var(--mono);color:var(--mute);flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:12px;display:flex}.page-hero{padding:clamp(48px, 5.5vw, 80px) var(--pad) clamp(48px, 5vw, 72px);z-index:2;flex-direction:column;gap:24px;max-width:900px;display:flex;position:relative}.page-hero .back{font-family:var(--mono);color:var(--moss);font-size:13px}.page-hero h1{letter-spacing:-.015em;font-size:clamp(38px,4.4vw,64px);line-height:1.02}.page-hero .actions a.btn{font-family:var(--mono);background:var(--cream);color:var(--green);border:1px solid var(--cream);padding:10px 18px;font-size:13px;font-weight:500;display:inline-flex}.page-hero .actions a.btn:hover{color:var(--cream);background:0 0}.page-hero p{color:#f3efe4d1;font-size:clamp(17px,1.3vw,19px)}.facts{margin:0 var(--pad);border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:28px 0;display:grid}@media (width<=800px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.facts .k{font-family:var(--mono);color:var(--mute);letter-spacing:.04em;font-size:13px}.facts .v{margin-top:6px;font-size:15px}.facts a{color:var(--leaf);border-bottom:1px solid var(--leaf)}.block{padding:64px var(--pad) 0;grid-template-columns:200px minmax(0,720px);gap:48px;display:grid}@media (width<=720px){.block{grid-template-columns:minmax(0,1fr);gap:16px}}.block h2{font-size:24px}.block .body{color:var(--sub);flex-direction:column;gap:16px;font-size:17px;line-height:1.6;display:flex}.block.wide{grid-template-columns:200px minmax(0,1fr)}@media (width<=720px){.block.wide{grid-template-columns:minmax(0,1fr)}}.diagram{overflow-x:auto}.diagram svg{font-family:var(--mono);min-width:720px;display:block}.prevnext{margin:80px var(--pad) 0;border-top:1px solid var(--rule);font-family:var(--mono);justify-content:space-between;gap:16px;padding-top:24px;font-size:13px;display:flex}.prevnext a{color:var(--leaf)}.photos{padding:16px var(--pad) 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}@media (width<=1000px){.photos{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.photos{grid-template-columns:1fr}}.photos img{object-fit:cover;width:100%;height:260px}.stats{margin:40px var(--pad) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:32px 0;display:grid}@media (width<=800px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stats .n{font-family:var(--serif);color:var(--green);font-size:48px;line-height:1}.stats .l{color:var(--mute);margin-top:8px;font-size:14px}.linklist{flex-direction:column;font-size:16px;display:flex}.linklist a{border-top:1px solid var(--rule);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.linklist a:last-child{border-bottom:1px solid var(--rule)}.linklist .val{font-family:var(--mono);color:var(--leaf);text-align:right;font-size:13px}.timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline li{border-top:1px solid var(--rule);grid-template-columns:150px minmax(0,1fr);gap:24px;padding:18px 0;display:grid}.timeline li:last-child{border-bottom:1px solid var(--rule)}.timeline .when{font-family:var(--mono);color:var(--leaf);padding-top:3px;font-size:13px}.timeline strong{color:var(--ink,inherit);font-size:17px;font-weight:600}.timeline p{color:var(--sub);margin:6px 0 0;font-size:16px;line-height:1.55}@media (width<=720px){.timeline li{grid-template-columns:minmax(0,1fr);gap:6px}}.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}@media (width<=800px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.gallery img{aspect-ratio:1;object-fit:cover;border:1px solid var(--rule);width:100%}.embeds{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}@media (width<=800px){.embeds{grid-template-columns:1fr}}.embeds iframe{aspect-ratio:16/9;border:1px solid var(--rule);background:var(--card);width:100%}.embeds .sub{aspect-ratio:auto;height:320px}.prose .mock{font-family:var(--sans)}.prose p,.prose h2{max-width:720px}.prose .diagram{margin:8px 0 16px}.footer .legal a{color:var(--leaf)}.err{min-height:60vh;padding:0 var(--pad);flex-direction:column;justify-content:center;gap:20px;display:flex}.err h1{font-size:clamp(48px,7vw,96px)}.err p{color:var(--sub);max-width:520px;font-size:18px}.err a{color:var(--leaf);border-bottom:1px solid var(--leaf);align-self:flex-start}.legalpage{padding:clamp(40px, 5vw, 64px) var(--pad) 0;max-width:760px}.legalpage h1{margin-bottom:8px;font-size:clamp(34px,4vw,48px)}.legalpage .upd{font-family:var(--mono);color:var(--mute);margin-bottom:32px;font-size:12px}.legalpage h2{margin:28px 0 10px;font-size:22px}.legalpage p{color:var(--sub);margin-bottom:12px}.eyebrow,.hero .eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.nav .links{font-size:14px}.nav .lang{text-transform:uppercase;font-size:12px;font-weight:600}.hero .actions{font-size:14px;font-weight:600}.section-head .note,.card .stack,.row .when,.facts .k,.footer{letter-spacing:.01em}.card{border-radius:8px}.card .meta{letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.gallery:has(img[src*="/morning-newspaper/"]){grid-template-columns:repeat(3,minmax(0,1fr))}.gallery img[src*="/morning-newspaper/"]{aspect-ratio:3/4;object-fit:contain;background:#fff}@media (width<=800px){.gallery:has(img[src*="/morning-newspaper/"]){grid-template-columns:1fr}}.os-block{flex-direction:column;gap:22px;display:flex}.os-head{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;align-items:end;gap:32px;display:grid}.os-head h2{font-size:clamp(28px,2.6vw,38px);line-height:1.1}.os-head p{color:var(--sub);max-width:56ch;font-size:16.5px}.os-eyebrow{color:var(--leaf);margin-bottom:8px}.more-link{color:var(--leaf);border-bottom:1.5px solid var(--leaf);white-space:nowrap;place-self:flex-start start;padding-bottom:2px;font-weight:600}.more-link:hover{color:var(--ink);border-color:var(--ink)}@media (width<=900px){.os-head{grid-template-columns:1fr;gap:14px}}.two-col{grid-template-columns:minmax(0,4fr) minmax(0,6fr);align-items:start;gap:clamp(32px,4vw,64px);display:grid}.two-col h2{margin-bottom:24px;font-size:clamp(28px,2.6vw,38px)}.tl{border-left:1.5px solid var(--rule);flex-direction:column;gap:28px;margin:0;padding:0 0 0 22px;list-style:none;display:flex}.tl li{flex-direction:column;gap:6px;display:flex;position:relative}.tl li:before{content:"";background:var(--leaf);width:12px;height:12px;box-shadow:0 0 0 4px var(--page);border-radius:50%;position:absolute;top:5px;left:-29px}.tl .when{color:var(--mute);letter-spacing:.02em;font-size:13px;font-weight:600}.tl h3{font-size:21px;line-height:1.25}.tl p{color:var(--sub);font-size:15px}.tl a{color:var(--leaf);border-bottom:1px solid var(--leaf)}.col-builds{flex-direction:column;display:flex}.home-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.home-cards .card{gap:10px;padding:22px}.home-cards .card h3{font-size:23px}.home-cards .card .desc{font-size:15px}@media (width<=900px){.two-col{grid-template-columns:1fr}}@media (width<=560px){.home-cards{grid-template-columns:1fr}}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}@media (width<=1000px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.grid-3{grid-template-columns:1fr}}.grid-3 .card h3{font-size:24px}.grid-3 .card .desc{font-size:15px}.li-icon{vertical-align:-2px;flex:none;display:inline-block}.nav .li{color:var(--cream);display:inline-flex}.nav .li:hover{color:var(--moss)}.footer .li{color:var(--leaf);vertical-align:middle;margin-left:8px;display:inline-flex}.band .hero .actions a.btn{align-items:center;gap:8px;display:inline-flex}.band .hero .actions a.btn.ghost{color:var(--cream);background:0 0;border-color:#f3efe48c}.band .hero .actions a.btn.ghost:hover{background:var(--cream);color:var(--green)}.hero .actions{gap:12px 14px}.hero .actions.sub{gap:28px;margin-top:-8px}.msg-form{flex-direction:column;gap:14px;max-width:560px;margin-top:28px;display:flex}.msg-form label{color:var(--sub);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.msg-form input,.msg-form textarea{font:16px var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:10px 12px}.msg-form input:focus,.msg-form textarea:focus{outline:2px solid var(--leaf);outline-offset:1px}.msg-form button{font:600 15px var(--sans);background:var(--green);color:var(--cream);border:1px solid var(--green);cursor:pointer;border-radius:4px;align-self:flex-start;padding:11px 22px}.msg-form button:hover{background:var(--leaf)}.msg-form .hp{position:absolute;left:-9999px}.msg-form .form-status{color:var(--leaf);min-height:1em;font-size:15px}.band .hero .actions a.btn.linkedin{color:#fff;background:#0a66c2;border-color:#0a66c2}.band .hero .actions a.btn.linkedin:hover{color:#fff;background:#004182;border-color:#004182}@media (width>=801px){.hero{padding-top:clamp(32px,2.6vw,44px)}}
