:root{
  --bg:#090a0a;
  --muted:#b8aa93;
  --gold:#c9a66b;
  --glass:rgba(255,255,255,0.045);
  --line:rgba(214,178,111,0.42);
  --shadow:0 22px 70px rgba(0,0,0,0.62);
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  background:var(--bg);
  color:#efece4;
  -webkit-font-smoothing:antialiased;
}

.hidden{display:none}

.intro{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#080909;
}

.intro__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  filter:brightness(0.45) saturate(0.85);
  transition:opacity 900ms ease;
}

.intro.is-playing .intro__video{
  opacity:1;
}

.intro__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:2rem;
  text-align:center;
}

.intro__overlay--standby{
  display:none;
}

.intro__sacred{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.15;
  mix-blend-mode:normal;
  transition:opacity 420ms ease;
}

.intro.is-playing .intro__sacred{
  opacity:0;
}

.intro__content{
  position:relative;
  z-index:3;
  max-width:760px;
  transition:opacity 420ms ease, transform 420ms ease;
}

.intro.is-playing .intro__content{
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
}

.intro__text{
  margin:0 0 1.5rem;
  color:#d8cbb3;
  font-size:clamp(18px,3vw,28px);
  letter-spacing:0;
}

.intro__actions{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
}

.btn{
  min-height:42px;
  padding:0.65rem 1.2rem;
  border:1px solid rgba(201,166,107,0.28);
  border-radius:8px;
  background:rgba(7,8,8,0.34);
  color:#efece4;
  cursor:pointer;
}

.btn--primary{
  background:rgba(201,166,107,0.18);
}

.btn--ghost{
  color:#c5b699;
  background:rgba(7,8,8,0.18);
}

.app{
  position:relative;
  min-height:100vh;
  overflow-x:hidden;
  transition:opacity 600ms ease;
}

.app.hidden{opacity:0}
.app.visible{opacity:1}
.app--page{
  min-height:100vh;
  overflow-x:clip;
}

.app--page::before{
  content:"";
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:24;
  height:96px;
  pointer-events:none;
  background:linear-gradient(180deg, #050403 18%, rgba(5,4,3,0.92) 48%, rgba(5,4,3,0));
}

.page-atmosphere{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 24%, rgba(234,210,164,0.09), transparent 23%),
    radial-gradient(circle at 18% 70%, rgba(137,114,75,0.12), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.015), transparent 34%, rgba(0,0,0,0.28));
}

.bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:#000;
}

.bg__pattern{
  display:none;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  animation:floatSlow 18s ease-in-out infinite;
}

.topnav{
  position:fixed;
  top:18px;
  left:50%;
  z-index:30;
  display:flex;
  align-items:center;
  gap:10px;
  width:calc(100vw - 36px);
  max-width:1280px;
  justify-content:center;
  opacity:0;
  transform:translate(-50%,-8px);
  transition:opacity 900ms ease 180ms, transform 900ms ease 180ms;
}

.topnav__home,
.topnav__links a{
  position:relative;
  color:#c8b896;
  text-decoration:none;
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color 220ms ease, text-shadow 220ms ease;
}

.topnav__home{
  padding:8px 10px;
  border-radius:8px;
  background:rgba(0,0,0,0.2);
}

.topnav__links{
  display:flex;
  gap:12px;
  flex-wrap:nowrap;
  min-width:0;
}

.site-signature{
  position:fixed;
  left:40px;
  bottom:40px;
  z-index:18;
  width:95px;
  height:auto;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  filter:drop-shadow(0 10px 24px rgba(0,0,0,0.42));
  transition:opacity 900ms ease 360ms, transform 900ms ease 360ms;
}

.flower{
  position:relative;
  z-index:10;
  display:grid;
  place-items:center;
  min-height:100vh;
  padding:56px 24px 22px;
  opacity:0;
  transform:translateY(14px);
  transition:opacity 1000ms ease 260ms, transform 1000ms ease 260ms;
}

.app.visible .topnav{
  opacity:1;
  transform:translate(-50%,0);
}

.app.visible .site-signature,
.app.visible .flower{
  opacity:1;
  transform:translateY(0);
}

