﻿/* Re-start homepage — sample FV and a white, red and green design system. */
body.home{--color_blue:#009841;--color_blue_bright:#007b35;color:#202620;font-size:15px}
.restart-front{--line:#dfe5df;overflow:clip}.restart-front *{box-sizing:border-box}.restart-front a{color:inherit;text-decoration:none}.restart-front a:focus-visible,.restart-front button:focus-visible{outline:2px solid #c22735;outline-offset:6px}.restart-front .fade_up{opacity:1;transform:none}.restart-front section[id]{scroll-margin-top:100px}
.restart-front .section_inner,.restart-front .flow_inner{width:min(1200px,88%);max-width:none;margin:auto}.restart-front .section_label{font:500 12px var(--Outfit);letter-spacing:.2em;color:#008039;margin-bottom:24px;gap:14px}.restart-front .section_label:before{width:32px;background:#009841}.restart-front .section_title{font-size:clamp(28px,3.3vw,46px);line-height:1.6;letter-spacing:.015em;color:#202620;margin:0 0 26px}.restart-front .section_desc{font-size:15px;line-height:2.2;color:#606760;max-width:600px}.restart-front .more_link,.svc_panel_link{display:inline-flex;font-size:14px;padding:15px 0;border-bottom:1px solid #009841;line-height:1.7}.restart-front .more_link:hover,.svc_panel_link:hover{color:#009841}
.restart-front .btn_primary,.restart-front .btn_outline{display:inline-flex;justify-content:center;align-items:center;min-height:58px;padding:18px 30px;border-radius:50px;font-size:14px;width:auto}.restart-front .btn_primary{background:#c22735;color:#fff;border:1px solid #c22735}.restart-front .btn_primary:hover{background:#a71929}.restart-front .btn_outline{color:#27352b;border:1px solid #afbaaf}.restart-front .btn_outline:hover{border-color:#009841;color:#008039}
body.home .site_header{height:90px;padding:0 4.5%;background:#fffffff5;border-bottom:1px solid #edf0eb}body.home .header_logo svg{width:170px;height:auto;display:block}body.home .header_nav{gap:0}body.home .nav_item>a,body.home .nav_link{font-size:12px;padding:10px 9px;letter-spacing:0}body.home .nav_cta{background:#c22735;border-radius:40px;font-size:12px;padding:15px 20px}body.home .nav_dropdown{background:#fff;border:1px solid #dfe5df;box-shadow:0 12px 30px #24322412}body.home .nav_dropdown a{color:#384438;font-size:13px}body.home .nav_dropdown a:hover{background:#f2f6f0;color:#008039}body.home .nav_item:focus-within .nav_dropdown{opacity:1;pointer-events:auto;transform:none}body.home .nav_item:not(:hover):not(:focus-within) .nav_dropdown{visibility:hidden}body.home .sp_drawer{top:90px;background:#f7f9f5;padding:24px 7%}body.home .sp_drawer_link,body.home .sp_drawer_sub{color:#384438;border-color:#dfe5df;font-size:15px}body.home .sp_drawer_cta{background:#c22735;border-radius:40px;font-size:15px}body.home .hamburger{width:30px;height:44px;gap:6px}body.home .hamburger span{height:2px}body.home .hamburger.is_open span:first-child{transform:translateY(8px) rotate(45deg)}body.home .hamburger.is_open span:last-child{transform:translateY(-8px) rotate(-45deg)}
/* Without JS, show the FV immediately. */
.journey{height:auto;--reveal:1;--intro:0;font-family:var(--NotoSerif)}.journey.is-enhanced{height:700svh}.journey .screen{height:100svh;min-height:620px}.journey .hero-copy{visibility:visible;top:27%}.journey:not(.is-enhanced) .intro,.journey:not(.is-enhanced) .intro-controls{display:none}.journey .fv-cta{color:#fff}.journey .hero-copy h1{font-size:clamp(52px,8.7vw,145px);font-weight:700;line-height:1.28;letter-spacing:-.07em}.journey .hero-copy h1 span{font-size:.72em}.journey .hero-copy h1 em{font-style:normal}.journey .side-note{top:25%}.journey #replay[hidden]{display:none}.journey .hero-copy:focus{outline:none}
.mission,.partner,.seminar,.news{padding:120px 0}.mission_grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.mission_visual{position:relative;padding-bottom:65px}.mission_photo{display:block;width:100%;height:460px;object-fit:cover;border-radius:2px 100px 2px 2px}.mission_card_float{position:absolute;right:-28px;bottom:0;background:#f1f6ef;padding:30px 35px;width:85%;border-left:2px solid #009841}.mission_card_label{font:12px var(--Outfit);letter-spacing:.16em;color:#008039;margin-bottom:12px}.mission_card_float>p:last-child{font-size:19px;line-height:1.9}.hl{color:#008039}.mission_points{list-style:none;padding:25px 0 0;margin:0}.mission_points li{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #dfe5df;font-size:13px;line-height:1.9}.point_dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#009841;margin-top:10px}
.services{background:#f5f7f2;padding:110px 0}.services_heading{margin-bottom:55px}.service_row{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center;padding:55px 0;border-top:1px solid #d5ddd3}.service_row:last-child{padding-bottom:0}.svc_panel_num{font:300 58px var(--Outfit);color:#009841;display:block;margin-bottom:24px}.svc_panel_label{font:13px var(--Outfit);letter-spacing:.14em;color:#70786e;margin-bottom:14px}.svc_panel_title{font-size:clamp(23px,2.3vw,32px);font-weight:500;line-height:1.7;margin:0 0 20px}.svc_panel_desc{font-size:15px;line-height:2.1;color:#606760;margin-bottom:20px}.service_image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:3px}
.flow{padding:115px 0}.flow_diagram{display:grid;grid-template-columns:1fr 48px 1fr 48px 1fr;margin-top:65px;counter-reset:step}.flow_step{padding:35px 28px;background:#f6f8f3;border-top:2px solid #009841;counter-increment:step}.flow_step:before{content:'0' counter(step);display:block;font:32px var(--Outfit);color:#009841;margin-bottom:26px}.flow_step_sub{font-size:13px;color:#6c7667;margin-bottom:12px}.flow_step_title{font-size:30px;font-weight:500;margin-bottom:20px}.flow_step_desc{font-size:14px;line-height:2;color:#606760;margin-bottom:25px}.flow_step_tag{display:inline-block;border:1px solid #ccdac8;border-radius:30px;padding:8px 18px;color:#008039;font-size:12px}.flow_arrow{display:flex;align-items:center;justify-content:center;font-size:23px;color:#009841}.flow_progress_line,.flow_dot_wrap{display:none}
.partner{border-top:1px solid #dfe5df}.partner_header{text-align:center;margin-bottom:50px}.partner_header .section_label{justify-content:center}.partner_logo_grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dfe5df;border-left:1px solid #dfe5df}.partner_logo_box{min-width:0;min-height:180px;padding:28px 20px;border-bottom:1px solid #dfe5df;border-right:1px solid #dfe5df;display:flex;flex-direction:column;justify-content:center;gap:24px}a.partner_logo_box:hover{background:#f5f8f2}.partner_logo_box .partner_logo{width:100%;height:68px;object-fit:contain}.partner_logo_info{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.plb_name,.partner_logo_placeholder{font-size:13px;line-height:1.7}.plb_area{font-size:11px;color:#6c7667}.plb_more{align-items:center;background:#f5f7f2;gap:12px}.plb_more .plb_name{font:23px var(--Outfit);color:#008039}.partner_footer{margin-top:30px;text-align:right}
.works{padding:110px 0;background:#f5f7f2}.works_head,.news_head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:45px}.works_head .section_title,.news_head .section_title{margin:0}.works_grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 38px}.work_card{min-width:0;display:block}.work_photo,.works_card_img_placeholder{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:#e5ebe1}.works_card_img_placeholder{display:grid;place-items:center}.works_card_img_placeholder:after{content:'Re-start';font:32px var(--Outfit);color:#8fa18a}.work_info{padding:24px 0;border-bottom:1px solid #ccd6c7}.work_tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}.work_tag{font-size:11px;padding:5px 12px;border:1px solid #cbd8c6;border-radius:30px;color:#4d6b46}.work_title{font-size:20px;font-weight:500;line-height:1.7}.work_client{font-size:12px;color:#71796d;margin-top:10px}.work_card:hover .work_title{color:#008039}
.seminar_grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.seminar_card{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:30px;border:1px solid #dfe5df;align-items:start}.seminar_date_block{display:flex;flex-direction:column;align-items:center;color:#008039;font:32px var(--Outfit)}.seminar_divider{display:block;width:28px;height:1px;background:#bdcdb8;margin:8px 0}.seminar_tag_row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.seminar_tag,.seminar_status{font-size:11px;line-height:1.5;padding:5px 10px;border-radius:20px;background:#eff4eb;color:#4b663f}.status_open{background:#009841;color:#fff}.status_full,.status_closed{background:#eceeeb;color:#65705f}.seminar_title{font-size:18px;line-height:1.8;margin-bottom:12px}.seminar_meta{font-size:12px;line-height:1.8;color:#606760}.seminar_desc{font-size:13px;line-height:1.9;margin-top:12px}.seminar_btn{grid-column:2;justify-self:start;font-size:13px;padding:12px 25px;border:1px solid #009841;border-radius:30px}.seminar_btn:hover{background:#eff6eb}
.news{padding-top:30px}.news_list{border-top:1px solid #dfe5df}.news_item{display:grid;grid-template-columns:130px 1fr;gap:30px;align-items:center;padding:25px 0;border-bottom:1px solid #dfe5df}.news_photo{width:130px;height:86px;object-fit:cover}.news_body{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}.news_date{font:13px var(--Outfit);color:#65705f;letter-spacing:.06em}.news_badge{font-size:11px;background:#f0f5ed;border-radius:20px;padding:6px 14px}.news_title{width:100%;font-size:16px;line-height:1.8}.news_item:hover .news_title{color:#008039}.empty_text{font-size:14px;color:#606760;line-height:2;padding:35px 0}
.restart-front section.cta{position:relative;background:#eff5e9;padding:95px 6%;text-align:center;overflow:hidden}.cta_content{position:relative;z-index:1}.cta_label{font:12px var(--Outfit);letter-spacing:.2em;color:#008039;margin-bottom:25px;text-transform:uppercase}.cta_title{font-size:clamp(30px,4vw,52px);font-weight:500;line-height:1.7;margin-bottom:24px;letter-spacing:.02em}.cta_desc{font-size:14px;line-height:2;color:#606760}.cta_actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:35px}.cta_bg{position:absolute;width:110%;height:400px;border:1px solid #00984130;border-radius:50%;left:-30%;bottom:-270px;transform:rotate(-12deg)}
body.home .site_footer{background:#fff;padding:75px 6% 30px}body.home .footer_inner{max-width:1200px}body.home .footer_top{grid-template-columns:230px 1fr;gap:60px;border-bottom:1px solid #dfe5df;margin-bottom:30px;padding-bottom:45px}body.home .footer_logo svg{height:40px;width:140px}body.home .footer_logo path[fill='rgb(255, 255, 255)']{fill:#231815}body.home .footer_tagline{font-size:12px;color:#606760;max-width:none;margin-top:22px;line-height:2}body.home .footer_nav{gap:24px}body.home .footer_nav_group h4{font-size:11px;color:#008039;margin-bottom:18px}body.home .footer_nav_group a{font-size:12px;color:#606760;line-height:1.8}body.home .footer_nav_group a:hover{color:#008039}body.home .footer_copy{font-size:11px;color:#6c7667}body.home.admin-bar .site_header{top:32px}
@media(min-width:1400px){body.home .header_nav{gap:8px}}
@media(max-width:1199px){body.home .header_nav{display:none}body.home .hamburger{display:flex}body.home .footer_top{grid-template-columns:1fr;gap:35px}.mission_grid{gap:7%}.mission_card_float{right:-15px}.seminar_card{padding:24px;gap:18px;grid-template-columns:48px 1fr}}
@media(max-width:782px){body.home.admin-bar .site_header{top:46px}}
@media(max-width:700px){body.home .site_header{height:72px;padding:0 7%}body.home .header_logo svg{width:140px}body.home .sp_drawer{top:72px}body.home.admin-bar .sp_drawer{top:118px}.journey .screen{min-height:580px}.journey .hero-copy{top:26%;left:7%;width:86%}.journey .hero-copy h1{font-size:clamp(40px,11.5vw,74px)}.journey .hero-copy h1 span{font-size:.64em}.journey .description{font-size:14px}.journey .side-note{display:none}.restart-front .section_inner,.restart-front .flow_inner{width:86%}.restart-front .section_label{font-size:11px;margin-bottom:18px}.restart-front .section_title{font-size:28px;line-height:1.65}.restart-front .section_desc{font-size:14px;line-height:2.1}.mission,.partner,.seminar,.news,.services,.works,.flow{padding:75px 0}.mission_grid{grid-template-columns:1fr;gap:42px}.mission_visual{padding-bottom:50px}.mission_photo{height:340px;border-top-right-radius:70px}.mission_card_float{right:-10px;padding:22px;width:88%}.mission_card_float>p:last-child{font-size:16px}.service_row{grid-template-columns:1fr;gap:28px;padding:36px 0}.svc_panel_num{font-size:42px;margin-bottom:18px}.svc_panel_title{font-size:24px}.svc_panel_desc{font-size:14px}.services_heading{margin-bottom:35px}.flow_diagram{grid-template-columns:1fr;margin-top:35px}.flow_arrow{height:45px;transform:rotate(90deg)}.flow_step{padding:28px}.flow_step:before{margin-bottom:18px}.partner_logo_grid{grid-template-columns:1fr 1fr}.partner_logo_box{padding:20px 14px;min-height:160px}.partner_logo_box .partner_logo{height:55px}.plb_name{font-size:12px}.partner_header{text-align:left}.partner_header .section_label{justify-content:flex-start}.works_head,.news_head{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:30px}.works_grid{grid-template-columns:1fr;gap:35px}.work_title{font-size:18px}.work_info{padding:20px 0}.seminar_grid{grid-template-columns:1fr}.seminar_card{padding:22px 18px}.seminar_title{font-size:16px}.seminar_date_block{font-size:28px}.news{padding-top:0}.news_item{grid-template-columns:85px 1fr;gap:18px;padding:22px 0}.news_photo{width:85px;height:75px}.news_body{gap:8px}.news_title{font-size:14px}.news_date{font-size:12px}.news_badge{font-size:10px;padding:4px 10px}.restart-front section.cta{padding:70px 7%}.cta_title{font-size:29px}.cta_desc{font-size:13px}.cta_actions{flex-direction:column;gap:12px}.restart-front .btn_primary,.restart-front .btn_outline{width:100%;font-size:13px}body.home .site_footer{padding:55px 7% 25px}body.home .footer_nav{grid-template-columns:1fr 1fr;gap:30px 18px}body.home .footer_top{gap:35px}body.home .footer_nav_group ul{gap:12px}}
@media(max-height:620px) and (min-width:701px){.journey .hero-copy h1{font-size:68px}.journey .hero-copy{top:24%}.journey .description{margin:15px 0}.journey .eyebrow{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){.journey.is-enhanced{height:auto}.journey .intro,.journey .intro-controls,.journey #replay{display:none}.journey .hero-copy,.journey .wave-scene{opacity:1;visibility:visible;transform:none}.restart-front *{transition:none!important;animation:none!important}}
.mission_stats{display:flex;gap:48px;margin-top:28px}.mission_stats>div{display:flex;flex-direction:column-reverse;gap:6px}.mission_stats dt{font-size:12px;color:#606760}.mission_stats dd{font:300 44px var(--Outfit);color:#008039}.mission_stats dd span{font-size:24px;margin-left:4px}
/* Persistent waves sit behind all homepage content, outside the sticky story. */
body.home{isolation:isolate}
.page-waves{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:var(--page-wave-opacity,1);overflow:hidden}
.page-waves .waves{display:block;width:100%;height:100%}
.page-waves path{fill:none;stroke:#009841;stroke-width:.9;opacity:.3}
.page-waves path:first-child{stroke:#c22735;opacity:.6}
.page-waves path:nth-child(3){opacity:.5}
.journey,.journey .screen,.journey .wave-scene{background:transparent}
.restart-front .services,.restart-front .works{background:rgba(245,247,242,.65)}
.restart-front section.cta{background:rgba(239,245,233,.65)}
body.home .site_footer{background:rgba(255,255,255,.65)}
/* Reserve actual content height and space for replay, including short screens. */
.journey .screen{height:auto;min-height:100svh;padding:clamp(135px,24svh,220px) 0 130px}
.journey .hero-copy{position:relative;top:auto;left:auto;margin-left:4.5%;width:74%}
.journey #replay{bottom:max(32px,env(safe-area-inset-bottom));left:4.5%;margin:0}
.journey .intro-controls{inset:auto 5% max(32px,env(safe-area-inset-bottom));flex-direction:row;justify-content:flex-end}
@media(max-width:700px){
 .journey .screen{min-height:100svh;padding:clamp(140px,25svh,210px) 0 150px}
 .journey .hero-copy{top:auto;left:auto;margin-left:7%;width:86%}
 .journey #replay{left:7%}
 .journey .intro-controls{right:7%}
}
@media(prefers-reduced-motion:reduce){.page-waves{opacity:1}}
/* Keep SKIP within the visible viewport even when the FV needs extra height. */
.journey .intro-controls{top:calc(100svh - 90px);bottom:auto}
@media(max-height:780px) and (min-width:701px){
 .journey .hero-copy h1{font-size:clamp(52px,7vw,82px)}
 .journey .screen{padding-top:130px}
 .journey .description{font-size:20px;margin:20px 0}
 .journey .eyebrow{margin-bottom:20px}
}
/* Both sprouts use the same viewport coordinates and SVG coordinate system.
   Their roots meet the waves at (1195, 656) in the 1440 × 820 wave viewBox. */
body.home{--sprout-width:8vw;--sprout-height:20vh}
.page-waves .fv-sprout,.journey .growth{
 position:fixed;left:calc(82.986111vw - var(--sprout-width) / 2);
 top:auto;bottom:20vh;width:var(--sprout-width);height:var(--sprout-height);
 transform:none;pointer-events:none;overflow:visible;
}
.journey .growth .plant{display:block;width:100%;height:100%;overflow:visible}
.page-waves .fv-sprout path{fill:#009841;stroke:none;opacity:1}
.page-waves .fv-sprout path:first-child{fill:none;stroke:#009841;stroke-width:3;opacity:1}
@media(max-width:700px){body.home{--sprout-width:13vw;--sprout-height:17vh}}
/* Draw the waves during the story; only the green sprout waits for the FV. */
.page-waves{opacity:1}
.page-waves .fv-sprout{opacity:var(--sprout-opacity,1)}
@media(max-width:700px){
 /* Preserve the SVG proportions so the open leaves do not look folded. */
 body.home{--sprout-width:20vw;--sprout-height:29.125vw}
}
@media(prefers-reduced-motion:reduce){
 .page-waves .fv-sprout{opacity:1}
 .page-waves .waves path{stroke-dashoffset:0!important}
}

/* Open seminar links occupy the quiet right side of the completed FV. */
.fv-events{position:absolute;z-index:11;top:25%;right:8%;width:min(330px,25vw);opacity:var(--reveal,0);visibility:hidden;transform:translateY(12px);transition:opacity .5s ease,visibility .5s ease,transform .5s ease;pointer-events:none}
body.fv-ready .fv-events{visibility:visible;transform:translateY(0);pointer-events:auto}
.fv-events__label{margin:0 0 11px;font:600 10px/1 var(--Outfit,sans-serif);letter-spacing:.22em;color:#c22735}
.fv-event{display:grid;grid-template-columns:62px 1fr 16px;gap:14px;align-items:center;padding:13px 0;border-top:1px solid rgba(38,48,38,.2);color:#263026}
.fv-event:last-child{border-bottom:1px solid rgba(38,48,38,.2)}
.fv-event time{display:flex;flex-direction:column;border-right:1px solid rgba(38,48,38,.14)}
.fv-event time strong{font:500 23px/1 var(--Outfit,sans-serif);color:#c22735}
.fv-event time span{margin-top:5px;font:10px/1 var(--Outfit,sans-serif);letter-spacing:.1em;color:#687068}
.fv-event__title{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.fv-event__arrow{color:#009841;transition:transform .2s}
.fv-event:hover .fv-event__arrow{transform:translateX(4px)}

/* Status is communicated by the whole event card on both the homepage and archive. */
.restart-front .seminar_card.is-status_open{background:#f4faf4;border-color:rgba(0,152,65,.35);box-shadow:inset 3px 0 #009841}
.restart-front .seminar_card.is-status_full{background:#fff9ec;border-color:#ead7a5;box-shadow:inset 3px 0 #c58a13}
.restart-front .seminar_card.is-status_closed{background:#f0f2f1;border-color:#d8ddda;box-shadow:inset 3px 0 #89918d}
.restart-front .seminar_card.is-status_full .seminar_date_block{color:#a06a00}
.restart-front .seminar_card.is-status_closed .seminar_date_block,.restart-front .seminar_card.is-status_closed .seminar_title,.restart-front .seminar_card.is-status_closed .seminar_meta{color:#747c78}
.restart-front .seminar_card.is-status_full .seminar_btn{border-color:#c58a13;color:#8a600f}
.restart-front .seminar_card.is-status_closed .seminar_btn{border-color:#aab0ad;color:#747c78}

/* Restore the shared reveal motion and stagger card groups gently. */
.restart-front .fade_up{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.65,.3,1),transform .8s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.restart-front .fade_up.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.fv-events{right:7%;top:auto;bottom:13%;width:310px}.journey .hero-copy{width:82%}}
@media(max-width:700px){.fv-events{position:relative;top:auto;right:auto;bottom:auto;width:86%;margin:30px 7% 0}.fv-event{grid-template-columns:54px 1fr 14px}.fv-event time strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.fv-events{opacity:1;visibility:visible;transform:none;pointer-events:auto}.restart-front .fade_up{opacity:1;transform:none}}

/* Slightly quieter header mark. */
body.home .header_logo svg{width:150px}
@media(max-width:700px){body.home .header_logo svg{width:128px}}

/* News cards preserve the 16:9 thumbnail crops prepared in WordPress. */
.news{padding:110px 0}
.news_list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0}
.news_item{position:relative;display:flex;flex-direction:column;gap:0;padding:0;border:1px solid #dfe5df;background:#fff;overflow:hidden;min-width:0;transition:border-color .25s,box-shadow .25s,transform .25s}
.news_media{width:100%;aspect-ratio:16/9;overflow:hidden;background:#edf2ea}
.news_photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.news_body{position:relative;display:flex;align-items:center;align-content:flex-start;gap:10px 12px;min-height:150px;padding:22px 22px 26px}
.news_date{font-size:12px}.news_badge{font-size:10px;padding:5px 11px}.news_title{font-size:16px;line-height:1.75;padding-right:26px}
.news_card_arrow{position:absolute;right:22px;bottom:25px;color:#008039;font-size:18px;transition:transform .25s}
.news_item:hover{background:#fff;border-color:rgba(0,152,65,.45);box-shadow:0 18px 42px rgba(38,55,38,.1);transform:translateY(-4px)}
.news_item:hover .news_photo{transform:scale(1.04)}.news_item:hover .news_card_arrow{transform:translateX(5px)}
@media(max-width:700px){.news{padding:75px 0}.news_list{grid-template-columns:1fr;gap:18px}.news_item{display:flex}.news_media{aspect-ratio:16/9;height:auto;min-height:0}.news_body{min-height:132px;padding:16px 17px 32px;gap:7px}.news_title{font-size:14px;line-height:1.6}.news_card_arrow{right:17px;bottom:13px}.news_date{font-size:11px}}

/* The right rail changes from a story scroll cue to social links as the FV appears. */
.story-scroll-guide,.fv-socials{
 position:fixed;right:clamp(18px,2.3vw,38px);top:50%;z-index:12;
 transform:translateY(-50%);transition:opacity .45s ease,visibility .45s ease,transform .45s ease;
}
.story-scroll-guide{display:flex;flex-direction:column;align-items:center;gap:13px;color:#263026;opacity:calc(1 - var(--reveal,0));visibility:visible}
.story-scroll-guide__label{font:500 10px/1 var(--Outfit,sans-serif);letter-spacing:.24em;writing-mode:vertical-rl}
.story-scroll-guide__line{position:relative;width:1px;height:74px;background:rgba(38,48,38,.22);overflow:hidden}
.story-scroll-guide__line span{position:absolute;inset:-45% 0 auto;height:45%;background:#009841;animation:story-scroll-down 1.8s cubic-bezier(.45,0,.55,1) infinite}
@keyframes story-scroll-down{0%{transform:translateY(0)}70%,100%{transform:translateY(320%)}}
.fv-socials{display:flex;flex-direction:column;gap:10px;opacity:var(--reveal,0);visibility:hidden;transform:translateY(calc(-50% + 12px));pointer-events:none}
body.fv-ready .story-scroll-guide{opacity:0;visibility:hidden;transform:translateY(calc(-50% - 12px))}
body.fv-ready .fv-socials{visibility:visible;transform:translateY(-50%);pointer-events:auto}
.fv-socials a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(38,48,38,.22);border-radius:50%;background:rgba(255,255,255,.82);color:#263026;backdrop-filter:blur(8px);transition:color .2s,border-color .2s,background .2s,transform .2s}
.fv-socials a:hover{color:#fff;background:#009841;border-color:#009841;transform:translateX(-3px)}
.fv-socials svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
.fv-socials .social-icon-fill{fill:currentColor;stroke:none}
.fv-socials__note{font:700 11px/1 Arial,sans-serif;letter-spacing:-.05em}
@media(max-width:700px){
 .story-scroll-guide,.fv-socials{right:12px}
 .story-scroll-guide__label{font-size:9px}
 .story-scroll-guide__line{height:58px}
 .fv-socials{gap:8px}
 .fv-socials a{width:36px;height:36px}
 .fv-socials svg{width:17px;height:17px}
}
@media(prefers-reduced-motion:reduce){
 .story-scroll-guide{display:none}
 .fv-socials{opacity:1;visibility:visible;transform:translateY(-50%);pointer-events:auto}
 .story-scroll-guide__line span{animation:none}
}

/* Keep the fixed social rail above homepage sections. */
.journey .screen { z-index: 30; }
.story-scroll-guide,
.fv-socials { z-index: 32; }

/* Reduced-motion devices keep the scroll story, while continuous motion stays disabled. */
@media(prefers-reduced-motion:reduce){
 .journey.is-enhanced{height:700svh}
 .journey .intro{display:block}
 .journey .intro-controls{display:flex}
 .journey .hero-copy{opacity:var(--reveal);visibility:hidden}
 body.fv-ready .journey .hero-copy{visibility:visible}
 .story-scroll-guide{display:flex;opacity:calc(1 - var(--reveal,0));visibility:visible}
 body.fv-ready .story-scroll-guide{opacity:0;visibility:hidden}
 .fv-socials{opacity:var(--reveal,0);visibility:hidden;pointer-events:none}
 body.fv-ready .fv-socials{opacity:1;visibility:visible;pointer-events:auto}
 .page-waves .fv-sprout{opacity:var(--sprout-opacity,0)}
}

/* Keep the services heading on one balanced line on narrow screens. */
@media(max-width:700px){
 .services_heading .section_title{font-size:clamp(22px,6.7vw,26px);letter-spacing:0;white-space:nowrap}
}
