.shadow-page{
  padding-top:42px;
  padding-bottom:64px;
}

.shadow-hero{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);
  gap:clamp(28px,4vw,56px);
  align-items:center;
  margin:18px 0 42px;
  position:relative;
}

.shadow-hero:before{
  content:"";
  position:absolute;
  inset:-40px -4vw auto 34%;
  height:360px;
  background:radial-gradient(circle at center,rgba(94,219,173,.18),rgba(244,238,226,0) 66%);
  pointer-events:none;
  z-index:-1;
}

.shadow-portrait-panel{
  margin:0;
  position:relative;
}

.portrait-frame{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(20,81,63,.18);
  background:linear-gradient(145deg,#fffdf8,#eaf4f2);
  box-shadow:0 34px 90px rgba(20,42,34,.16);
  isolation:isolate;
}

.portrait-frame:before{
  content:"";
  position:absolute;
  inset:16px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.72);
  z-index:2;
  pointer-events:none;
}

.portrait-frame:after{
  content:"";
  position:absolute;
  inset:auto -16% -22% 24%;
  height:46%;
  background:linear-gradient(180deg,rgba(20,81,63,0),rgba(20,81,63,.18));
  z-index:1;
  pointer-events:none;
}

.portrait-frame img{
  display:block;
  width:100%;
  aspect-ratio:1.03/1;
  object-fit:cover;
  object-position:center;
  transform:scale(1.015);
}

.portrait-orbit{
  position:absolute;
  right:18px;
  top:18px;
  width:82px;
  height:82px;
  border-radius:999px;
  border:1px solid rgba(20,81,63,.22);
  background:radial-gradient(circle at 35% 35%,rgba(112,235,189,.65),rgba(20,81,63,.08) 48%,rgba(255,255,255,.06));
  backdrop-filter:blur(10px);
  z-index:3;
}

.portrait-orbit:before,.portrait-orbit:after{
  content:"";
  position:absolute;
  border-radius:999px;
}

.portrait-orbit:before{
  inset:30px;
  background:#14513f;
}

.portrait-orbit:after{
  width:12px;
  height:12px;
  right:11px;
  top:23px;
  background:#c28a4d;
  box-shadow:0 0 0 8px rgba(194,138,77,.12);
}

.shadow-portrait-panel figcaption{
  margin:-34px 22px 0;
  position:relative;
  z-index:4;
  border:1px solid rgba(20,81,63,.14);
  border-radius:24px;
  background:rgba(255,253,248,.9);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 42px rgba(20,42,34,.12);
  padding:18px 20px;
  display:grid;
  gap:5px;
}

.shadow-portrait-panel figcaption span{
  font-family:"DM Sans",sans-serif;
  color:var(--forest);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;
}

.shadow-portrait-panel figcaption b{
  color:#4f5f58;
  font-size:14px;
  line-height:1.55;
}

.shadow-identity{
  position:relative;
}

.shadow-identity h1{
  font-family:"Playfair Display","Noto Sans SC",serif;
  font-size:clamp(46px,5.8vw,84px);
  line-height:.98;
  margin:14px 0 20px;
  letter-spacing:-.065em;
  max-width:880px;
  color:#13211c;
}

.shadow-identity p{
  font-size:18px;
  line-height:1.9;
  color:#64716b;
  max-width:760px;
}

.shadow-identity-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:28px 0 8px;
}

.shadow-identity-grid article{
  min-height:142px;
  border:1px solid rgba(20,81,63,.14);
  border-radius:24px;
  background:linear-gradient(180deg,#fffdf8,#f7f1e7);
  padding:20px;
  box-shadow:0 18px 46px rgba(34,45,40,.06);
}

.shadow-identity-grid span{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e2f4ec;
  color:#0f5d46;
  font-weight:900;
  font-size:12px;
  margin-bottom:16px;
}

.shadow-identity-grid b{
  display:block;
  font-size:18px;
  color:#13211c;
  margin-bottom:8px;
}

.shadow-identity-grid small{
  display:block;
  color:#65726c;
  line-height:1.65;
  font-size:13px;
}

.shadow-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}

.shadow-manifesto{
  border:1px solid rgba(20,81,63,.16);
  border-radius:34px;
  background:
    radial-gradient(circle at 12% 18%,rgba(112,235,189,.18),transparent 28%),
    radial-gradient(circle at 92% 12%,rgba(194,138,77,.12),transparent 30%),
    linear-gradient(120deg,rgba(20,81,63,.96),rgba(14,48,38,.98));
  color:#f7f2e8;
  padding:clamp(30px,4vw,48px);
  display:grid;
  grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);
  gap:clamp(26px,4vw,54px);
  align-items:center;
  margin:44px 0 32px;
  box-shadow:0 30px 78px rgba(20,42,34,.14);
  position:relative;
  overflow:hidden;
}

.shadow-manifesto:after{
  content:"SA";
  position:absolute;
  left:20px;
  bottom:-70px;
  font-family:"Playfair Display",serif;
  font-size:210px;
  color:rgba(255,255,255,.035);
  letter-spacing:-.08em;
  pointer-events:none;
}

.shadow-manifesto .kicker{
  color:#75e4b6;
}

.manifesto-copy{
  position:relative;
  z-index:1;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:6px 0;
}

.manifesto-copy:before{
  content:"";
  width:54px;
  height:3px;
  border-radius:999px;
  background:#75e4b6;
  margin-bottom:28px;
  box-shadow:0 0 34px rgba(117,228,182,.55);
}