.topnav--page{
  opacity:1;
  transform:translate(-50%,0);
}

.app.visible.app--page .site-signature,
.app--page .site-signature{
  transform:translateY(0);
  left:40px;
  right:auto;
  top:auto;
  bottom:40px;
  width:95px;
  opacity:1;
  z-index:18;
}

.topnav__link--active,
.topnav__home--active,
.topnav__links a[aria-current="page"],
.topnav__home[aria-current="page"]{
  color:#f4d89f;
  text-shadow:
    0 0 8px rgba(238,190,92,0.26),
    0 6px 16px rgba(0,0,0,0.62);
}

.topnav__link--active::after,
.topnav__home--active::after,
.topnav__links a[aria-current="page"]::after,
.topnav__home[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:18px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(240,215,158,0.9), transparent);
  transform:translateX(-50%);
  box-shadow:0 0 8px rgba(238,190,92,0.32);
}

.page-back{
  position:fixed;
  top:20px;
  left:34px;
  z-index:31;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:8px 13px 8px 11px;
  border:1px solid rgba(234,210,164,0.26);
  border-radius:8px;
  background:rgba(5,4,3,0.62);
  color:#efe6d1;
  font-size:12px;
  letter-spacing:0.09em;
  text-decoration:none;
  text-transform:uppercase;
  box-shadow:0 14px 34px rgba(0,0,0,0.28);
  transition:
    border-color 220ms ease,
    background 220ms ease,
    color 220ms ease,
    transform 220ms ease;
}

.page-back::before{
  content:"<";
  color:#f0d79e;
  font-size:16px;
  line-height:1;
  transform:translateY(-1px);
}

.page-back:hover,
.page-back:focus{
  border-color:rgba(240,215,158,0.52);
  background:rgba(18,15,10,0.82);
  color:#fff7e8;
  transform:translateX(-2px);
}

.flower::before{
  content:none;
  position:absolute;
  width:min(78vw,880px);
  aspect-ratio:1;
  border:1px solid rgba(201,166,107,0.08);
  border-radius:50%;
  box-shadow:inset 0 0 90px rgba(201,166,107,0.05);
  pointer-events:none;
}

.flower-svg{
  position:relative;
  z-index:2;
  width:min(92vw,1200px);
  max-height:calc(100vh - 82px);
  overflow:visible;
  filter:drop-shadow(0 28px 60px rgba(0,0,0,0.58));
}

