/* Approved greeting ritual + final icon depth. Kept last in the cascade. */

.action-grid .action-card .action-icon,
.action-grid .action-card-primary .action-icon,
.stats .stat-icon{
  color:#a54829!important;
  stroke:url(#icon-metal)!important;
  stroke-width:1.7!important;
  filter:
    drop-shadow(0 -1px 0 rgba(255,249,225,.98))
    drop-shadow(0 1px 0 rgba(91,31,18,.82))
    drop-shadow(0 3px 2px rgba(71,29,17,.32))
    drop-shadow(0 0 6px rgba(226,137,68,.38))!important;
  transform:translateZ(0)!important;
}

.action-grid .action-card:hover .action-icon,
.action-grid .action-card:focus-visible .action-icon,
.action-grid .action-card-primary:hover .action-icon,
.action-grid .action-card-primary:focus-visible .action-icon{
  stroke:url(#icon-metal)!important;
  filter:
    drop-shadow(0 -1px 0 #fff8dc)
    drop-shadow(0 1px 0 rgba(82,26,14,.88))
    drop-shadow(0 4px 3px rgba(51,17,10,.42))
    drop-shadow(0 0 10px rgba(255,207,126,.82))!important;
}

@media(min-width:901px){
  .stats .stat-icon{width:43px!important;height:43px!important}
}

.modal-panel.greeting-modal{
  width:min(540px,calc(100% - 26px));
  max-height:92vh;
  margin:4vh auto;
  padding:30px 38px 30px;
  overflow:auto;
  color:#35251d;
  border:3px double rgba(185,126,56,.88);
  border-radius:27px;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.95) 0 1px,transparent 2px),
    radial-gradient(circle at 89% 18%,rgba(214,151,72,.40) 0 1px,transparent 2px),
    radial-gradient(circle at 91% 83%,rgba(255,255,255,.92) 0 1px,transparent 2px),
    radial-gradient(ellipse at 2% 18%,rgba(207,184,223,.42),transparent 31%),
    radial-gradient(ellipse at 100% 80%,rgba(215,193,227,.38),transparent 32%),
    linear-gradient(180deg,#fffaf2 0%,#fffdf8 54%,#f8eef6 100%);
  background-size:79px 73px,127px 113px,101px 97px,auto,auto,auto;
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.72),
    inset 0 0 45px rgba(202,177,218,.18),
    0 28px 75px rgba(12,27,32,.42),
    0 0 22px rgba(246,213,161,.30);
}

.greeting-modal::before,
.greeting-modal::after{
  content:"";
  position:absolute;
  pointer-events:none;
  opacity:.58;
}

.greeting-modal::before{
  inset:14px;
  border:1px solid rgba(193,133,57,.62);
  border-radius:18px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.52);
}