.shadow-manifesto h2{
  font-size:clamp(34px,4.3vw,58px);
  line-height:1.04;
  margin:12px 0 0;
  letter-spacing:-.06em;
  max-width:600px;
}

.shadow-manifesto p{
  color:rgba(247,242,232,.78);
  line-height:1.9;
  font-size:17px;
  margin:22px 0 0;
  max-width:620px;
}

.manifesto-board{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.manifesto-board:before{
  content:"";
  position:absolute;
  left:27px;
  top:34px;
  bottom:58px;
  width:1px;
  background:linear-gradient(180deg,rgba(117,228,182,.75),rgba(255,255,255,.08));
  z-index:-1;
}

.manifesto-board article{
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:rgba(255,255,255,.075);
  backdrop-filter:blur(12px);
  padding:22px 24px 22px 76px;
  min-height:116px;
  position:relative;
  box-shadow:0 18px 44px rgba(0,0,0,.08);
}

.manifesto-board article:nth-child(2){
  transform:translateX(18px);
}

.manifesto-board article:nth-child(3){
  transform:translateX(36px);
}

.manifesto-board article>span{
  position:absolute;
  left:18px;
  top:22px;
  width:38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#75e4b6;
  color:#0f3d30;
  font-family:"DM Sans",sans-serif;
  font-weight:900;
  font-size:12px;
  box-shadow:0 0 0 8px rgba(117,228,182,.11);
}

.manifesto-board b{
  display:block;
  color:#fffdf8;
  font-size:25px;
  margin-bottom:8px;
}

.manifesto-board p{
  color:rgba(247,242,232,.7);
  margin:0;
  font-size:15px;
  line-height:1.75;
}

.manifesto-note{
  justify-self:end;
  max-width:520px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  padding:13px 18px;
  color:rgba(247,242,232,.72);
  background:rgba(255,255,255,.055);
  font-family:"DM Sans",sans-serif;
  font-weight:800;
  font-size:13px;
  letter-spacing:.02em;
}

.shadow-principle h2,
.shadow-process h2,
.shadow-quality h2{
  font-size:clamp(30px,4vw,46px);
  line-height:1.12;
  margin:10px 0 12px;
  letter-spacing:-.04em;
}

.shadow-process{
  margin:38px 0;
}

.process-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.process-steps article,
.quality-grid div{
  border:1px solid rgba(20,81,63,.14);
  border-radius:24px;
  background:#fffdf8;
  padding:20px;
  box-shadow:0 16px 38px rgba(34,45,40,.055);
}

.process-steps article{
  min-height:238px;
  display:flex;
  flex-direction:column;
}

.process-steps article span{
  font-family:"DM Sans",sans-serif;
  font-size:13px;
  font-weight:900;
  color:#b98d4c;
  letter-spacing:.12em;
}

.process-steps h3{
  font-size:20px;
  margin:16px 0 10px;
}

.process-steps p{
  color:#64716b;
  line-height:1.75;
  margin:0;
}

.shadow-two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin:32px 0;
}

.shadow-boundary{
  overflow:hidden;
}

.shadow-boundary .feature-panel-head{
  background:linear-gradient(135deg,#f8f1e6,#e7f4ee);
}

.shadow-list{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.shadow-list li{
  position:relative;
  padding-left:30px;
  color:#53605a;
  line-height:1.85;
}

.shadow-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:20px;
  height:20px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#e2f4ec;
  color:var(--forest);
  font-weight:900;
  font-size:13px;
}

.shadow-list.warning li:before{
  content:"!";
  background:#f7e6df;
  color:#b6544c;
}

.shadow-quality{
  margin:42px 0 34px;
}

.quality-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.quality-grid b{
  display:block;
  color:var(--forest);
  font-size:19px;
  margin-bottom:9px;
}

.quality-grid span{
  color:#53605a;
  line-height:1.75;
}

.shadow-disclaimer{
  border:1px solid rgba(20,81,63,.18);
  border-radius:28px;
  background:linear-gradient(135deg,#e9f5ef,#fffdf8);
  padding:24px 28px;
  color:#244239;
  line-height:1.85;
  box-shadow:0 18px 44px rgba(20,42,34,.07);
}

.shadow-disclaimer b{
  display:block;
  font-size:20px;
  color:var(--forest);
  margin-bottom:6px;
}

.shadow-disclaimer p{
  margin:0;
}

.copyright a{
  color:inherit;
  font-weight:900;
  text-decoration:none;
}

body.lang-en .shadow-identity h1,
body.lang-en .shadow-manifesto h2{
  letter-spacing:-.055em;
}

@media(max-width:1080px){
  .shadow-hero{
    grid-template-columns:1fr;
  }
  .shadow-portrait-panel{
    max-width:620px;
  }
  .shadow-manifesto,
  .shadow-two-col{
    grid-template-columns:1fr;
  }
  .manifesto-board article,
  .manifesto-board article:nth-child(2),
  .manifesto-board article:nth-child(3){
    transform:none;
  }
  .process-steps,
  .quality-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .shadow-page{
    padding-top:24px;
  }
  .shadow-identity h1{
    font-size:42px;
  }
  .shadow-identity-grid,
  .process-steps,
  .quality-grid{
    grid-template-columns:1fr;
  }
  .shadow-manifesto{
    padding:26px 22px;
  }
  .portrait-orbit{
    width:64px;
    height:64px;
  }
  .portrait-orbit:before{
    inset:23px;
  }
}