.ring-field{
  filter:url(#goldGlow);
  opacity:0;
  transform:scale(0.34);
  transform-box:view-box;
  transform-origin:50% 53%;
}

.luminous-rings{
  display:none;
  pointer-events:none;
}

.flower-rings-art{
  display:none;
  pointer-events:none;
}

.flower-svg--custom-rings .ring-field{
  filter:none;
}

.flower-svg--custom-rings .flower-rings-art{
  display:block;
}

.flower-svg--custom-rings .luminous-rings{
  display:none;
}

.flower-svg--custom-rings .petal-ring{
  opacity:0;
}

.flower-svg--luminous .ring-field{
  filter:none;
}

.flower-svg--luminous .luminous-rings{
  display:block;
}

.flower-svg--luminous .petal-ring{
  opacity:0;
}

.luminous-rings circle{
  fill:none;
  transform-box:view-box;
  transform-origin:center;
}

.luminous-ring-glow{
  filter:url(#ringSoftGlow);
  opacity:0.82;
  mix-blend-mode:screen;
}

.luminous-ring-glow circle{
  stroke:#e09822;
  stroke-width:22;
  stroke-linecap:round;
  opacity:0.42;
}

.luminous-ring-body circle{
  stroke:url(#ringStrokeWarm);
  stroke-width:11.5;
  stroke-linecap:round;
  opacity:0.96;
}

.luminous-ring-highlight{
  filter:drop-shadow(0 0 5px rgba(255,215,112,0.34));
  mix-blend-mode:screen;
  opacity:0.88;
}

.luminous-ring-highlight circle{
  stroke:#fff0ad;
  stroke-width:3.2;
  stroke-linecap:round;
  opacity:0.5;
}

.intersection-glows{
  filter:blur(1.2px);
  mix-blend-mode:screen;
}

.intersection-glows circle{
  fill:url(#intersectionWarm);
  opacity:0.62;
}

.app.visible .ring-field{
  animation:ringsZoomIn 1450ms cubic-bezier(0.18,0.78,0.18,1) 220ms forwards;
}

.petal{
  cursor:pointer;
  outline:none;
}

.petal-hit{
  fill:transparent;
  pointer-events:all;
}

.petal-ring{
  fill:none;
  stroke:#f2c763;
  stroke-width:11;
  opacity:0.92;
  pointer-events:none;
  transition:opacity 260ms ease, stroke-width 260ms ease, stroke 260ms ease;
}

.petal-ring + .petal-ring{
  fill:none;
}

.petal:hover .petal-ring,
.petal--active .petal-ring,
.petal:focus .petal-ring{
  stroke:#ffd979;
  stroke-width:14;
  opacity:1;
}

.flower-svg--custom-rings .petal:hover .petal-ring,
.flower-svg--custom-rings .petal--active .petal-ring,
.flower-svg--custom-rings .petal:focus .petal-ring{
  opacity:0;
}

.flower-labels{
  fill:#f6d8a4;
  stroke:rgba(0,0,0,0.52);
  stroke-width:1.45px;
  stroke-linejoin:round;
  paint-order:stroke fill;
  text-anchor:middle;
  font-size:31px;
  font-weight:400;
  letter-spacing:2.6px;
  text-transform:uppercase;
  opacity:0;
  pointer-events:none;
  filter:
    drop-shadow(0 2px 3px rgba(0,0,0,0.9))
    drop-shadow(0 8px 18px rgba(0,0,0,0.68))
    drop-shadow(0 0 16px rgba(238,190,92,0.32));
}

.app.visible .flower-labels{
  animation:textFadeIn 760ms ease 880ms forwards;
}

.flower-home{
  cursor:pointer;
  outline:none;
  opacity:0;
}

.app.visible .flower-home{
  animation:textFadeIn 700ms ease 760ms forwards;
}

.flower-home__hit{
  fill:rgba(0,0,0,0.01);
  stroke:none;
}

.flower-home text{
  fill:#f6d8a4;
  stroke:rgba(0,0,0,0.52);
  stroke-width:1.45px;
  stroke-linejoin:round;
  paint-order:stroke fill;
  text-anchor:middle;
  font-size:31px;
  font-weight:400;
  letter-spacing:3px;
  opacity:0.96;
  pointer-events:none;
  filter:
    drop-shadow(0 2px 3px rgba(0,0,0,0.9))
    drop-shadow(0 8px 18px rgba(0,0,0,0.68))
    drop-shadow(0 0 16px rgba(238,190,92,0.32));
  transition:fill 220ms ease, transform 220ms ease;
}

.flower-home:hover text,
.flower-home:focus text{
  fill:#ffd979;
}

.sections{
  position:relative;
  z-index:12;
  max-width:1480px;
  margin:0 auto;
  padding:0 clamp(28px,5vw,76px) 140px;
}

.section{
  min-height:100vh;
  margin:0;
  padding:96px 0 48px;
  background:transparent;
}

.section__inner{
  width:min(100%,1320px);
  margin:0 auto;
}

.section__header{
  max-width:980px;
  margin:0 0 clamp(46px,6vw,76px);
}

.section__eyebrow{
  margin:0 0 14px;
  color:#c7aa72;
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.section h1,
.section h2{
  margin:0;
  color:#f1eadc;
  font-weight:300;
}

.section h1{
  font-size:clamp(64px,9vw,142px);
  line-height:0.94;
}

.section h2{
  font-size:clamp(46px,7.4vw,118px);
  line-height:0.94;
}

.section__subtitle{
  max-width:720px;
  margin:clamp(18px,2.4vw,30px) 0 0;
  color:#d8cbb3;
  font-size:clamp(24px,3.2vw,48px);
  font-weight:300;
  line-height:1.16;
}

.section__hero{
  display:grid;
  grid-template-columns:minmax(0,0.85fr) minmax(420px,0.74fr);
  gap:clamp(72px,9vw,150px);
  align-items:start;
  margin-bottom:clamp(128px,15vw,210px);
}

.section__hero--text-only{
  display:block;
  max-width:900px;
}

.section__hero--text-only .section__copy--quiet{
  max-width:900px;
}

.section__body{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(36px,5vw,72px);
  align-items:start;
}

.section__body--wide{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(58px,8vw,112px);
  max-width:960px;
  margin:0 auto;
}

.section__inner--presencia .section__body--wide,
.section__inner--sensibilidad .section__body--wide,
.section__inner--conocimiento .section__body--wide,
.section__inner--acompanamiento .section__body--wide,
.section__inner--transformacion .section__body--wide,
.section__inner--objetos .section__body--wide{
  align-items:stretch;
  max-width:100%;
}

.section__copy h2,
.section__copy h3{
  margin:0 0 clamp(18px,2vw,28px);
  color:rgba(234,210,164,0.88);
  font-size:clamp(12px,0.9vw,15px);
  font-weight:400;
  letter-spacing:0.24em;
  line-height:1.45;
  text-transform:uppercase;
}

.section__copy p,
.section__question p{
  margin:0;
  color:#d8cbb3;
  font-size:clamp(20px,1.75vw,28px);
  font-weight:300;
  line-height:1.7;
  text-wrap:pretty;
}

.section__copy--lead p{
  color:#efe6d1;
  font-size:clamp(24px,2.65vw,40px);
  line-height:1.32;
  letter-spacing:0;
}

.section__copy--quiet{
  max-width:760px;
}

.section__copy--panel{
  position:relative;
  width:min(100%,820px);
  min-height:auto;
  padding:0 clamp(10px,2vw,24px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  scroll-margin-top:22vh;
}

.section__copy--panel + .section__copy--panel::before{
  content:"";
  position:absolute;
  top:calc(clamp(58px,8vw,112px) * -0.52);
  left:50%;
  width:min(120px,24vw);
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(234,210,164,0.18), transparent);
  transform:translateX(-50%);
}

.section__copy--panel h2{
  margin-bottom:20px;
}

.section__copy--panel p{
  max-width:780px;
}

.section__copy--intro{
  width:min(100%,1120px);
  align-items:flex-start;
  padding:0;
  text-align:left;
}

.section__inner--presencia .section__copy--intro,
.section__inner--presencia .section__copy--media{
  width:100%;
}

.section__copy--intro p{
  max-width:760px;
}

.section__copy--media{
  display:grid;
  grid-template-columns:minmax(0,0.88fr) minmax(260px,0.62fr);
  gap:clamp(34px,5vw,72px);
  align-items:center;
  width:min(100%,1120px);
  padding:clamp(16px,2.2vw,28px) 0;
  text-align:left;
}

.section__copy--media.section__copy--media-reverse{
  grid-template-columns:minmax(260px,0.62fr) minmax(0,0.88fr);
}

.section__copy--intro + .section__copy--media::before{
  content:none;
}

.section__copy--media-reverse .section__panel-text{
  order:2;
}

.section__copy--media-reverse .section__inline-image{
  order:1;
}

.section__panel-text{
  max-width:680px;
}

.section__copy--media p,
.section__copy--process p{
  max-width:680px;
}

.section__inline-image{
  position:relative;
  width:100%;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(234,210,164,0.16);
  border-radius:8px;
  aspect-ratio:1.15;
  background:rgba(255,255,255,0.012);
  box-shadow:
    inset 0 0 72px rgba(234,210,164,0.02),
    0 28px 70px rgba(0,0,0,0.34);
}

.section__inline-image--portrait{
  aspect-ratio:0.78;
  max-width:360px;
  justify-self:end;
}

.section__copy--media-reverse .section__inline-image{
  justify-self:start;
}

.section__inline-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.05), transparent 42%, rgba(0,0,0,0.28)),
    radial-gradient(circle at 50% 50%, transparent 52%, rgba(0,0,0,0.22));
}

.section__inline-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.section__inline-image figcaption{
  position:absolute;
  right:14px;
  bottom:12px;
  z-index:2;
  color:rgba(241,234,220,0.6);
  font-size:10px;
  letter-spacing:0.14em;
  text-transform:uppercase;
}

.section__art-break{
  position:relative;
  width:min(100%,760px);
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(234,210,164,0.16);
  border-radius:8px;
  aspect-ratio:1.15;
  background:rgba(255,255,255,0.012);
  box-shadow:
    inset 0 0 72px rgba(234,210,164,0.018),
    0 30px 80px rgba(0,0,0,0.34);
}

.section__art-break--wide{
  width:min(100%,900px);
  aspect-ratio:1.55;
}

.section__art-break::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.04), transparent 46%, rgba(0,0,0,0.28)),
    radial-gradient(circle at 50% 50%, transparent 54%, rgba(0,0,0,0.2));
}