.greeting-modal::after{
  right:30px;
  top:54px;
  width:88px;
  height:62px;
  background:
    linear-gradient(23deg,transparent 49%,rgba(192,135,55,.20) 49.5% 50%,transparent 50.5%),
    linear-gradient(151deg,transparent 49%,rgba(192,135,55,.17) 49.5% 50%,transparent 50.5%),
    radial-gradient(circle at 12% 72%,#d4953e 0 1px,transparent 2px),
    radial-gradient(circle at 45% 24%,#d4953e 0 1px,transparent 2px),
    radial-gradient(circle at 83% 62%,#d4953e 0 1px,transparent 2px);
}

.greeting-modal .modal-close{
  z-index:3;
  right:19px;
  top:17px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:#a55a2d;
  border:1px solid rgba(177,116,53,.55);
  border-radius:50%;
  background:rgba(255,249,237,.72);
  font:300 24px/1 var(--sans);
}

.greeting-modal .eyebrow{
  position:relative;
  z-index:2;
  margin:5px 0 9px;
  text-align:center;
  color:#9a6334;
  font:600 11px/1.2 var(--serif);
  letter-spacing:.12em;
}

.greeting-modal .eyebrow::after{
  content:"—  ✦  —";
  display:block;
  margin-top:7px;
  color:#c48943;
  letter-spacing:.18em;
}

.modal-kicker-note{
  margin:-5px 0 9px;
  text-align:center;
  color:#786a62;
  font:500 10px/1.35 var(--sans);
}

.greeting-modal h2{
  position:relative;
  z-index:2;
  margin:0 0 11px;
  text-align:center;
  color:#36261d;
  font:500 clamp(27px,2.8vw,31px)/1.05 var(--serif);
  white-space:nowrap;
}

.greeting-modal .modal-lead{
  position:relative;
  z-index:2;
  max-width:590px;
  margin:0 auto 17px;
  color:#55443a;
  font:500 12.5px/1.45 var(--serif);
  text-align:center;
  white-space:pre-line;
}

.greeting-modal #dynamicForm{position:relative;z-index:2}
.greeting-modal .field{margin:0 0 12px}
.greeting-modal .field label{
  margin:0 0 5px;
  color:#4a372b;
  font:700 10px/1.2 var(--serif);
  letter-spacing:.055em;
  text-transform:uppercase;
}
.greeting-modal .field label::before,
.greeting-modal .field label::after{content:"✦";margin-right:10px;color:#ce9347;font-size:10px}
.greeting-modal .field label::after{margin:0 0 0 10px}

.greeting-modal .field input,
.greeting-modal .field textarea,
.greeting-modal .field select{
  min-height:42px;
  padding:10px 13px;
  color:#3a2b23;
  border:1px solid rgba(184,119,52,.68);
  border-radius:13px;
  outline:0;
  background:rgba(255,253,248,.82);
  box-shadow:inset 0 2px 8px rgba(114,75,47,.05),0 1px 0 rgba(255,255,255,.9);
  font:500 12px/1.35 var(--serif);
}
.greeting-modal .field textarea{min-height:96px}
.greeting-modal .field input:focus,
.greeting-modal .field textarea:focus,
.greeting-modal .field select:focus{border-color:#c17832;box-shadow:0 0 0 3px rgba(211,157,83,.15),0 0 13px rgba(217,168,99,.18)}
.greeting-modal .field-note{
  display:block;
  margin:5px 2px 0;
  color:#7a675d;
  font:500 9px/1.4 var(--sans);
}

.greeting-modal .check,
.greeting-modal .consent-box .check{
  margin:7px 0 3px;
  align-items:center;
  gap:13px;
  color:#49372d;
  font:500 12px/1.35 var(--serif);
}
.greeting-modal .check input{
  appearance:none;
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin:0;
  display:grid;
  place-items:center;
  border:1px solid #bd772f;
  border-radius:6px;
  background:rgba(255,253,247,.82);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.74),0 2px 5px rgba(98,57,28,.10);
}
.greeting-modal .check input:checked::after{content:"✦";color:#a94b27;font-size:16px;text-shadow:0 0 7px #f3b964}
.greeting-modal .consent-box{
  margin:0 0 15px;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.greeting-modal .consent-box small{
  display:block;
  margin:3px 0 0 33px;
  color:#7a675d;
  font:500 9px/1.4 var(--sans);
}

.modal-panel.video-message-modal{width:min(560px,calc(100% - 30px));height:auto;min-height:0}
.video-message-modal .modal-lead{max-width:430px;margin-left:auto;margin-right:auto}
.video-recorder{
  margin:4px 0 14px;
  text-align:center;
}
.video-question{
  margin:0 auto 6px;
  color:#514038;
  font:500 13px/1.45 var(--serif);
}
.video-question strong{color:#7f3325;font-weight:700}
.video-limit{
  margin:0 0 11px;
  color:#a44b2d;
  font:700 9px/1.2 var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.video-open-button,
.video-controls button{
  min-height:40px;
  padding:9px 17px;
  color:#fff8ea;
  border:1px solid #d69248;
  border-radius:9px;
  background:linear-gradient(145deg,#bd5e34,#8e2f20);
  box-shadow:inset 0 0 0 2px rgba(255,227,184,.18),0 7px 16px rgba(111,46,25,.18);
  font:700 10px/1.2 var(--sans);
  cursor:pointer;
}
.video-open-button{min-width:240px}
.video-open-button:hover,.video-controls button:hover{filter:brightness(1.06)}
.video-controls button:disabled,.video-details .submit:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.3)}
.video-capture,.video-review{margin:10px 0 12px}
.video-frame,.video-review>video{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid rgba(200,137,65,.75);
  border-radius:15px;
  background:radial-gradient(circle at 50% 40%,#163f49,#061d28 75%);
  box-shadow:inset 0 0 0 3px rgba(255,246,225,.16),0 10px 24px rgba(20,40,46,.18);
}
.video-frame video,.video-review>video{
  width:100%;
  height:100%;
  object-fit:cover;
}
.video-frame video{transform:scaleX(-1)}
.video-recording-state,.video-frame time{
  position:absolute;
  z-index:2;
  top:12px;
  padding:5px 9px;
  color:#fff9ed;
  border:1px solid rgba(255,220,170,.45);
  border-radius:999px;
  background:rgba(3,26,34,.70);
  backdrop-filter:blur(5px);
  font:700 9px/1 var(--sans);
}
.video-recording-state{left:12px}
.video-recording-state.is-recording{color:#ffd8ca}
.video-recording-state.is-recording::first-letter{color:#ff4c32}
.video-frame time{right:12px;font-variant-numeric:tabular-nums}
.video-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:9px}
.video-controls button{min-width:112px;background:linear-gradient(145deg,#b66039,#8c3524)}
.video-review>video{background:#071e27}
.video-details{padding-top:2px}
.video-privacy-note{
  margin:9px 0 5px;
  padding:9px 12px;
  color:#66534a;
  border-radius:10px;
  background:rgba(247,232,215,.55);
  font:500 9px/1.45 var(--sans);
}

.greeting-submit-note{
  margin:14px 0 7px;
  text-align:center;
  color:#96623a;
  font:500 11px/1.2 var(--serif);
  letter-spacing:.035em;
}

.greeting-modal .primary-button.submit{
  width:88%;
  min-height:50px;
  margin:0 auto 8px;
  display:block;
  color:#fff8e9;
  border:2px solid #efa953;
  border-radius:17px;
  outline:2px solid rgba(255,231,180,.86);
  outline-offset:-7px;
  background:linear-gradient(145deg,#c46935,#8f321f);
  box-shadow:inset 0 1px 0 rgba(255,236,194,.64),0 0 17px rgba(230,139,54,.46),0 9px 20px rgba(92,45,25,.22);
  font:600 14px/1 var(--serif);
  letter-spacing:.045em;
  text-transform:uppercase;
}
.greeting-modal .primary-button.submit:hover{filter:brightness(1.06);transform:translateY(-1px)}

.greeting-modal.sealed-mode{
  height:auto;
  min-height:520px;
  padding:28px;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.92) 0 1px,transparent 2px),
    radial-gradient(circle at 83% 31%,rgba(212,151,72,.34) 0 1px,transparent 2px),
    radial-gradient(ellipse at 50% 45%,rgba(255,252,239,.96),rgba(247,232,210,.93) 68%,rgba(232,205,179,.82)),
    linear-gradient(145deg,#fffaf0,#f1dfc8);
  background-size:83px 79px,117px 109px,auto,auto;
}
.greeting-modal.sealed-mode .eyebrow,
.greeting-modal.sealed-mode h2,
.greeting-modal.sealed-mode .modal-lead{display:none}

.sealed-result{
  min-height:456px;
  padding:44px 32px 36px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  text-align:center;
  border:1px solid rgba(181,116,49,.54);
  border-radius:20px;
  background:
    radial-gradient(circle at 12% 14%,rgba(255,255,255,.92) 0 1px,transparent 2px),
    radial-gradient(circle at 88% 78%,rgba(197,132,55,.28) 0 1px,transparent 2px),
    linear-gradient(160deg,rgba(255,253,246,.96),rgba(250,239,220,.94));
  background-size:71px 67px,103px 97px,auto;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.60),inset 0 0 34px rgba(174,112,47,.10),0 10px 30px rgba(91,55,27,.12);
  animation:sealedReveal .65s ease both;
}
.sealed-envelope{
  position:relative;
  width:230px;
  height:146px;
  overflow:visible;
  border:1px solid #b98250;
  border-radius:7px;
  background:linear-gradient(145deg,#fffaf0 0%,#ead1b3 100%);
  box-shadow:0 20px 28px rgba(73,41,24,.22),inset 0 0 25px rgba(255,255,255,.75),0 0 0 4px rgba(255,248,231,.55);
  transform:rotate(-2deg);
}
.sealed-envelope::before{
  content:"";
  position:absolute;
  inset:0;
  clip-path:polygon(0 0,50% 58%,100% 0,100% 7%,50% 66%,0 7%);
  background:linear-gradient(165deg,#fffdf7,#dfc3a5);
  filter:drop-shadow(0 2px 1px rgba(102,55,28,.18));
}
.sealed-envelope::after{
  content:"";
  position:absolute;
  inset:0;
  clip-path:polygon(0 100%,0 43%,50% 77%,100% 43%,100% 100%);
  background:linear-gradient(155deg,rgba(245,226,202,.95),rgba(255,249,238,.94));
  border-bottom-left-radius:7px;
  border-bottom-right-radius:7px;
  box-shadow:inset 0 -1px 0 rgba(171,115,64,.35);
}
.sealed-envelope span{
  position:absolute;
  z-index:3;
  left:50%;
  top:59%;
  width:62px;
  height:59px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%);
  color:#7b2417;
  border:1px solid #6f2015;
  border-radius:48% 52% 45% 55% / 53% 46% 54% 47%;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,176,103,.58),transparent 28%),
    radial-gradient(circle at 56% 58%,#b94d2a 0 44%,#8a2d1c 72%,#6d2116 100%);
  box-shadow:inset 0 0 0 4px rgba(113,31,18,.24),inset 0 2px 4px rgba(255,190,116,.35),0 5px 9px rgba(67,28,17,.42),0 0 13px rgba(186,75,39,.28);
  clip-path:polygon(50% 0,62% 5%,75% 3%,84% 13%,96% 19%,94% 34%,100% 47%,94% 60%,96% 75%,83% 82%,76% 96%,61% 94%,49% 100%,36% 94%,21% 97%,15% 84%,3% 76%,6% 61%,0 49%,6% 35%,3% 21%,17% 14%,24% 3%,38% 6%);
}
.sealed-envelope span::before{
  content:"";
  position:absolute;
  inset:9px;
  border:2px solid rgba(91,25,17,.42);
  border-radius:50%;
  box-shadow:0 1px 0 rgba(255,194,119,.28),inset 0 1px 3px rgba(70,18,13,.55),inset 0 0 0 2px rgba(255,155,84,.09);
}
.sealed-envelope span::after{
  content:"✦";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#84291a;
  font:700 29px/1 Georgia,serif;
  transform:rotate(2deg);
  text-shadow:-1px -1px 0 rgba(76,18,12,.55),1px 1px 0 rgba(255,177,103,.42),0 0 4px rgba(91,25,16,.20);
}
.sealed-result > div:last-child{max-width:390px;display:flex;flex-direction:column;align-items:center}
.sealed-result h3{margin:0;color:#3d2a21;font:500 31px/1.15 var(--serif)}
.sealed-result i{display:block;width:155px;height:1px;margin:14px auto;background:linear-gradient(90deg,transparent,#c58a45 22% 78%,transparent)}
.sealed-result p{margin:6px 0;color:#5e4b40;font:500 14px/1.45 var(--serif)}

@keyframes sealedReveal{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}

@media(max-width:650px){
  .modal-panel.greeting-modal{padding:52px 24px 35px}
  .greeting-modal h2{font-size:clamp(23px,7vw,29px)}
  .greeting-modal .modal-lead{font-size:15px}
  .greeting-modal .field textarea{min-height:145px}
  .greeting-modal .primary-button.submit{width:100%;font-size:17px}
  .greeting-modal.sealed-mode{padding:18px}
  .sealed-result{min-height:430px;padding:42px 18px 30px}
  .sealed-envelope{margin:auto}
  .sealed-result i{margin:18px auto}
}
