/* Auto-split from css/style.css. Keep page-specific styles here. */
@import url('prodv2-shared.css?v=1.1.1');

/* ---------- AM Fresh style photo hero with highlighted text ---------- */
.impact-hero{position:relative; min-height:520px; border-radius:26px; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:60px; margin-bottom:10px;}
.impact-hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.impact-hero::before{content:""; position:absolute; inset:0; background:rgba(6,56,28,.45); z-index:1;}
.impact-hero-text{position:relative; z-index:2; max-width:900px; text-align:center; font-size:clamp(1.3rem,2.6vw,2rem); font-weight:600; color:rgba(255,255,255,.75); line-height:1.5;}
.impact-hero-text b{color:#fff; font-weight:800;}

/* ---------- Photo break (3-col) ---------- */
.photo-break{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:760px){.photo-break{grid-template-columns:1fr;}}
.photo-break img{width:100%; height:280px; object-fit:cover; border-radius:20px; box-shadow:0 14px 30px rgba(80,55,22,.1);}

/* ---------- Soft icon cards (Environmental Responsibility) ---------- */
.soft-cards-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; text-align:left;}
@media (max-width:860px){.soft-cards-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.soft-cards-grid{grid-template-columns:1fr;}}
.soft-card{
  background:rgba(255,252,246,.72); border:1px solid rgba(169,143,105,.25);
  border-radius:20px; padding:34px 28px; box-shadow:0 12px 28px rgba(80,55,22,.06);
  transition:transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .4s ease;
}
.soft-card:hover{transform:translateY(-8px) scale(1.02); box-shadow:0 20px 44px rgba(80,55,22,.12);}
.soft-card .icon-circle{
  width:56px; height:56px; border-radius:50%; background:#fff; border:1px solid rgba(208,121,0,.3);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1), background .4s ease;
}
.soft-card:hover .icon-circle{transform:rotate(360deg); background:var(--av-ink,#0b2819);}
.soft-card:hover .icon-circle .icon{color:#fff;}
.soft-card .icon-circle .icon{width:26px; height:26px; color:var(--av-gold,#d07900); transition:color .3s ease;}
.soft-card h4{font-family:var(--hm-serif,Georgia,serif); font-weight:500; font-size:1.15rem; margin-bottom:10px; text-transform:none; letter-spacing:0; color:var(--av-ink,#0b2819);}
.soft-card p{font-size:.88rem; color:var(--av-muted,#5f5b53); line-height:1.6;}

/* ---------- Arc diagram (AM Fresh commitment) ---------- */
.arc-card{background:var(--green); border-radius:26px; padding:60px 40px; text-align:center; color:#fff; margin-top:40px;}
.arc-row{display:flex; justify-content:center; align-items:flex-end; gap:60px; flex-wrap:wrap; margin-bottom:30px;}
.arc-item{display:flex; flex-direction:column; align-items:center; gap:10px; max-width:180px;}
.arc-item .icon-circle{width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center;}
.arc-item .icon-circle .icon{width:28px; height:28px; color:var(--orange);}
.arc-item span{font-size:.82rem; font-weight:700; letter-spacing:.3px;}
.arc-card p{color:#dfe9e2; max-width:700px; margin:0 auto;}

/* ---------- Accordion (Social Responsibility) ---------- */
.accordion{margin-top:40px; border-top:1px solid rgba(169,143,105,.3);}
.accordion-item{border-bottom:1px solid rgba(169,143,105,.3);}
.accordion-head{
  display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 4px; cursor:pointer;
  background:none; border:none; width:100%; text-align:left; font-family:var(--font);
}
.accordion-head h4{font-family:var(--hm-serif,Georgia,serif); font-weight:500; font-size:1.2rem; text-transform:none; letter-spacing:0; color:var(--av-ink,#0b2819);}
.accordion-head .plus{width:26px; height:26px; border-radius:50%; border:2px solid var(--av-gold,#d07900); flex-shrink:0; position:relative;}
.accordion-head .plus::before, .accordion-head .plus::after{content:""; position:absolute; background:var(--av-gold,#d07900); top:50%; left:50%; transform:translate(-50%,-50%);}
.accordion-head .plus::before{width:10px; height:2px;}
.accordion-head .plus::after{width:2px; height:10px; transition:opacity .2s ease;}
.accordion-item.open .accordion-head .plus::after{opacity:0;}
.accordion-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.accordion-body p{padding:0 4px 26px; color:var(--av-muted,#5f5b53); font-size:.92rem; line-height:1.65;}
.accordion-item.open .accordion-body{max-height:200px;}


/* ==================== SUSTAINABILITY PAGE V2 ==================== */
.susv2-page{
  background:
    radial-gradient(circle at 14% 12%, rgba(239,121,0,.08), transparent 27%),
    radial-gradient(circle at 88% 18%, rgba(6,53,31,.08), transparent 30%),
    var(--pv-bg);
  overflow:hidden;
}
.susv2-breadcrumb{
  margin-bottom:24px;
  color:rgba(6,53,31,.62);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.susv2-breadcrumb a{
  color:var(--pv-orange);
}
/* ---------- Full-bleed video hero (same language as the homepage hero) ---------- */
.susv2-fullhero{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.susv2-fullhero-bg{
  position:absolute; inset:0; z-index:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  animation:susvKenBurns 24s ease-in-out infinite alternate;
}
.susv2-fullhero-video{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%;
  object-fit:cover;
  animation:susvKenBurns 24s ease-in-out infinite alternate;
}
@keyframes susvKenBurns{from{transform:scale(1)}to{transform:scale(1.08)}}
.susv2-fullhero::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(75deg, rgba(7,32,18,.9) 0%, rgba(7,32,18,.5) 46%, rgba(7,32,18,.08) 75%),
    linear-gradient(0deg, rgba(7,32,18,.8) 0%, transparent 38%);
}
.susv2-fullhero-inner{
  position:relative; z-index:2; width:100%;
  padding-top:clamp(140px, 16vw, 200px);
  padding-bottom:72px;
}
.susv2-fullhero-text{max-width:820px;}
.susv2-fullhero-text .susv2-breadcrumb.light{
  color:rgba(255,255,255,.62);
  margin-bottom:20px;
}
.susv2-fullhero-text .susv2-breadcrumb.light a{color:#fff; opacity:.92;}
.susv2-fullhero-text .prodv2-kicker.light{color:#e2a23e;}
.susv2-fullhero-text .prodv2-kicker.light::before,
.susv2-fullhero-text .prodv2-kicker.light::after{background:rgba(226,162,62,.55);}
.susv2-fullhero-text h1{
  font-family:var(--hm-serif, Georgia, serif); font-weight:500; letter-spacing:0;
  color:#fff; font-size:clamp(2.8rem, 6.4vw, 6.6rem); line-height:1.0;
  margin:20px 0 22px;
}
.susv2-fullhero-text h1 em{font-style:italic; font-weight:400; color:#e2a23e;}
.susv2-fullhero-text > p{
  color:rgba(240,246,240,.92); font-size:1.08rem; max-width:600px; margin:0 0 30px;
  line-height:1.75;
}
.susv2-impact-strip{
  width:min(100% - 42px, 1480px);
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1px;
  margin-top:clamp(52px, 6vw, 84px);
  border:1px solid var(--pv-line);
  border-radius:24px;
  overflow:hidden;
  background:rgba(113,83,39,.14);
  box-shadow:0 22px 70px rgba(74,48,18,.07);
}
.susv2-impact-strip div{
  padding:24px 26px;
  background:rgba(255,255,255,.38);
}
.susv2-impact-strip b{
  display:block;
  color:var(--pv-orange);
  font-family:var(--hm-serif, Georgia, serif);
  font-size:2.2rem;
  font-weight:500;
  line-height:1;
}
.susv2-impact-strip span{
  display:block;
  margin-top:9px;
  color:var(--pv-green);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.susv2-section-head{
  max-width:850px;
  margin:0 auto 52px;
  text-align:center;
}
.susv2-section-head .prodv2-kicker{
  justify-content:center;
}
.susv2-section-head h2{
  margin:0;
  color:var(--pv-green);
  font-family:var(--hm-serif, Georgia, serif);
  font-size:clamp(3.5rem, 5.6vw, 6.4rem);
  font-weight:500;
  line-height:.95;
}
.susv2-section-head h2 em{
  color:var(--pv-orange);
  font-style:italic;
}
.susv2-section-head p{
  max-width:720px;
  margin:24px auto 0;
  color:var(--pv-muted);
  font-size:1.05rem;
  line-height:1.8;
}
.susv2-practice-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
}
.susv2-practice-card{
  position:relative;
  min-height:330px;
  overflow:hidden;
  padding:30px;
  border:1px solid var(--pv-line);
  border-radius:24px;
  background:
    radial-gradient(circle at 86% 10%, rgba(208,155,64,.14), transparent 32%),
    linear-gradient(180deg, rgba(238,248,237,.9), rgba(255,250,242,.76));
  box-shadow:0 22px 60px rgba(74,48,18,.06);
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.susv2-practice-card::after{
  content:"";
  position:absolute;
  right:-52px;
  bottom:-52px;
  width:150px;
  height:150px;
  border:1px solid rgba(6,53,31,.08);
  border-radius:50%;
  pointer-events:none;
}
.susv2-practice-card:hover{
  transform:translateY(-6px);
  background:
    radial-gradient(circle at 86% 10%, rgba(208,155,64,.2), transparent 34%),
    linear-gradient(180deg, rgba(244,251,242,.98), rgba(255,255,255,.84));
  box-shadow:0 30px 80px rgba(74,48,18,.12);
}
.susv2-practice-icon{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  margin-bottom:28px;
  border:1px solid rgba(6,53,31,.18);
  border-radius:20px;
  color:var(--pv-green);
  background:rgba(255,255,255,.5);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.56);
}
.susv2-practice-icon svg{
  width:34px;
  height:34px;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.susv2-practice-card span{
  color:var(--pv-orange);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.susv2-practice-card h3{
  margin:10px 0 10px;
  color:var(--pv-green);
  font-family:var(--hm-serif, Georgia, serif);
  font-size:2rem;
  font-weight:500;
  line-height:1.05;
}
.susv2-practice-card p{
  margin:0;
  color:var(--pv-muted);
  line-height:1.65;
}
.susv2-visual-break{
  padding:0 0 clamp(74px, 8vw, 120px);
  background:var(--pv-bg);
}
.susv2-photo-ribbon{
  display:grid;
  grid-template-columns:1.18fr .78fr .92fr 1.12fr;
  gap:16px;
  align-items:end;
}
.susv2-photo-ribbon img{
  width:100%;
  height:clamp(310px, 32vw, 510px);
  display:block;
  object-fit:cover;
  border:1px solid rgba(113,83,39,.12);
  border-radius:28px;
  box-shadow:0 26px 70px rgba(70,47,20,.1);
}
.susv2-photo-ribbon img:nth-child(2){
  height:clamp(250px, 25vw, 410px);
  margin-bottom:clamp(32px, 5vw, 76px);
}
.susv2-photo-ribbon img:nth-child(3){
  height:clamp(280px, 28vw, 460px);
}
.susv2-photo-ribbon img:nth-child(4){
  height:clamp(240px, 24vw, 390px);
  margin-bottom:clamp(58px, 7vw, 108px);
}
.susv2-social{
  background:
    radial-gradient(circle at 12% 14%, rgba(239,121,0,.07), transparent 26%),
    radial-gradient(circle at 90% 18%, rgba(6,53,31,.06), transparent 28%),
    var(--pv-bg);
}
.susv2-social-intro{
  max-width:980px;
  margin:0 auto clamp(42px, 5vw, 70px);
  text-align:center;
}
.susv2-social-intro .prodv2-kicker{
  justify-content:center;
}
.susv2-social-intro h2{
  margin:0;
  color:var(--pv-green);
  font-family:var(--hm-serif, Georgia, serif);
  font-size:clamp(3.7rem, 6vw, 6.7rem);
  font-weight:500;
  line-height:.94;
}
.susv2-social-intro h2 em{
  color:var(--pv-orange);
  font-style:italic;
}
.susv2-social-intro p{
  max-width:870px;
  margin:22px auto 0;
  color:var(--pv-muted);
  font-size:1.06rem;
  line-height:1.82;
}
.susv2-social-layout{
  display:grid;
  grid-template-columns:minmax(360px, .82fr) minmax(0, 1.18fr);
  gap:clamp(28px, 4vw, 64px);
  align-items:stretch;
}
.susv2-social-media{
  position:relative;
  min-height:650px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(113,83,39,.13);
  border-radius:34px;
  background:#fff;
  box-shadow:0 30px 86px rgba(70,47,20,.11);
}
.susv2-social-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.susv2-social-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 44%, rgba(3,31,19,.62));
  pointer-events:none;
}
.susv2-social-media figcaption{
  position:absolute;
  left:24px;
  bottom:24px;
  z-index:1;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  color:#fff;
  background:rgba(6,53,31,.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
/* ---------- Social responsibility FAQ accordion ---------- */
.susv2-faq{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.susv2-faq-item{
  border:1px solid var(--pv-line);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(208,155,64,.14), transparent 28%),
    linear-gradient(180deg, rgba(238,248,237,.92), rgba(255,250,242,.78));
  overflow:hidden;
  transition:box-shadow .3s ease, border-color .3s ease;
}
.susv2-faq-item[open]{
  box-shadow:0 20px 50px rgba(74,48,18,.09);
  border-color:rgba(6,53,31,.24);
}
.susv2-faq-item summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 26px;
  cursor:pointer;
  list-style:none;
  -webkit-tap-highlight-color:transparent;
}
.susv2-faq-item summary::-webkit-details-marker{display:none;}
.susv2-faq-item summary::marker{content:"";}
.susv2-faq-item summary span{
  color:var(--pv-green);
  font-family:var(--hm-serif, Georgia, serif);
  font-size:clamp(1.2rem, 1.6vw, 1.55rem);
  font-weight:500;
  line-height:1.15;
}
.susv2-faq-item summary i{
  position:relative;
  flex:0 0 auto;
  width:30px; height:30px;
  border-radius:50%;
  border:1px solid rgba(6,53,31,.28);
  transition:transform .35s ease, background .3s ease, border-color .3s ease;
}
.susv2-faq-item summary i::before,
.susv2-faq-item summary i::after{
  content:"";
  position:absolute; left:50%; top:50%;
  background:var(--pv-green);
  transform:translate(-50%,-50%);
}
.susv2-faq-item summary i::before{width:12px; height:2px;}
.susv2-faq-item summary i::after{width:2px; height:12px; transition:opacity .3s ease;}
.susv2-faq-item[open] summary i{background:var(--pv-orange); border-color:var(--pv-orange);}
.susv2-faq-item[open] summary i::before,
.susv2-faq-item[open] summary i::after{background:#fff;}
.susv2-faq-item[open] summary i::after{opacity:0;}
.susv2-faq-panel{
  padding:0 26px 26px;
}
.susv2-faq-panel p{
  position:relative;
  z-index:1;
  margin:0;
  max-width:640px;
  color:var(--pv-muted);
  line-height:1.75;
}
.susv2-social .susv2-foundation-link{
  width:max-content;
  max-width:100%;
  margin:clamp(34px, 4vw, 54px) auto 0;
}
.susv2-cycle{
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 18% 20%, rgba(208,155,64,.16), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(180deg, #07371f 0%, #031f13 100%);
}
.susv2-cycle::before{
  content:"";
  position:absolute;
  inset:8% auto auto 50%;
  width:min(820px, 70vw);
  height:min(820px, 70vw);
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  transform:translateX(-50%);
  pointer-events:none;
}
.susv2-cycle .prodv2-kicker{
  justify-content:center;
  color:var(--pv-gold);
}
.susv2-cycle h2{
  max-width:900px;
  margin:0 auto;
  color:#fff;
  font-family:var(--hm-serif, Georgia, serif);
  font-size:clamp(3.4rem, 6vw, 6rem);
  font-weight:500;
  line-height:.98;
}
.susv2-cycle h2 em{
  color:var(--pv-gold);
  font-style:italic;
}
.susv2-cycle-copy{
  max-width:780px;
  margin:24px auto 0;
  color:rgba(255,255,255,.76);
  font-size:1.08rem;
  line-height:1.8;
}
.susv2-cycle-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1px;
  margin-top:52px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
}
.susv2-cycle-grid article{
  padding:34px 28px;
  background:rgba(255,255,255,.045);
  text-align:left;
}
.susv2-cycle-grid i{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid rgba(208,155,64,.45);
  border-radius:50%;
  color:var(--pv-gold);
}
.susv2-cycle-grid svg{
  width:30px;
  height:30px;
  stroke:currentColor;
  stroke-width:1.8;
}
.susv2-cycle-grid h3{
  margin:26px 0 10px;
  color:#fff;
  font-family:var(--hm-serif, Georgia, serif);
  font-size:2.1rem;
  font-weight:500;
  line-height:1;
}
.susv2-cycle-grid p{
  margin:0;
  color:rgba(255,255,255,.68);
  line-height:1.65;
}
.susv2-people-grid{
  grid-template-columns:minmax(420px,.95fr) minmax(420px,1.05fr);
  gap:clamp(44px, 6vw, 90px);
  align-items:center;
}
.susv2-people-media{
  position:relative;
  min-height:620px;
}
.susv2-people-media img{
  width:100%;
  height:620px;
  display:block;
  object-fit:cover;
  border-radius:32px;
  box-shadow:0 34px 90px rgba(70,47,20,.13);
}
.susv2-people-badge{
  position:absolute;
  right:-22px;
  bottom:38px;
  max-width:240px;
  padding:18px 20px;
  border:1px solid rgba(208,155,64,.35);
  border-radius:22px;
  color:var(--pv-green);
  background:rgba(255,250,242,.92);
  box-shadow:0 24px 60px rgba(70,47,20,.12);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.14em;
  line-height:1.45;
  text-transform:uppercase;
}
.susv2-people .prodv2-copy h2{
  font-size:clamp(3.8rem, 5.8vw, 6.4rem);
}
.susv2-people-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  margin-top:32px;
}
.susv2-people-list article{
  padding:20px 22px;
  border:1px solid var(--pv-line);
  border-radius:18px;
  background:rgba(255,255,255,.42);
}
.susv2-people-list h3{
  margin:0 0 6px;
  color:var(--pv-green);
  font-family:var(--hm-serif, Georgia, serif);
  font-size:1.55rem;
  font-weight:500;
}
.susv2-people-list p{
  margin:0;
  color:var(--pv-muted);
  line-height:1.55;
}
.susv2-people-list article:last-child{
  grid-column:1 / -1;
}
.susv2-foundation-link{
  margin-top:28px;
}
.susv2-foundation{
  background:var(--pv-cream);
}
.susv2-foundation-grid{
  grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);
  gap:clamp(44px, 6vw, 90px);
  align-items:center;
}
.susv2-foundation .prodv2-copy h2{
  font-size:clamp(3.4rem, 5.6vw, 6rem);
}
.susv2-foundation-pills{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}
.susv2-foundation-pills span{
  padding:12px 16px;
  border:1px solid var(--pv-line);
  border-radius:999px;
  color:var(--pv-green);
  background:rgba(255,255,255,.42);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.susv2-foundation-collage{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.susv2-foundation-collage img{
  width:100%;
  height:260px;
  display:block;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 22px 60px rgba(70,47,20,.12);
}
.susv2-foundation-collage img:first-child{
  grid-row:span 2;
  height:536px;
}
.susv2-foundation-note{
  min-height:160px;
  display:flex;
  align-items:flex-end;
  padding:28px;
  border-radius:24px;
  color:#fff;
  background:linear-gradient(135deg, #07371f, #0a4d2d);
  font-family:var(--hm-serif, Georgia, serif);
  font-size:1.7rem;
  line-height:1.15;
}
.susv2-contact{
  background:
    radial-gradient(circle at 18% 80%, rgba(239,121,0,.08), transparent 24%),
    var(--pv-bg);
}
.susv2-contact-grid{
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(440px,1.22fr);
  gap:clamp(34px, 5vw, 72px);
  align-items:center;
  padding:clamp(34px, 4vw, 54px);
  border:1px solid var(--pv-line);
  border-radius:34px;
  background:rgba(255,255,255,.38);
  box-shadow:0 26px 80px rgba(70,47,20,.09);
}
.susv2-contact-list{
  display:grid;
  gap:16px;
  margin:32px 0 0;
  padding:0;
  list-style:none;
}
.susv2-contact-list li{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:16px;
  align-items:start;
  padding-bottom:16px;
  border-bottom:1px solid var(--pv-line);
  color:var(--pv-green);
  line-height:1.45;
}
.susv2-contact-list strong{
  color:var(--pv-orange);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.susv2-form{
  padding:30px;
  border:1px solid var(--pv-line);
  border-radius:26px;
  background:#fffaf7;
}
.susv2-form .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.susv2-form input,
.susv2-form textarea{
  width:100%;
  margin:0 0 14px;
  padding:18px 20px;
  border:1px solid rgba(113,83,39,.16);
  border-radius:14px;
  color:var(--pv-green);
  background:rgba(255,255,255,.72);
  font:600 1rem/1.2 var(--hm-sans, Inter, sans-serif);
  outline:none;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.susv2-form input:focus,
.susv2-form textarea:focus{
  border-color:rgba(239,121,0,.48);
  box-shadow:0 0 0 4px rgba(239,121,0,.08);
}
.susv2-form textarea{
  min-height:150px;
  resize:vertical;
}
.susv2-form button{
  width:100%;
  margin-top:4px;
  padding:18px 24px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:var(--pv-orange);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease;
}
.susv2-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 35px rgba(239,121,0,.22);
}
.susv2-form p{
  margin:18px 0 0;
  color:#9a8d7c;
  text-align:center;
  font-weight:600;
}

/* ---------- Environmental cards: photo instead of line icon (AM FRESH style) ---------- */
.susv2-practice-card{padding:0; overflow:hidden;}
.susv2-practice-media{
  position:relative;
  margin:0 0 24px;
  height:clamp(190px, 17vw, 230px);
  overflow:hidden;
}
.susv2-practice-media img{
  width:100%; height:100%;
  display:block;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.susv2-practice-card:hover .susv2-practice-media img{transform:scale(1.07);}
.susv2-practice-media::after{
  content:"";
  position:absolute; inset:auto 0 0 0; height:45%;
  background:linear-gradient(180deg, transparent, rgba(255,250,242,.92));
  pointer-events:none;
}
.susv2-practice-card h3,
.susv2-practice-card p{padding-left:30px; padding-right:30px;}
.susv2-practice-card p{padding-bottom:30px;}

/* ---------- Photo mosaic with continuous drift (AM FRESH style) ---------- */
.susv2-photo-ribbon.susv2-photo-mosaic{
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.susv2-photo-mosaic img{
  height:clamp(180px, 17vw, 260px);
  border-radius:22px;
  animation:susvPhotoDrift 7s ease-in-out infinite;
  transition:transform .55s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;
  will-change:transform;
}
@keyframes susvPhotoDrift{
  0%,100%{ transform:translateY(0); }
  50%    { transform:translateY(-16px); }
}
.susv2-photo-mosaic img:nth-child(1){animation-delay:0s;}
.susv2-photo-mosaic img:nth-child(2){animation-delay:.45s;}
.susv2-photo-mosaic img:nth-child(3){animation-delay:.9s;}
.susv2-photo-mosaic img:nth-child(4){animation-delay:1.35s;}
.susv2-photo-mosaic img:nth-child(5){animation-delay:1.8s;}
.susv2-photo-mosaic img:nth-child(6){animation-delay:.25s;}
.susv2-photo-mosaic img:nth-child(7){animation-delay:.7s;}
.susv2-photo-mosaic img:nth-child(8){animation-delay:1.15s;}
.susv2-photo-mosaic img:nth-child(9){animation-delay:1.6s;}
.susv2-photo-mosaic img:nth-child(10){animation-delay:2.05s;}
.susv2-photo-mosaic img:hover{
  animation-play-state:paused;
  transform:scale(1.06) translateY(-10px);
  box-shadow:0 28px 60px rgba(40,28,10,.26);
}
@media (prefers-reduced-motion: reduce){
  .susv2-photo-mosaic img{animation:none;}
}
@media (max-width:1080px){
  .susv2-photo-ribbon.susv2-photo-mosaic{grid-template-columns:repeat(3, minmax(0,1fr));}
}
@media (max-width:640px){
  .susv2-photo-ribbon.susv2-photo-mosaic{grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px;}
}

/* ---------- Social responsibility: new background ---------- */
.susv2-social{
  background:
    radial-gradient(circle at 15% 12%, rgba(6,53,31,.12), transparent 34%),
    radial-gradient(circle at 88% 82%, rgba(208,155,64,.14), transparent 32%),
    linear-gradient(165deg, #eef4ea 0%, #f7f2e6 55%, #f2ece0 100%);
}