.section__art-break img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.section__art-break figcaption{
  position:absolute;
  right:16px;
  bottom:14px;
  z-index:2;
  color:rgba(241,234,220,0.62);
  font-size:10px;
  letter-spacing:0.14em;
  text-transform:uppercase;
}

.section__copy--process{
  width:min(100%,920px);
  padding-top:clamp(12px,2vw,24px);
}

.section__inner--presencia .section__copy--process{
  width:100%;
  align-items:center;
  text-align:center;
}

.section__inner--presencia .section__copy--process p{
  max-width:760px;
}

.process-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  width:100%;
  max-width:760px;
  margin-top:clamp(28px,4vw,46px);
}

.process-steps span{
  min-height:72px;
  display:grid;
  place-items:center;
  padding:12px;
  border:1px solid rgba(234,210,164,0.16);
  border-radius:8px;
  color:#ead2a4;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  background:rgba(255,255,255,0.012);
}

.section__copy--statement{
  align-items:center;
  text-align:center;
}

.section__copy--statement p{
  max-width:920px;
  font-size:clamp(28px,3.2vw,48px);
  line-height:1.22;
  text-wrap:balance;
}

.section__copy--statement-quiet p{
  max-width:860px;
  font-size:clamp(28px,3vw,44px);
}

.section__copy--statement p + p{
  margin-top:clamp(18px,2.5vw,30px);
  color:#ead2a4;
}

