/* Frontida public homepage corporate redesign — 2026-08-30
   Presentation-only overrides. Existing public product, careers, resume,
   inquiry, admin-managed media, and modal behavior are intentionally retained. */
:root{
  --corp-green:#196b2c;
  --corp-green-deep:#0f4b22;
  --corp-green-dark:#123f23;
  --corp-orange:#e85b2a;
  --corp-paper:#fbfcfa;
  --corp-soft:#f3f7f2;
  --corp-line:#dfe8df;
  --corp-text:#173d27;
  --corp-muted:#66756b;
}
body.public-home{background:#fff;color:var(--corp-text)}
.section-shell{width:min(1320px,calc(100% - 64px))}

/* Header */
.site-nav{color:#1f2b24;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(18,63,35,.08);box-shadow:0 1px 18px rgba(18,63,35,.04);backdrop-filter:blur(14px)}
.site-nav.scrolled,.site-nav.menu-open{color:#1f2b24;background:rgba(255,255,255,.985)}
.nav-inner{height:78px}
.nav-brand img{height:46px}
.nav-desktop{gap:34px}
.nav-link{font-size:14px;font-weight:600;color:#24392c}
.nav-link:after{height:2px;background:var(--corp-green)}
.nav-actions{padding-left:20px;margin-left:3px;border-left:1px solid #cfd9d1}
.nav-login,.nav-signup{border-radius:999px;padding:9px 21px}
.nav-login{color:var(--corp-green-deep);border-color:var(--corp-green)}
.public-home .nav-signup{background:var(--corp-green);border-color:var(--corp-green)}
.public-home .nav-signup:hover{background:var(--corp-green-deep);border-color:var(--corp-green-deep)}

/* Hero: light editorial composition with an admin-managed group photo */
.hero{min-height:700px;padding-top:78px;display:block;background:linear-gradient(110deg,#f8fbf7 0%,#f5faf7 46%,#e8f0ef 100%);color:var(--corp-text)}
.hero-photo{opacity:.12;background-position:left center;filter:saturate(.72) brightness(1.18)}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,252,250,.98) 0%,rgba(250,252,250,.94) 38%,rgba(250,252,250,.34) 64%,rgba(250,252,250,.08) 100%)}
.hero-grid-overlay,.orb{display:none}
.hero-layout{min-height:620px;grid-template-columns:minmax(430px,.78fr) minmax(0,1.22fr);gap:104px;padding:64px 0 98px}
.hero-copy{align-self:center;max-width:560px}
.hero-badge{margin:0 0 18px;padding:0;border:0;background:none;color:var(--corp-green);font-size:16px;letter-spacing:0;text-transform:none}
.hero-badge i{display:none}
.hero h1{margin:0 0 22px;color:var(--corp-green-deep);font-family:'Source Sans 3',system-ui,sans-serif;font-size:clamp(48px,5.2vw,76px);font-weight:650;line-height:.98;letter-spacing:-.045em}
.hero h1 em{display:inline-block;color:#327a2b;font-family:'DM Serif Display',serif;font-weight:400;letter-spacing:-.025em}
.hero-copy>div>p{max-width:600px;margin:0 0 28px;color:#3f4f46;font-size:17px;line-height:1.55}
.hero-buttons{gap:14px}
.public-home .primary-button{min-width:160px;padding:12px 26px;border-radius:999px;background:var(--corp-green);box-shadow:none}
.public-home .primary-button:hover{background:var(--corp-green-deep);box-shadow:0 10px 24px rgba(15,75,34,.17)}
.public-home .glass-button{min-width:160px;padding:12px 26px;border-radius:999px;border:1px solid var(--corp-green);background:rgba(255,255,255,.74);color:var(--corp-green-deep)}
.public-home .glass-button:hover{background:#fff;color:var(--corp-green-deep)}
.hero-stats{gap:30px;margin-top:28px}
.hero-stats div{min-width:86px;padding-right:24px;border-right:1px solid #d8e2da}
.hero-stats div:last-child{border-right:0}
.hero-stats strong{color:var(--corp-green);font-family:'Source Sans 3',system-ui,sans-serif;font-size:26px;font-weight:750}
.hero-stats small{margin-top:2px;color:#647369;font-size:10px;font-weight:700;letter-spacing:.07em}
.hero-collage{justify-self:end;width:min(100%,780px);height:520px;margin-right:-72px;align-self:end}
.collage-main{top:0;left:0;width:100%;height:100%;border:0;border-radius:0;object-position:center 36%;box-shadow:none;animation:none;filter:saturate(.92) contrast(.98)}
.collage-main:after{content:""}
.collage-secondary{right:auto;bottom:28px;left:24px;width:116px;height:116px;border:4px solid rgba(255,255,255,.94);border-radius:18px;box-shadow:0 12px 30px rgba(12,56,31,.2);animation:none;object-position:center 20%}
.quality-badge{top:auto;bottom:28px;left:156px;padding:10px 15px;border:0;border-radius:12px;background:rgba(255,255,255,.94);color:var(--corp-green-deep);box-shadow:0 10px 26px rgba(12,56,31,.14);animation:none}
.quality-badge small{color:var(--corp-orange);font-weight:800}
.quality-badge strong{font-size:12px}
.support-badge{top:24px;right:22px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.88);color:var(--corp-green-deep);box-shadow:0 10px 28px rgba(12,56,31,.11)}
.support-badge small{color:var(--corp-orange);font-weight:800}
.hero-wave{height:94px;overflow:hidden;z-index:5}
.hero-wave:before,.hero-wave:after{content:"";position:absolute;left:-3%;width:108%;height:54px;border-radius:50% 50% 0 0/100% 100% 0 0;transform:rotate(1.2deg)}
.hero-wave:before{bottom:17px;background:var(--corp-green);clip-path:polygon(0 48%,15% 74%,29% 80%,45% 53%,57% 30%,67% 22%,77% 39%,91% 74%,100% 68%,100% 100%,0 100%)}
.hero-wave:after{bottom:5px;background:var(--corp-orange);clip-path:polygon(0 71%,16% 87%,31% 84%,46% 59%,57% 42%,68% 39%,79% 53%,91% 79%,100% 72%,100% 83%,91% 90%,78% 66%,68% 51%,58% 52%,47% 68%,31% 96%,15% 98%,0 84%)}
.hero-wave svg{position:absolute;bottom:-1px;z-index:3;height:58px}

/* Existing healthcare image strip is preserved, simply made quieter. */
.photo-strip{height:170px;padding:0 0 34px;background:#fff;gap:10px}
.strip-photo{border-radius:0 0 16px 16px}
.strip-photo img{height:136px}
.strip-photo:after{inset:0;background:linear-gradient(to top,rgba(15,75,34,.72),transparent 66%)}
.strip-photo span{bottom:12px;left:18px;font-size:12px}

/* Products */
.products-section{padding:58px 0 76px;background:linear-gradient(180deg,#fff 0%,#f6faf6 100%)}
.section-heading{margin-bottom:38px}
.section-heading>span,.section-label{margin-bottom:7px;color:var(--corp-orange);font-size:11px;font-weight:800;letter-spacing:.12em}
.section-heading h2{margin-bottom:10px;color:var(--corp-green-deep);font-family:'Source Sans 3',system-ui,sans-serif;font-size:clamp(30px,3vw,44px);font-weight:700;letter-spacing:-.025em}
.section-heading h2:after{content:"";display:block;width:36px;height:3px;margin:12px auto 0;border-radius:5px;background:var(--corp-orange)}
.section-heading p{max-width:690px;color:var(--corp-muted);font-size:15px}
.product-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);grid-template-columns:none;gap:14px;overflow-x:auto;padding:4px 4px 18px;scroll-snap-type:x proximity;scrollbar-width:thin}
.product-card{min-width:190px;border:1px solid #e4ebe5;border-radius:12px;box-shadow:0 7px 24px rgba(26,76,43,.06);scroll-snap-align:start}
.product-card:hover{transform:translateY(-5px);box-shadow:0 15px 34px rgba(26,76,43,.12)}
.product-image-wrap{height:175px;background:#fff}
.product-image{max-height:145px}
.product-copy{padding:14px 14px 15px}
.product-copy h3{font-size:15px;line-height:1.25;color:var(--corp-green-deep)}
.product-copy p{font-size:12px;line-height:1.45;color:#6b786f}
.product-row b{color:var(--corp-green);font-size:12px}

/* About / mission / vision */
.purpose-section{padding:78px 0;background:#f7faf6;color:var(--corp-text)}
.purpose-orb{opacity:.16}
.purpose-showcase{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:54px;align-items:center}
.purpose-feature-photo{position:relative;overflow:hidden;min-height:430px;border-radius:22px;box-shadow:0 16px 36px rgba(24,66,39,.1)}
.purpose-feature-photo>img{width:100%;height:430px;object-fit:cover}
.purpose-photo-caption{position:absolute;right:22px;bottom:20px;left:22px;display:flex;flex-direction:column;gap:3px;padding:14px 18px;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 10px 24px rgba(12,56,31,.12)}
.purpose-photo-caption strong{font-size:15px;color:var(--corp-green-deep)}
.purpose-photo-caption span{font-size:12px;color:#718076}
.purpose-copy>.section-label{margin-bottom:8px}
.purpose-copy>h2{margin:0 0 16px;color:var(--corp-green-deep);font-family:'Source Sans 3',system-ui,sans-serif;font-size:clamp(34px,3.6vw,52px);font-weight:750;line-height:1.02;letter-spacing:-.035em}
.purpose-copy>p{margin:0 0 25px;color:#68756c;font-size:16px;line-height:1.72}
.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:4px}
.purpose-card{position:relative;min-height:216px;padding:24px 24px 22px;overflow:hidden;border:1px solid #dce8df;border-radius:20px;background:linear-gradient(145deg,#fff 0%,#fbfdfb 100%);color:var(--corp-text);box-shadow:0 12px 30px rgba(19,77,38,.075);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.purpose-card:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--corp-green),#58a66b)}
.purpose-card:nth-child(2):before{background:linear-gradient(90deg,var(--corp-orange),#f2a366)}
.purpose-card:after{content:'';position:absolute;width:110px;height:110px;border-radius:50%;right:-48px;top:-48px;background:rgba(25,107,44,.045);pointer-events:none}
.purpose-card:nth-child(2):after{background:rgba(232,91,42,.05)}
.purpose-card:hover{transform:translateY(-4px);border-color:#cddfd1;box-shadow:0 18px 38px rgba(19,77,38,.12)}
.purpose-card>div{position:relative;z-index:1;display:flex;align-items:center;gap:13px;padding-bottom:15px;border-bottom:1px solid #edf2ee}
.purpose-card>div>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#e7f4e9,#f3faf4);color:var(--corp-green);font-family:'Source Sans 3',system-ui,sans-serif;font-size:15px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(25,107,44,.08),0 5px 12px rgba(25,107,44,.08)}
.purpose-card:nth-child(2)>div>span{background:linear-gradient(145deg,#fff0ea,#fff8f4);color:var(--corp-orange);box-shadow:inset 0 0 0 1px rgba(232,91,42,.10),0 5px 12px rgba(232,91,42,.07)}
.purpose-card h3{margin:0;color:var(--corp-green-deep);font-family:'Source Sans 3',system-ui,sans-serif;font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.01em}
.purpose-card i{display:none}
.purpose-card p{position:relative;z-index:1;margin:16px 0 0;color:#52645a;font-family:'Source Sans 3',system-ui,sans-serif;font-size:15px;line-height:1.72;font-weight:450}

/* Core values: keep the eight original FRONTIDA cards/images/names, remove only descriptions. */
.values-section{padding:72px 0 82px;background:#fff}
.values-section .section-heading{margin-bottom:26px}
.frontida-letters{display:flex;justify-content:center;gap:8px;margin:0 auto 36px}
.frontida-letters span{display:grid;place-items:center;width:50px;height:50px;border-radius:11px;background:var(--corp-green);color:#fff;font-family:'DM Serif Display',serif;font-size:22px;box-shadow:0 6px 14px rgba(15,75,34,.14)}
.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.value-card{overflow:hidden;border:1px solid #e3eae3;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(20,67,36,.06)}
.value-photo{height:178px}
.value-photo img{height:100%;object-fit:cover}
.value-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,46,24,.8) 0%,rgba(8,46,24,.15) 60%,rgba(8,46,24,.02) 100%)}
.value-tint{opacity:.08}
.value-letter-badge{z-index:3;top:14px;left:14px;width:38px;height:38px;border-radius:9px;background:var(--corp-orange);color:#fff;font-size:18px;font-weight:800;box-shadow:0 7px 15px rgba(133,50,18,.2)}
.value-photo h3{z-index:3;right:14px;bottom:15px;left:14px;margin:0;color:var(--corp-green);font-size:18px;text-shadow:0 1px 3px rgba(255,255,255,.9),0 1px 2px rgba(255,255,255,.65)}
.value-photo>b{opacity:.08}

/* Dark green Why Frontida band */
.why-section{padding:62px 0;background:linear-gradient(110deg,#124f27 0%,#0b3d20 100%);color:#fff}
.why-grid{grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:64px;align-items:center}
.why-copy .section-label{color:#ff8757}
.why-copy h2{margin:0 0 18px;color:#fff;font-family:'Source Sans 3',system-ui,sans-serif;font-size:clamp(34px,4vw,52px);font-weight:750;line-height:1.03;letter-spacing:-.035em}
.why-copy p{max-width:730px;margin:0;color:rgba(255,255,255,.82);font-size:15px;line-height:1.7}
.why-strengths{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:24px}
.why-strengths span{padding:11px 14px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:rgba(255,255,255,.07);color:#fff;font-size:13px;font-weight:600}
.why-photo{overflow:visible;border-radius:18px}
.why-photo img{width:100%;height:330px;object-fit:cover;object-position:center 20%;border-radius:18px;border:1px solid rgba(255,255,255,.15);box-shadow:0 18px 36px rgba(0,0,0,.2)}
.delivery-card{right:16px;bottom:-18px;left:auto;padding:10px 15px;border-radius:10px;background:#fff;color:var(--corp-green-deep);box-shadow:0 10px 22px rgba(0,0,0,.16)}
.delivery-card strong{font-size:13px}.delivery-card span{font-size:10px}

/* Careers: keep openings, application modal, perks, and resume flow; make the top resemble the approved composition. */
.careers-section{padding:76px 0 86px;background:#f7faf7;color:var(--corp-text)}
.careers-heading{display:grid;justify-items:center;width:100%;max-width:920px;margin:0 auto 42px;padding-inline:24px;text-align:center}
.careers-heading>span{display:block;width:100%;color:var(--corp-orange);font-size:11px;font-weight:800;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.careers-heading h2{width:100%;max-width:860px;margin:10px auto 14px;color:var(--corp-green-deep);font-family:'Source Sans 3',system-ui,sans-serif;font-size:clamp(34px,4vw,52px);font-weight:750;line-height:1.05;letter-spacing:-.03em;text-align:center}
.careers-heading h2 em{display:block;margin-inline:auto;color:var(--corp-green);font-family:'DM Serif Display',serif;font-weight:400;text-align:center}
.careers-heading p{width:100%;max-width:760px;margin:0 auto;color:#69776e;font-size:17px;line-height:1.7;text-align:center;text-wrap:balance}
.careers-banner{display:grid;grid-template-columns:1.1fr .9fr;min-height:350px;border:1px solid #e1e9e2;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(27,72,42,.08);overflow:hidden}
.careers-banner>img{position:relative;width:100%;height:100%;min-height:350px;object-fit:cover}
.careers-banner-shade{display:none}
.careers-banner-copy{position:relative;inset:auto;display:flex;flex-direction:column;justify-content:center;padding:38px;color:var(--corp-text)}
.hiring-badge{align-self:flex-start;background:#eef6ee;color:var(--corp-green);border:0}
.careers-banner-copy h3{color:var(--corp-green-deep);font-family:'Source Sans 3',system-ui,sans-serif;font-size:34px;font-weight:750;line-height:1.02;letter-spacing:-.025em}
.careers-banner-copy h3 em{color:var(--corp-green);font-family:'DM Serif Display',serif}
.careers-banner-copy p{color:#66746b}
.career-highlights span{background:#f2f6f2;color:#2e553a;border-color:#e2e9e2}
.open-positions{margin-top:42px}
.positions-heading h3{color:var(--corp-green-deep)}
.positions-heading>span{color:var(--corp-green);background:#eaf4ea}
.job-card{border-radius:14px;background:#fff}
.career-perks{margin-top:52px!important;border-radius:20px!important;background:linear-gradient(110deg,#124f27,#0b3d20)!important}

@media (max-width:1180px){
  .hero-layout{grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);gap:68px}
  .hero-copy{max-width:none}
  .hero-collage{width:100%;margin-right:-20px}
}

@media (max-width:640px){
  .public-home .careers-heading{max-width:100%;margin-bottom:30px;padding-inline:10px}
  .public-home .careers-heading h2{font-size:clamp(31px,10vw,40px);line-height:1.06}
  .public-home .careers-heading p{max-width:34rem;font-size:15px;line-height:1.65}
}

/* Contact card */
.contact-section{padding:74px 0 82px;background:#fff}
.contact-orb{display:none}
.contact-shell{width:min(1170px,calc(100% - 64px))}
.contact-section .section-heading.light>span{color:var(--corp-orange)}
.contact-section .section-heading.light h2{color:var(--corp-green-deep)}
.contact-section .section-heading.light p{color:#65736a}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:0;overflow:hidden;border:1px solid #e0e8e1;border-radius:18px;background:#fff;box-shadow:0 16px 40px rgba(26,70,40,.09)}
.contact-details{padding:34px;background:linear-gradient(145deg,#124f27,#0b3d20);color:#fff}
.contact-details address div{border-color:rgba(255,255,255,.1)}
.contact-details address small{color:#a9cdb2}
.contact-details address strong,.contact-details address a{color:#fff}
.contact-details>img{filter:brightness(0) invert(1);opacity:.95}
.contact-form-wrap{padding:34px;background:#fff}
.contact-form label>span{color:#425349;font-size:12px;font-weight:700}
.contact-form input,.contact-form textarea{border:1px solid #dfe7e0;border-radius:8px;background:#fbfdfb}
.contact-form input:focus,.contact-form textarea:focus{border-color:#5c9969;box-shadow:0 0 0 3px rgba(25,107,44,.09)}
.contact-form button{border-radius:7px;background:var(--corp-green)}
.contact-form button:hover{background:var(--corp-green-deep)}

.site-footer{background:#0c4a24;border-top:0;color:#fff}
.site-footer>div{width:min(1320px,calc(100% - 64px))}
.site-footer img{filter:brightness(0) invert(1)}
.site-footer p,.site-footer a{color:rgba(255,255,255,.82)}

@media (max-width:1100px){
  .section-shell{width:min(100% - 40px,1040px)}
  .nav-desktop{gap:20px}
  .hero-layout{grid-template-columns:.9fr 1.1fr;gap:24px}
  .hero-collage{margin-right:-20px;height:470px}
  .hero h1{font-size:clamp(45px,5.8vw,64px)}
  .purpose-showcase{grid-template-columns:1fr;gap:30px}
  .purpose-feature-photo,.purpose-feature-photo>img{min-height:380px;height:380px}
  .values-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .value-photo{height:155px}
  .why-grid{grid-template-columns:1fr 390px;gap:36px}
}

@media (max-width:900px){
  .site-nav{color:#1f2b24}
  .hero{min-height:auto}
  .hero-layout{grid-template-columns:1fr;padding:50px 0 108px}
  .hero-copy{text-align:center}
  .hero-copy>div>p{margin-right:auto;margin-left:auto}
  .hero-buttons,.hero-stats{justify-content:center}
  .hero-collage{width:100%;height:440px;margin:0}
  .collage-secondary{display:block}
  .photo-strip{grid-template-columns:repeat(2,1fr);height:auto;padding-bottom:22px}
  .strip-photo img{height:150px}
  .purpose-grid{grid-template-columns:1fr 1fr}
  .values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-grid{grid-template-columns:1fr}
  .why-photo{max-width:620px;margin:0 auto;width:100%}
  .careers-banner{grid-template-columns:1fr}
  .careers-banner>img{height:310px;min-height:0}
  .contact-grid{grid-template-columns:1fr}
}

@media (max-width:640px){
  .section-shell,.contact-shell{width:calc(100% - 28px)}
  .nav-inner{width:calc(100% - 28px);height:68px}
  .nav-brand img{height:38px}
  .hero{padding-top:68px}
  .hero-layout{padding:42px 0 90px}
  .hero-badge{font-size:14px}
  .hero h1{font-size:45px;line-height:1.01}
  .hero-copy>div>p{font-size:15px}
  .hero-buttons{flex-direction:column;align-items:stretch}
  .primary-button,.glass-button{width:100%}
  .hero-stats{gap:18px}
  .hero-stats div{min-width:72px;padding-right:14px}
  .hero-stats strong{font-size:23px}
  .hero-collage{height:330px}
  .collage-secondary{width:82px;height:82px;left:12px;bottom:14px;border-radius:12px;border-width:3px}
  .quality-badge{display:none}
  .support-badge{top:12px;right:12px}
  .photo-strip{grid-template-columns:1fr 1fr;gap:6px}
  .strip-photo img{height:116px}
  .products-section{padding-top:44px}
  .product-grid{grid-auto-columns:72vw}
  .purpose-section{padding:58px 0}
  .purpose-feature-photo,.purpose-feature-photo>img{min-height:300px;height:300px}
  .purpose-photo-caption{right:12px;bottom:12px;left:12px;padding:11px 12px}
  .purpose-copy>h2{font-size:36px}
  .purpose-grid{grid-template-columns:1fr}
  .frontida-letters{gap:5px;overflow:hidden}
  .frontida-letters span{width:38px;height:42px;font-size:18px;border-radius:8px}
  .values-grid{grid-template-columns:1fr 1fr;gap:10px}
  .value-photo{height:132px}
  .value-photo h3{font-size:14px}
  .value-letter-badge{top:9px;left:9px;width:31px;height:31px;font-size:14px}
  .why-section{padding:52px 0}
  .why-copy h2{font-size:36px}
  .why-strengths{grid-template-columns:1fr}
  .why-photo img{height:290px}
  .careers-section{padding:58px 0}
  .careers-banner-copy{padding:24px 20px}
  .careers-banner-copy h3{font-size:30px}
  .contact-section{padding:58px 0}
  .contact-details,.contact-form-wrap{padding:24px 20px}
  .site-footer>div{width:calc(100% - 28px)}
}

/* Contact form legibility over the new white panel. */
.contact-form label>span{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:block;margin:0 0 6px;color:#425349;font-size:12px;font-weight:700}
.contact-form input,.contact-form textarea{color:#26372c}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9aa59e}
.form-alert.success{border-color:#b9dfc0;background:#eef9f0;color:#1a5d2b}
.form-alert.error{border-color:#f0c0ad;background:#fff3ee;color:#9b3b1d}

/* ================================================================
   Homepage refinement — 2026-08-30
   Keeps the existing Frontida palette and behavior intact.
   - Product View Details buttons aligned to Frontida green theme
   - Small floating hero portrait removed from presentation
   - Why Work With Us upgraded to a more premium corporate treatment
   ================================================================ */

/* Product detail CTA: match the green public-home theme. */
.public-home .product-row b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:9px 18px;
  border-radius:8px;
  background:var(--corp-green);
  color:#fff;
  font-size:12px;
  font-weight:750;
  line-height:1;
  box-shadow:0 6px 16px rgba(25,107,44,.14);
}
.public-home .product-card:hover .product-row b{
  background:var(--corp-green-deep);
  color:#fff;
  box-shadow:0 8px 20px rgba(15,75,34,.20);
}

/* Remove only the small floating portrait from the hero collage. */
.public-home .collage-secondary{display:none!important}
.public-home .quality-badge{left:24px}

/* Premium careers culture panel, still using the homepage green/orange system. */
.public-home .career-perks{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-top:56px!important;
  padding:66px 54px 48px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 92% 5%,rgba(232,91,42,.15) 0 7%,transparent 7.2%),
    radial-gradient(circle at 9% 95%,rgba(255,255,255,.05) 0 9%,transparent 9.2%),
    linear-gradient(132deg,#0b3d20 0%,#0f4b22 42%,#145927 100%)!important;
  box-shadow:0 24px 58px rgba(10,56,29,.17)!important;
}
.public-home .career-perks:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.15) 1px,transparent 1.2px);
  background-size:24px 24px;
  opacity:.14;
  mask-image:linear-gradient(90deg,#000 0%,transparent 25%,transparent 75%,#000 100%);
}
.public-home .career-perks:after{
  content:"";
  position:absolute;
  top:-180px;
  right:-120px;
  width:390px;
  height:390px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.018),0 0 0 78px rgba(255,255,255,.014);
  background:transparent;
  pointer-events:none;
}
.public-home .career-perks-gridline{display:none!important}
.public-home .career-perks-orb{
  top:18px!important;
  right:18px!important;
  width:120px!important;
  height:120px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(232,91,42,.16),rgba(232,91,42,0) 68%)!important;
  opacity:.75!important;
}

.public-home .career-perks-head.career-perks-head-center{
  position:relative;
  z-index:2;
  margin-bottom:38px!important;
}
.public-home .career-perks-head.career-perks-head-center header{
  max-width:920px!important;
}
.public-home .career-perks-head.career-perks-head-center header>span{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  gap:14px;
  margin-bottom:15px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#ff986e!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
}
.public-home .career-perks-head.career-perks-head-center header>span:before,
.public-home .career-perks-head.career-perks-head-center header>span:after{
  content:"";
  width:54px;
  height:1px;
  background:linear-gradient(90deg,transparent,#e85b2a);
}
.public-home .career-perks-head.career-perks-head-center header>span:after{
  background:linear-gradient(90deg,#e85b2a,transparent);
}
.public-home .career-perks-head.career-perks-head-center header h3{
  margin:0 0 14px!important;
  color:#fff!important;
  font-family:'DM Serif Display',serif!important;
  font-size:clamp(40px,4.4vw,58px)!important;
  font-weight:400!important;
  line-height:1.02!important;
  letter-spacing:-.025em!important;
  text-shadow:0 2px 16px rgba(0,0,0,.08);
}
.public-home .career-perks-head.career-perks-head-center header p{
  max-width:780px!important;
  color:rgba(255,255,255,.82)!important;
  font-size:16px!important;
  line-height:1.75!important;
}

.public-home .perks-grid.perks-grid-full{
  position:relative;
  z-index:2;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
.public-home .perks-grid.perks-grid-full article{
  position:relative!important;
  min-height:218px!important;
  padding:24px 22px 22px!important;
  border:1px solid rgba(221,239,224,.20)!important;
  border-radius:18px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.055))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 26px rgba(0,0,0,.07)!important;
  backdrop-filter:blur(5px)!important;
}
.public-home .perks-grid.perks-grid-full article:before{
  content:"";
  position:absolute;
  right:20px;
  bottom:16px;
  left:20px;
  width:30px;
  height:2px;
  border-radius:2px;
  background:var(--corp-orange);
  opacity:1;
}
.public-home .perks-grid.perks-grid-full article:hover{
  transform:translateY(-5px)!important;
  border-color:rgba(255,255,255,.32)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.145),rgba(255,255,255,.075))!important;
  box-shadow:0 16px 34px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.public-home .perks-grid.perks-grid-full article>span{
  width:54px!important;
  height:54px!important;
  margin-bottom:15px!important;
  border:1px solid rgba(160,207,167,.32)!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,rgba(88,151,98,.36),rgba(255,255,255,.08))!important;
  box-shadow:inset 0 0 0 5px rgba(10,57,29,.16),0 5px 14px rgba(0,0,0,.10)!important;
  font-size:24px!important;
}
.public-home .perks-grid.perks-grid-full h4{
  margin:0 0 8px!important;
  color:#fff!important;
  font-family:'Source Sans 3',system-ui,sans-serif!important;
  font-size:18px!important;
  font-weight:720!important;
  line-height:1.25!important;
}
.public-home .perks-grid.perks-grid-full p{
  padding-bottom:14px;
  color:rgba(255,255,255,.76)!important;
  font-size:13px!important;
  line-height:1.7!important;
}

.public-home .career-resume.career-resume-banner{
  position:relative;
  z-index:2;
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) auto!important;
  align-items:center!important;
  gap:26px!important;
  max-width:1180px!important;
  margin:22px auto 0!important;
  padding:24px 26px!important;
  border:1px solid rgba(198,226,203,.23)!important;
  border-radius:18px!important;
  background:linear-gradient(90deg,rgba(255,255,255,.085),rgba(255,255,255,.055))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  text-align:left!important;
}
.public-home .career-resume.career-resume-banner .career-resume-copy{
  position:relative;
  max-width:none!important;
  padding-left:68px;
}
.public-home .career-resume.career-resume-banner .career-resume-copy:before{
  content:"💼";
  position:absolute;
  top:50%;
  left:0;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  transform:translateY(-50%);
  border:1px solid rgba(232,91,42,.42);
  border-radius:50%;
  background:rgba(10,58,29,.36);
  font-size:22px;
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.035);
}
.public-home .career-resume.career-resume-banner .career-resume-copy small{
  margin-bottom:5px!important;
  color:#ff986e!important;
  font-size:12px!important;
  letter-spacing:.11em!important;
}
.public-home .career-resume.career-resume-banner .career-resume-copy p{
  max-width:650px;
  color:rgba(255,255,255,.80)!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.public-home .career-resume.career-resume-banner .career-resume-actions{
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-top:0!important;
}
.public-home .career-resume.career-resume-banner a{
  min-width:190px!important;
  padding:13px 21px!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:750!important;
  white-space:nowrap;
}
.public-home .career-resume.career-resume-banner .career-resume-secondary{
  border:1px solid rgba(255,255,255,.34)!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--corp-green-deep)!important;
}
.public-home .career-resume.career-resume-banner .career-resume-secondary:hover{
  border-color:#fff!important;
  background:#fff!important;
  color:var(--corp-green-dark)!important;
}
.public-home .career-resume.career-resume-banner a:not(.career-resume-secondary){
  border:1px solid var(--corp-orange)!important;
  background:var(--corp-orange)!important;
  box-shadow:0 8px 20px rgba(151,53,18,.24)!important;
}

@media (max-width:1100px){
  .public-home .perks-grid.perks-grid-full{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .public-home .career-resume.career-resume-banner{grid-template-columns:1fr!important;text-align:center!important}
  .public-home .career-resume.career-resume-banner .career-resume-copy{padding:64px 0 0;text-align:center}
  .public-home .career-resume.career-resume-banner .career-resume-copy:before{top:0;left:50%;transform:translateX(-50%)}
  .public-home .career-resume.career-resume-banner .career-resume-copy p{margin-right:auto!important;margin-left:auto!important}
  .public-home .career-resume.career-resume-banner .career-resume-actions{justify-content:center!important}
}
@media (max-width:700px){
  .public-home .career-perks{padding:46px 18px 28px!important;border-radius:18px!important}
  .public-home .career-perks-head.career-perks-head-center header>span:before,
  .public-home .career-perks-head.career-perks-head-center header>span:after{width:26px}
  .public-home .career-perks-head.career-perks-head-center header h3{font-size:38px!important}
  .public-home .perks-grid.perks-grid-full{grid-template-columns:1fr!important;gap:12px!important}
  .public-home .perks-grid.perks-grid-full article{min-height:auto!important;padding:20px 18px!important}
  .public-home .career-resume.career-resume-banner{padding:22px 18px!important}
  .public-home .career-resume.career-resume-banner .career-resume-actions{width:100%!important;flex-direction:column!important}
  .public-home .career-resume.career-resume-banner a{width:100%!important;min-width:0!important}
}


/* ================================================================
   Hero layout repair — 2026-08-30
   Stabilizes the corporate hero across wide screens. The earlier
   layered clip-path wave could break into disconnected bands at
   certain viewport widths. The wave is now rendered by one SVG.
   ================================================================ */
.public-home .hero{
  overflow:hidden!important;
  isolation:isolate;
}
.public-home .hero-photo{
  opacity:.055!important;
}
.public-home .hero-photo:after{
  background:linear-gradient(90deg,rgba(250,252,250,.99) 0%,rgba(250,252,250,.96) 39%,rgba(250,252,250,.58) 62%,rgba(250,252,250,.30) 100%)!important;
}
.public-home .hero-layout{
  position:relative;
  z-index:2;
}
@media (max-width:1100px){
  .public-home .hero-layout{grid-template-columns:minmax(410px,.9fr) minmax(0,1.1fr);gap:40px}
}
.public-home .hero-collage{
  z-index:1;
  min-width:0;
}
.public-home .collage-main{
  display:block;
  object-position:center 40%!important;
}
.public-home .hero-wave{
  position:absolute!important;
  right:0!important;
  bottom:-1px!important;
  left:0!important;
  z-index:6!important;
  height:86px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.public-home .hero-wave:before,
.public-home .hero-wave:after{
  content:none!important;
  display:none!important;
}
.public-home .hero-wave svg{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  display:block!important;
  width:100%!important;
  height:86px!important;
  max-width:none!important;
}
@media (min-width:1321px){
  .public-home .hero-collage{
    width:calc(100% + ((100vw - 1320px) / 2))!important;
    margin-right:calc((100vw - 1320px) / -2)!important;
  }
}
@media (max-width:900px){
  .public-home .hero-wave,
  .public-home .hero-wave svg{height:72px!important}
  .public-home .hero-photo{opacity:.035!important}
}
@media (max-width:640px){
  .public-home .hero-wave,
  .public-home .hero-wave svg{height:58px!important}
}

/* ================================================================
   Product showcase refinement — 2026-08-30
   Compact homepage carousel + in-page "View All Products" expansion.
   Product details remain available by clicking any card.
   ================================================================ */
.public-home .products-section{
  padding:34px 0 52px;
  background:linear-gradient(180deg,#fff 0%,#f7faf7 100%);
}
.public-home .product-section-heading{
  margin-bottom:18px;
}
.public-home .product-section-heading>span{
  margin-bottom:6px;
  color:var(--corp-green);
  font-size:12px;
  font-weight:800;
  letter-spacing:.10em;
}
.public-home .product-section-heading h2{
  margin:0;
  font-size:42px;
  line-height:1.08;
  color:var(--corp-green-deep);
  letter-spacing:-.02em;
}
.public-home .product-section-heading h2:after{
  width:38px;
  height:3px;
  margin-top:10px;
  background:var(--corp-orange);
}
.public-home .product-showcase{
  position:relative;
  padding:0 58px;
}
.public-home .product-grid{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 56px) / 5);
  grid-template-columns:none;
  gap:14px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-behavior:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  padding:8px 2px 16px;
}
.public-home .product-grid::-webkit-scrollbar{display:none}
.public-home .product-card{
  min-width:190px;
  overflow:hidden;
  border:1px solid #dfe9e1;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(26,76,43,.06);
  scroll-snap-align:start;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease;
}
.public-home .product-card:hover{
  transform:translateY(-6px) scale(1.01);
  border-color:#cfe0d2;
  box-shadow:0 18px 38px rgba(26,76,43,.14);
}
.public-home .product-open{
  display:flex;
  min-height:100%;
  flex-direction:column;
  align-items:stretch;
  text-align:center;
}
.public-home .product-image-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  height:172px;
  padding:18px 18px 12px;
  overflow:hidden;
  background:radial-gradient(circle at top,#ffffff 0%,#f9fcfa 68%,#f4faf5 100%);
}
.public-home .product-image{
  width:100%;
  height:100%;
  max-height:142px;
  object-fit:contain;
  transform:none!important;
  filter:drop-shadow(0 10px 12px rgba(31,81,47,.10));
  transition:transform .35s ease;
}
.public-home .product-card:hover .product-image{
  transform:scale(1.04)!important;
}
.public-home .product-placeholder img{
  max-width:72%;
  max-height:68%;
}
.public-home .product-copy{
  display:flex;
  flex:1;
  align-items:center;
  justify-content:center;
  min-height:64px;
  padding:10px 12px 14px;
}
.public-home .product-copy h3{
  margin:0;
  color:var(--corp-green-deep);
  font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:15px;
  font-weight:800;
  line-height:1.18;
}
.public-home .product-summary,
.public-home .product-cta{display:none}
.public-home .product-summary{margin:0;color:#5f6f61;font-family:'Source Sans 3',system-ui,sans-serif;font-size:14px;line-height:1.65}
.public-home .product-cta{align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border-radius:12px;background:var(--corp-green);color:#fff;font-family:'Source Sans 3',system-ui,sans-serif;font-size:14px;font-weight:800;box-shadow:0 10px 24px rgba(25,107,44,.16);transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.public-home .product-card:hover .product-cta{background:var(--corp-green-deep);transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,75,34,.18)}
.public-home .product-nav{
  position:absolute;
  top:50%;
  z-index:3;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  margin-top:-22px;
  border:1.5px solid var(--corp-green);
  border-radius:50%;
  background:#fff;
  color:var(--corp-green);
  font-family:Arial,sans-serif;
  font-size:28px;
  font-weight:400;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(25,107,44,.10);
  transition:background .18s ease,color .18s ease,transform .18s ease,opacity .18s ease,box-shadow .18s ease;
}
.public-home .product-nav:hover{
  background:var(--corp-green);
  color:#fff;
  transform:scale(1.05);
}
.public-home .product-nav:disabled{
  opacity:.35;
  cursor:default;
  transform:none;
}
.public-home .product-nav-prev{left:4px}
.public-home .product-nav-next{right:4px;background:var(--corp-green);color:#fff}
.public-home .product-nav:active{transform:scale(.97)}
.public-home .product-nav-next:hover{background:var(--corp-green-deep)}
.public-home .product-expand-wrap{
  display:flex;
  justify-content:center;
  margin-top:6px;
}
.public-home .product-expand-button{
  min-height:34px;
  padding:8px 20px;
  border:0;
  border-radius:999px;
  background:var(--corp-green);
  color:#fff;
  font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(25,107,44,.14);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.public-home .product-expand-button:hover{
  background:var(--corp-green-deep);
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(15,75,34,.18);
}

/* Expanded state: every public product stays on the homepage in a larger catalog grid. */
.public-home .product-showcase[data-expanded="true"]{
  padding:0;
}
.public-home .product-showcase[data-expanded="true"] .product-grid{
  grid-auto-flow:row;
  grid-auto-columns:auto;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:visible;
  gap:28px;
  scroll-snap-type:none;
  padding:14px 0 10px;
}
.public-home .product-showcase[data-expanded="true"] .product-card{
  min-width:0;
  border-radius:22px;
  box-shadow:0 16px 38px rgba(26,76,43,.10);
}
.public-home .product-showcase[data-expanded="true"] .product-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 46px rgba(26,76,43,.16);
}
.public-home .product-showcase[data-expanded="true"] .product-open{
  text-align:left;
}
.public-home .product-showcase[data-expanded="true"] .product-image-wrap{
  height:214px;
  padding:22px 22px 10px;
  background:linear-gradient(180deg,#eef5ef 0%,#f7fbf8 100%);
}
.public-home .product-showcase[data-expanded="true"] .product-image{
  max-height:182px;
}
.public-home .product-showcase[data-expanded="true"] .product-copy{
  align-items:flex-start;
  justify-content:flex-start;
  min-height:210px;
  padding:20px 22px 24px;
  text-align:left;
}
.public-home .product-showcase[data-expanded="true"] .product-copy h3{
  font-size:18px;
  line-height:1.24;
}
.public-home .product-showcase[data-expanded="true"] .product-summary{
  display:block;
}
.public-home .product-showcase[data-expanded="true"] .product-cta{
  display:inline-flex;
  margin-top:auto;
}
.public-home .product-showcase[data-expanded="true"] .product-nav{
  display:none;
}
.public-home .product-showcase[data-expanded="true"] .product-carousel-clone{
  display:none;
}

@media (max-width:1280px){
  .public-home .product-showcase[data-expanded="true"] .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1100px){
  .public-home .product-showcase[data-expanded="true"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
}
@media (max-width:1240px){
  .public-home .product-grid{grid-auto-columns:calc((100% - 42px) / 4)}
}
@media (max-width:900px){
  .public-home .product-section-heading h2{font-size:38px}
  .public-home .product-section-heading>span{font-size:11px}
  .public-home .product-grid{grid-auto-columns:calc((100% - 24px) / 3)}
  .public-home .product-showcase[data-expanded="true"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media (max-width:640px){
  .public-home .products-section{padding:28px 0 42px}
  .public-home .product-section-heading h2{font-size:34px}
  .public-home .product-section-heading>span{font-size:10px}
  .public-home .product-showcase{padding:0 38px}
  .public-home .product-grid{grid-auto-columns:78vw;gap:12px}
  .public-home .product-image-wrap{height:168px;padding:18px 16px 10px}
  .public-home .product-copy{min-height:62px}
  .public-home .product-copy h3{font-size:14px}
  .public-home .product-nav{width:30px;height:30px;font-size:24px}
  .public-home .product-nav-prev{left:0}
  .public-home .product-nav-next{right:0}
  .public-home .product-showcase[data-expanded="true"] .product-grid{grid-template-columns:1fr;gap:16px}
  .public-home .product-showcase[data-expanded="true"] .product-image-wrap{height:220px;padding:18px 18px 8px}
  .public-home .product-showcase[data-expanded="true"] .product-image{max-height:188px}
  .public-home .product-showcase[data-expanded="true"] .product-copy{min-height:0;padding:18px 18px 20px}
  .public-home .product-showcase[data-expanded="true"] .product-copy h3{font-size:17px}
}


/* ================================================================
   Admin-safe hero media frame — 2026-08-30
   Keeps arbitrary Admin uploads inside a stable professional frame.
   ================================================================ */
.public-home .hero-collage{
  position:relative!important;
  width:100%!important;
  height:500px!important;
  margin-right:0!important;
  align-self:center!important;
  overflow:hidden!important;
  border:1px solid rgba(25,107,44,.10)!important;
  border-radius:28px!important;
  background:#eef5ef!important;
  box-shadow:0 22px 54px rgba(15,75,34,.12)!important;
}
.public-home .hero-collage::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  z-index:2;
  width:18%;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(248,251,247,.72) 0%,rgba(248,251,247,.30) 42%,rgba(248,251,247,0) 100%);
}
.public-home .collage-main{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  border:0!important;
  border-radius:0!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  filter:saturate(.96) contrast(.99)!important;
  transform:scale(1.002);
  transition:transform 5s ease,object-position .25s ease!important;
}
.public-home .hero-collage:hover .collage-main{
  transform:scale(1.018);
}
.public-home .collage-secondary,
.public-home .quality-badge,
.public-home .support-badge{
  display:none!important;
}
@media (min-width:1321px){
  .public-home .hero-collage{
    width:100%!important;
    margin-right:0!important;
  }
}
@media (max-width:1100px){
  .public-home .hero-collage{height:460px!important;border-radius:24px!important}
}
@media (max-width:900px){
  .public-home .hero-collage{height:430px!important;border-radius:22px!important}
  .public-home .hero-collage::before{width:12%;opacity:.55}
}
@media (max-width:640px){
  .public-home .hero-collage{height:330px!important;border-radius:18px!important}
  .public-home .hero-collage::before{display:none}
}
@media (prefers-reduced-motion:reduce){
  .public-home .collage-main{transition:none!important}
  .public-home .hero-collage:hover .collage-main{transform:scale(1.002)}
}

/* 2026-08-30: View All Products layout repair.
   Keep expanded cards vertical and readable regardless of inherited flex rules. */
.public-home .product-showcase[data-expanded="true"] .product-card{
  display:block;
  overflow:hidden;
  height:100%;
}
.public-home .product-showcase[data-expanded="true"] .product-open{
  display:flex;
  width:100%;
  height:100%;
  min-height:500px;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  padding:0;
  border:0;
  background:#fff;
  color:inherit;
  text-align:left;
}
.public-home .product-showcase[data-expanded="true"] .product-image-wrap{
  flex:0 0 auto;
  width:100%;
  height:238px;
  padding:24px 24px 16px;
}
.public-home .product-showcase[data-expanded="true"] .product-image{
  width:100%;
  height:100%;
  max-height:198px;
  object-fit:contain;
}
.public-home .product-showcase[data-expanded="true"] .product-copy{
  display:flex;
  width:100%;
  flex:1 1 auto;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:12px;
  min-height:230px;
  padding:22px 24px 24px;
  box-sizing:border-box;
  text-align:left;
}
.public-home .product-showcase[data-expanded="true"] .product-copy h3{
  width:100%;
  margin:0;
  color:var(--corp-green-deep);
  font-size:20px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.public-home .product-showcase[data-expanded="true"] .product-summary{
  display:-webkit-box;
  width:100%;
  margin:0;
  color:#607066;
  font-size:14px;
  line-height:1.6;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.public-home .product-showcase[data-expanded="true"] .product-cta{
  display:flex;
  width:100%;
  min-height:44px;
  margin-top:auto;
  align-items:center;
  justify-content:center;
  padding:11px 16px;
  border-radius:12px;
  white-space:nowrap;
}
@media (max-width:1280px){
  .public-home .product-showcase[data-expanded="true"] .product-open{min-height:480px}
}
@media (max-width:900px){
  .public-home .product-showcase[data-expanded="true"] .product-open{min-height:460px}
  .public-home .product-showcase[data-expanded="true"] .product-image-wrap{height:220px}
  .public-home .product-showcase[data-expanded="true"] .product-image{max-height:184px}
}
@media (max-width:640px){
  .public-home .product-showcase[data-expanded="true"] .product-open{min-height:0}
  .public-home .product-showcase[data-expanded="true"] .product-image-wrap{height:230px}
  .public-home .product-showcase[data-expanded="true"] .product-image{max-height:196px}
  .public-home .product-showcase[data-expanded="true"] .product-copy{min-height:210px;padding:20px}
  .public-home .product-showcase[data-expanded="true"] .product-copy h3{font-size:19px}
}

/* 2026-08-30: Final expanded product catalog cleanup.
   Expanded View All shows each real product once: image, name, and CTA only. */
.public-home .product-showcase[data-expanded="true"] .product-carousel-clone{
  display:none!important;
}
.public-home .product-showcase[data-expanded="true"] .product-summary{
  display:none!important;
}
.public-home .product-showcase[data-expanded="true"] .product-open{
  min-height:380px;
}
.public-home .product-showcase[data-expanded="true"] .product-image-wrap{
  height:250px;
  padding:24px 24px 14px;
}
.public-home .product-showcase[data-expanded="true"] .product-image{
  max-height:212px;
}
.public-home .product-showcase[data-expanded="true"] .product-copy{
  flex:1 1 auto;
  min-height:126px;
  gap:14px;
  padding:18px 22px 22px;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}
.public-home .product-showcase[data-expanded="true"] .product-copy h3{
  text-align:center;
  font-size:19px;
  line-height:1.25;
}
.public-home .product-showcase[data-expanded="true"] .product-cta{
  width:auto;
  min-width:150px;
  max-width:100%;
  margin-top:auto;
  padding:11px 20px;
}
@media (max-width:900px){
  .public-home .product-showcase[data-expanded="true"] .product-open{min-height:360px}
  .public-home .product-showcase[data-expanded="true"] .product-image-wrap{height:228px}
  .public-home .product-showcase[data-expanded="true"] .product-image{max-height:194px}
}
@media (max-width:640px){
  .public-home .product-showcase[data-expanded="true"] .product-open{min-height:0}
  .public-home .product-showcase[data-expanded="true"] .product-image-wrap{height:235px}
  .public-home .product-showcase[data-expanded="true"] .product-image{max-height:200px}
  .public-home .product-showcase[data-expanded="true"] .product-copy{min-height:118px;padding:17px 18px 20px}
}

/* ================================================================
   Hero desktop spacing refinement — 2026-08-30
   Gives the headline and admin-managed hero photo more breathing room.
   Desktop only; responsive tablet/mobile composition is preserved.
   ================================================================ */
@media (min-width:1101px){
  .public-home .hero-layout{
    grid-template-columns:minmax(470px,.90fr) minmax(0,1.10fr)!important;
    gap:108px!important;
  }
  .public-home .hero-collage{
    transform:translateX(28px);
  }
}

/* ================================================================
   Hero full-right desktop alignment — 2026-08-30
   Keep the copy aligned to the normal content shell, while allowing
   the image column to use the otherwise empty viewport space at right.
   ================================================================ */
@media (min-width:1400px){
  .public-home .hero-layout{
    width:calc(100% + ((100vw - 1320px) / 2) - 36px)!important;
    max-width:none!important;
    grid-template-columns:560px minmax(0,1fr)!important;
    gap:92px!important;
  }
  .public-home .hero-copy{
    width:560px!important;
    max-width:560px!important;
  }
  .public-home .hero-collage{
    justify-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    margin-right:0!important;
    transform:none!important;
  }
}
@media (min-width:1800px){
  .public-home .hero-layout{
    width:calc(100% + ((100vw - 1320px) / 2) - 28px)!important;
  }
}
