.frm-home{container:frm/inline-size}.frm-home p a,.frm-home blockquote a{color:var(--teal);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.frm-home p a:hover,.frm-home blockquote a:hover{color:var(--teal-2)}.frm-home section{padding:0 0 96px}.frm-home .section-head{margin-bottom:40px}.frm-home .band{background:var(--sand);padding:88px 0}.frm-home .band+section{padding-top:96px}.frm-home .section-head h2{max-width:none;font-size:clamp(1.8rem,3vw,2.5rem)}.frm-home .section-head p{text-align:left;max-width:56ch;font-size:inherit;margin:8px 0 0}.frm-home .hero{background:var(--ink) radial-gradient(60% 80% at 80% 20%,#0f6e638c,transparent 70%);color:#f3f5f2;margin-top:-24px;padding:0;overflow:hidden}.frm-home .hero:before{display:none}.frm-home .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:48px;min-height:min(78vh,680px);display:grid}.frm-home .hero-grid>.hero-copy{align-self:center;padding:88px 0 96px}.frm-home .hero .eyebrow{color:var(--moss)}.frm-home .hero h1{color:#fff;font-size:clamp(2.4rem,4.4vw,3.6rem)}.frm-home .hero h1 em{color:var(--moss)}.frm-home .hero p.lead{color:#c9d3ce;font-size:1.15rem}.frm-home .hero .actions{align-items:center;gap:8px 22px;margin-top:34px}.frm-home .hero .btn-primary{background:var(--moss);color:var(--ink)}.frm-home .hero .btn-primary:hover{color:var(--ink);background:#c3dcc8}.frm-home .btn-link{color:#fff;text-underline-offset:5px;border-color:#0000;padding:12px 4px;text-decoration:underline;text-decoration-thickness:1px}.frm-home .btn-link:hover{color:var(--moss)}.frm-home .hero a:focus-visible{outline-color:var(--moss)}.frm-home .portrait{place-self:stretch end;width:min(100%,560px);position:relative}.frm-home .portrait img{object-fit:cover;object-position:top center;width:100%;height:100%;max-height:none;display:block;-webkit-mask-image:linear-gradient(90deg,#0000,#000 26% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 26% 82%,#0000)}.frm-home #frm-story{padding-top:96px}.frm-home .story-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:72px;display:grid}.frm-home .story h2{margin:12px 0 20px;font-size:clamp(1.8rem,3vw,2.5rem)}.frm-home .story p{color:var(--ink-2);margin:0 0 18px;font-size:1.03rem}.frm-home .story .btn{margin-top:8px}.frm-home .flow{color:var(--teal);flex-wrap:wrap;gap:6px 0;margin:8px 0 26px;padding:0;font-size:.85rem;font-weight:600;list-style:none;display:flex}.frm-home .flow li{align-items:center;display:inline-flex}.frm-home .flow li+li:before{content:"→";color:var(--gold);margin:0 10px}.frm-home .pillars{gap:0;display:grid}.frm-home .pillar{border-radius:var(--radius);grid-template-columns:44px minmax(0,1fr);gap:20px;margin:0 -16px;padding:26px 16px;text-decoration:none;transition:background .25s;display:grid;position:relative}.frm-home .pillar+.pillar:after{content:"";background:var(--line);height:1px;position:absolute;top:0;left:16px;right:16px}.frm-home .pillar:hover{background:var(--card)}.frm-home .pillar:hover .more{color:var(--teal-2)}.frm-home .pillar .ico{background:var(--sand);width:44px;height:44px;color:var(--teal);border-radius:12px;place-items:center;transition:background .25s,color .25s,transform .25s;display:grid}.frm-home .pillar:hover .ico{background:var(--teal);color:#fff;transform:translateY(-2px)}.frm-home .pillar .ico svg{display:block}.frm-home .pillar h3{margin:0 0 6px;font-size:1.2rem}.frm-home .pillar p{color:var(--ink-2);margin:0 0 8px;font-size:.95rem}.frm-home .pillar .more,.frm-home .eco-card .more,.frm-home .item .more{transition:color .2s,transform .25s;display:inline-block}.frm-home .pillar:hover .more,.frm-home .eco-card:hover .more,.frm-home .item:hover .more{transform:translate(4px)}.frm-home .pillar .more{color:var(--teal);font-size:.88rem;font-weight:600}.frm-home .eco{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:48px;display:grid}.frm-home .eco-card{flex-direction:column;text-decoration:none;display:flex;position:relative}.frm-home .eco-card .logo{justify-content:flex-start;align-items:center;height:96px;margin-bottom:22px;display:flex}.frm-home .eco-card .logo img{object-fit:contain;mix-blend-mode:multiply;filter:grayscale();opacity:.7;width:auto;max-width:100%;height:auto;max-height:96px;transition:filter .25s,opacity .25s;display:block}.frm-home .eco-card:is(:hover,:focus-visible) .logo img{filter:none;opacity:1}.frm-home .eco-card .body{flex-direction:column;flex:1;gap:8px;display:flex}.frm-home .eco-card .tag{letter-spacing:.12em;text-transform:uppercase;color:var(--teal);background:0 0;border-radius:0;align-self:flex-start;padding:0;font-size:.72rem;font-weight:600}.frm-home .eco-card h3{font-size:1.35rem}.frm-home .eco-card p{color:var(--ink-2);flex:1;margin:0;font-size:.95rem}.frm-home .eco-card .more{color:var(--teal);margin-top:6px;font-size:.88rem;font-weight:600}.frm-home .eco-card:hover .more{color:var(--teal-2)}.frm-home .updates{grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:0 56px;display:grid}.frm-home .item{border-top:1px solid var(--line);flex-direction:column;gap:8px;min-width:0;padding:28px 0 32px;text-decoration:none;display:flex}.frm-home .item:hover h3{color:var(--teal)}.frm-home .item:hover .more{color:var(--teal-2)}.frm-home .item .meta{color:var(--ink-2);gap:10px;font-size:.78rem;display:flex}.frm-home .item .meta b{color:var(--teal);font-weight:600}.frm-home .item h3{font-size:1.2rem;transition:color .2s}.frm-home .item p{color:var(--ink-2);flex:1;margin:0;font-size:.92rem}.frm-home .item .more{color:var(--teal);margin-top:6px;font-size:.88rem;font-weight:600}.frm-home .contact{padding:64px 48px}.frm-home .contact-grid{flex-wrap:wrap;align-items:center;gap:48px;display:flex}.frm-home .contact-grid>*{flex:340px;min-width:0}.frm-home .contact h2{margin:12px 0 16px;font-size:clamp(1.9rem,3.2vw,2.8rem)}.frm-home .contact p{font-size:1.05rem}.frm-home .contact .options{gap:12px;display:grid}.frm-home .contact .opt{background:#ffffff0d;border-radius:14px;padding:18px 20px}.frm-home .contact .opt b{color:#fff;font-weight:600;display:block}.frm-home .contact .opt span{color:#b7c2bc;font-size:.92rem}.frm-home .social{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.frm-home .social a{color:#dfe6e2;border:1px solid #3b4a44;border-radius:999px;padding:7px 12px;font-size:.85rem;text-decoration:none}.frm-home .social a:hover{border-color:var(--moss);color:var(--moss)}@media (max-width:560px){.frm-home .contact{border-radius:24px;padding:40px 22px}}@supports (animation-timeline:view()){.frm-home .story,.frm-home .pillar,.frm-home .eco-card,.frm-home .item,.frm-home .contact{animation:linear both frm-rise;animation-timeline:view();animation-range:entry entry 40%}.frm-home .pillar:nth-child(2),.frm-home .eco-card:nth-child(2){animation-range:entry 8% entry 48%}.frm-home .pillar:nth-child(3),.frm-home .eco-card:nth-child(3){animation-range:entry 16% entry 56%}.frm-home .pillar:nth-child(4){animation-range:entry 24% entry 64%}}@keyframes frm-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media print{.frm-home *{animation:none!important}}@container frm (min-width:0){.frm-home .hero h1{font-size:clamp(2.1rem,5.2cqi,3.6rem)}.frm-home .hero p.lead{font-size:clamp(1rem,1.5cqi,1.15rem)}.frm-home .section-head h2,.frm-home .story h2{font-size:clamp(1.6rem,3.6cqi,2.5rem)}.frm-home .contact h2{font-size:clamp(1.7rem,3.8cqi,2.8rem)}}@container frm (max-width:1030px){.frm-home .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}}@container frm (max-width:900px){.frm-home .hero-grid{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}.frm-home .hero-grid>.hero-copy{padding:64px 0 40px}.frm-home .portrait{justify-self:stretch;width:auto;margin:0 -24px}.frm-home .portrait img{aspect-ratio:4/3;-webkit-mask-composite:source-in;height:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000),linear-gradient(#0000,#000 12%);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000),linear-gradient(#0000,#000 12%);-webkit-mask-composite:source-in;mask-composite:intersect}.frm-home .story-grid{grid-template-columns:minmax(0,1fr);gap:40px}.frm-home .eco{gap:36px}.frm-home .contact-grid{gap:32px}}@container frm (max-width:560px){.frm-home section{padding-bottom:72px}.frm-home #frm-story{padding-top:72px}.frm-home .band{padding:64px 0}.frm-home .band+section{padding-top:72px}.frm-home .pillar{margin:0;padding:22px 0}.frm-home .contact{border-radius:24px;padding:40px 22px}}