.section__copy--practice,
.section__copy--object-grid{
  width:100%;
  text-align:center;
}

.section__copy--practice p{
  max-width:820px;
}

.section__copy--workshop{
  min-height:62vh;
  justify-content:center;
  padding:clamp(42px,7vw,96px) 0;
}

.section__copy--workshop h2{
  max-width:980px;
  margin-bottom:clamp(28px,4vw,54px);
  color:#efe6d1;
  font-size:clamp(36px,6vw,86px);
  font-weight:300;
  line-height:1.02;
  letter-spacing:0;
  text-transform:none;
  text-wrap:balance;
}

.section__copy--workshop p{
  max-width:860px;
}

.section__copy--workshop .editorial-grid{
  margin-top:clamp(42px,6vw,76px);
}

.editorial-grid{
  display:grid;
  width:100%;
  max-width:860px;
  gap:12px;
  margin-top:clamp(28px,4vw,48px);
}

.editorial-grid--three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.editorial-grid--four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.editorial-grid span{
  min-height:96px;
  display:grid;
  place-items:center;
  padding:16px;
  border:1px solid rgba(234,210,164,0.15);
  border-radius:8px;
  background:
    radial-gradient(circle at 50% 20%, rgba(234,210,164,0.055), transparent 42%),
    rgba(255,255,255,0.012);
  color:#ead2a4;
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.section__copy--split{
  align-items:stretch;
  display:grid;
  grid-template-columns:minmax(0,0.42fr) minmax(0,0.58fr);
  gap:clamp(28px,5vw,72px);
  text-align:left;
}

.section__copy--split h2{
  margin:0;
}

.section__copy--split p{
  max-width:none;
}

.section__copy--note{
  align-items:center;
  width:100%;
  padding:clamp(18px,3vw,36px) 0;
  text-align:center;
}

.section__copy--note p{
  max-width:820px;
  text-wrap:balance;
}

.section__copy--note p + p{
  margin-top:18px;
}

.section__copy--list{
  width:100%;
}

.editorial-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
  max-width:960px;
  margin-top:clamp(28px,4vw,46px);
}

.editorial-list span{
  min-height:86px;
  display:flex;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid rgba(234,210,164,0.18);
  color:#ead2a4;
  font-size:clamp(17px,1.55vw,22px);
  font-weight:300;
  line-height:1.45;
}

.section__copy--ethic{
  width:min(100%,980px);
  padding:clamp(28px,4vw,54px);
  border:1px solid rgba(234,210,164,0.16);
  border-radius:8px;
  background:rgba(255,255,255,0.012);
}

.section__copy--manifesto{
  width:100%;
  gap:clamp(18px,2.5vw,30px);
}

.section__copy--manifesto p{
  max-width:none;
  color:#efe6d1;
  font-size:clamp(34px,5vw,74px);
  line-height:1.02;
}

.section__copy--manifesto p:nth-of-type(2){
  color:#d8cbb3;
}

.section__copy--manifesto p:nth-of-type(3){
  max-width:980px;
  color:#ead2a4;
}

.section__copy--object{
  width:min(100%,980px);
  align-items:flex-start;
  text-align:left;
}

.section__copy--object p{
  max-width:760px;
}

.section__copy--object-alt{
  align-items:flex-end;
  text-align:right;
}

.scroll-cue{
  display:flex;
  justify-content:center;
  margin:-36px 0 -8px;
  opacity:0.48;
}

.scroll-cue--lead{
  justify-content:flex-start;
  margin:clamp(28px,4vw,46px) 0 0;
  opacity:0.72;
}

.scroll-cue--header{
  justify-content:flex-start;
  margin:clamp(24px,3.2vw,40px) 0 0;
  opacity:0.76;
}

.scroll-cue span{
  position:relative;
  width:18px;
  height:32px;
  border:1px solid rgba(234,210,164,0.36);
  border-radius:999px;
}

.scroll-cue span::after{
  content:"";
  position:absolute;
  top:7px;
  left:50%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:rgba(234,210,164,0.72);
  transform:translateX(-50%);
  animation:scrollCue 1800ms ease-in-out infinite;
}

.scroll-sequence .section__copy--panel{
  opacity:0;
  transform:translateY(16px);
  filter:blur(0.25px);
  transition:
    opacity 1000ms ease,
    transform 1000ms ease,
    filter 1000ms ease;
}

.scroll-sequence .section__copy--panel.is-seen{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

.section__placeholder{
  display:grid;
  place-items:center;
  min-height:520px;
  margin:0;
  border:1px solid rgba(234,210,164,0.22);
  border-radius:8px;
  background:
    radial-gradient(circle at 50% 42%, rgba(234,210,164,0.08), transparent 34%),
    linear-gradient(145deg, rgba(234,210,164,0.08), rgba(234,210,164,0.015)),
    rgba(255,255,255,0.012);
  box-shadow:
    inset 0 0 90px rgba(234,210,164,0.035),
    0 32px 90px rgba(0,0,0,0.36);
}

.section__placeholder--portrait{
  min-height:620px;
  aspect-ratio:0.78;
  justify-self:end;
  width:min(100%,460px);
}

.section__placeholder span{
  color:rgba(234,210,164,0.58);
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.section__image{
  position:relative;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(234,210,164,0.18);
  border-radius:8px;
  background:rgba(255,255,255,0.012);
  box-shadow:
    inset 0 0 90px rgba(234,210,164,0.025),
    0 32px 90px rgba(0,0,0,0.36);
}

.section__image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.08), transparent 36%, rgba(0,0,0,0.18)),
    radial-gradient(circle at 50% 42%, transparent 48%, rgba(0,0,0,0.2));
}

.section__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.section__image figcaption{
  position:absolute;
  right:18px;
  bottom:16px;
  z-index:2;
  color:rgba(241,234,220,0.64);
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
}

.section__image--portrait{
  width:min(100%,500px);
  min-height:720px;
  aspect-ratio:0.56;
  justify-self:end;
}

.section__image--landscape{
  width:min(100%,620px);
  min-height:460px;
  aspect-ratio:1.5;
  justify-self:end;
}

.section__image--landscape img{
  object-fit:cover;
}

.section__question{
  grid-column:1 / -1;
  max-width:1040px;
  margin:clamp(22px,5vw,64px) auto 0;
  padding-top:clamp(50px,7vw,86px);
  border-top:1px solid rgba(234,210,164,0.18);
  text-align:center;
  scroll-margin-top:24vh;
}

.section__inner--presencia .section__question{
  width:100%;
  max-width:100%;
}

.section__inner--presencia .section__question p{
  max-width:1040px;
  margin:0 auto;
}

.section__inner--sensibilidad .section__copy--panel,
.section__inner--conocimiento .section__copy--panel,
.section__inner--acompanamiento .section__copy--panel,
.section__inner--transformacion .section__copy--panel,
.section__inner--objetos .section__copy--panel{
  width:100%;
}

.section__inner--sensibilidad .section__copy--panel p,
.section__inner--conocimiento .section__copy--panel p,
.section__inner--acompanamiento .section__copy--panel p,
.section__inner--transformacion .section__copy--panel p,
.section__inner--objetos .section__copy--panel p{
  max-width:820px;
}

.section__inner--sensibilidad .section__question,
.section__inner--conocimiento .section__question,
.section__inner--acompanamiento .section__question,
.section__inner--transformacion .section__question,
.section__inner--objetos .section__question{
  width:100%;
  max-width:100%;
}

.section__inner--sensibilidad .section__question p,
.section__inner--conocimiento .section__question p,
.section__inner--acompanamiento .section__question p,
.section__inner--transformacion .section__question p,
.section__inner--objetos .section__question p{
  max-width:1040px;
  margin:0 auto;
}

.section__question p{
  color:#efe6d1;
  font-size:clamp(28px,4.2vw,62px);
  font-weight:300;
  line-height:1.12;
  text-wrap:balance;
}

.scroll-sequence .section__question{
  opacity:0;
  transform:translateY(22px);
  filter:blur(0.5px);
  transition:
    opacity 1400ms ease,
    transform 1400ms ease,
    filter 1400ms ease;
}

.scroll-sequence.sequence-complete .section__question.is-active,
.scroll-sequence.sequence-complete .section__question.is-seen{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

@media (prefers-reduced-motion:reduce){
  .scroll-sequence .section__copy--panel,
  .scroll-sequence .section__question{
    opacity:1;
    transform:none;
    filter:none;
    transition:none;
  }
}

.sections--page{
  padding-top:0;
}

.section--page{
  padding-top:148px;
}

.mobile-cards{position:relative;z-index:10}

@media (max-width:900px){
  .topnav__links{display:none}
  .topnav{
    top:14px;
    width:calc(100vw - 24px);
  }
  .page-back{
    top:12px;
    left:12px;
    min-height:34px;
    padding:7px 10px 7px 9px;
    font-size:0;
    gap:0;
  }
  .page-back::before{
    font-size:15px;
  }
  .site-signature{
    left:18px;
    bottom:18px;
    width:68px;
  }
  .app--page .site-signature{
    top:auto;
    right:auto;
    left:18px;
    bottom:18px;
    width:68px;
    opacity:1;
    z-index:18;
  }
  .flower{
    display:grid;
    min-height:100svh;
    width:100vw;
    padding:74px 0 76px;
    overflow:hidden;
  }
  .flower::before{
    width:min(104vw,520px);
  }
  .flower-svg{
    width:min(100vw,430px);
    max-height:calc(100svh - 142px);
  }
  .petal-ring{
    stroke-width:14;
  }
  .petal:hover .petal-ring,
  .petal--active .petal-ring,
  .petal:focus .petal-ring{
    stroke-width:17;
  }
  .flower-labels{
    font-size:34px;
    letter-spacing:4px;
  }
  .flower-home text{
    font-size:36px;
  }
  .mobile-cards{
    display:none;
  }
  .mobile-cards.hidden{display:none}
  .card{
    padding:18px;
    border:1px solid rgba(201,166,107,0.18);
    border-radius:8px;
    background:rgba(8,9,9,0.68);
    transition:transform 220ms ease, box-shadow 220ms ease;
  }
  .card:active,
  .card.card--active{
    transform:translateY(-4px);
    box-shadow:0 10px 30px rgba(0,0,0,0.45);
  }
  .card h3{margin:0 0 6px;font-size:17px;letter-spacing:0.08em;text-transform:uppercase}
  .card p{margin:0;color:#d8cbb3;font-size:14px;line-height:1.45}
  .sections{
    padding:0 22px 88px;
  }
  .section{
    min-height:auto;
    padding:92px 0 36px;
  }
  .section__header{
    margin-bottom:54px;
  }
  .section__hero,
  .section__body{
    grid-template-columns:1fr;
    gap:42px;
  }
  .section__hero{
    margin-bottom:72px;
  }
  .section__body--wide{
    gap:54px;
  }
  .section__placeholder{
    min-height:280px;
  }
  .section__placeholder--portrait{
    width:100%;
    min-height:360px;
    aspect-ratio:1;
    justify-self:stretch;
  }
  .section__image--portrait{
    width:100%;
    min-height:560px;
    aspect-ratio:0.78;
    justify-self:stretch;
  }
  .section__image--landscape{
    width:100%;
    min-height:300px;
    aspect-ratio:1.24;
    justify-self:stretch;
  }
  .section__copy--panel{
    width:100%;
    padding:0;
    min-height:auto;
  }
  .section__copy--lead.section__copy--quiet{
    padding-left:0;
  }
  .section__copy--media,
  .section__copy--media.section__copy--media-reverse{
    grid-template-columns:1fr;
    gap:24px;
    text-align:left;
  }
  .section__copy--media-reverse .section__panel-text,
  .section__copy--media-reverse .section__inline-image{
    order:initial;
  }
  .section__panel-text,
  .section__copy--media p,
  .section__copy--process p{
    max-width:none;
  }
  .section__inline-image,
  .section__inline-image--portrait{
    max-width:none;
    width:100%;
    aspect-ratio:1.18;
    justify-self:stretch;
  }
  .section__art-break,
  .section__art-break--wide{
    width:100%;
    aspect-ratio:1.18;
  }
  .section__question p br{
    display:none;
  }
  .process-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .section__copy--statement p,
  .section__copy--manifesto p{
    font-size:clamp(28px,11vw,44px);
  }
  .section__copy--split{
    grid-template-columns:1fr;
    gap:18px;
    text-align:left;
  }
  .section__copy--ethic{
    width:100%;
    padding:24px 20px;
  }
  .editorial-grid--three,
  .editorial-grid--four,
  .editorial-list{
    grid-template-columns:1fr;
  }
  .editorial-grid span,
  .editorial-list span{
    min-height:68px;
  }
  .section__copy--object,
  .section__copy--object-alt{
    width:100%;
    align-items:flex-start;
    text-align:left;
  }
  .section__copy--panel + .section__copy--panel::before{
    top:-28px;
    width:88px;
  }
  .section__question{
    margin-top:18px;
    padding-top:32px;
    text-align:center;
  }
}

@media (min-width:901px){
  .mobile-cards{display:none}
}

@keyframes floatSlow{
  0%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-6px) scale(1.01)}
  100%{transform:translateY(0) scale(1)}
}

@keyframes ringsZoomIn{
  0%{
    opacity:0;
    transform:scale(0.34);
  }
  56%{
    opacity:1;
  }
  78%{
    transform:scale(1.025);
  }
  100%{
    opacity:1;
    transform:scale(1);
  }
}

@keyframes textFadeIn{
  from{
    opacity:0;
  }
  to{
    opacity:0.96;
  }
}

@keyframes scrollCue{
  0%{
    opacity:0;
    transform:translate(-50%,0);
  }
  35%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translate(-50%,12px);
  }
}
