/*! dp-theme
   name: Marine
   notes: Deep marine blue with a slow tidal sheen.
*/
/* Marine — Deep marine blue with a slow tidal sheen. */
/* ============================================================
   47 — MARINE  ·  navy & champagne
   Navy and gold is the oldest money pairing there is — bank, yacht,
   embassy. Kept honest by pushing the navy almost to black so the
   gold is the only saturated thing on the page. Ruled horizontally,
   like the paper contracts are still printed on.

   The foil is a seven-stop ramp: deep trough, two mid tones, a
   narrow peak, and back down. Metal reads as metal only when the
   highlight is narrow and the shoulders are wide.
   ============================================================ */
:root{
  --bg:#03060e; --bg-2:#080f1e; --bg-3:#010206;
  --fg:#dcdbd1; --mute:#4e596d;
  --line:rgb(203 184 144 / .14);
  --accent:#cbb890; --on-accent:#03060e;
  --sheen:#dfe8ff;
  --surface:#f1efe6; --on-surface:#08101c;
  --g-d:#5d4a29; --g-m:#95794a; --g-l:#d2bd91; --g-peak:#f7ebd2;
  --mesh-op:.22; --silk-op:.55;
}
:root[data-scheme="light"]{
  --bg:#e9ecf1; --bg-2:#f4f6f9; --bg-3:#dae0e8;
  --fg:#0d1626; --mute:#87909e;
  --line:rgb(13 22 38 / .13);
  --accent:#7a6329; --on-accent:#f7f5ee;
  --sheen:#0d1626;
  --surface:#08101c; --on-surface:#f1efe6;
  --g-d:#5b4720; --g-m:#8a6f36; --g-l:#bda069; --g-peak:#eddcb4;
  --mesh-op:.42; --silk-op:.8;
}
body{font-family:"Inter",system-ui,sans-serif}

/* lacquer depth: a lit core and a darker rim, never a flat fill */
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(92vmax 66vmax at 50% 36%, var(--bg-2) 0%, transparent 44%),
    radial-gradient(155vmax 125vmax at 50% 118%, var(--bg-3) 0%, transparent 60%);
}

.silk{position:fixed; inset:-20%; z-index:0; pointer-events:none; opacity:var(--silk-op)}
.silk span{position:absolute; inset:0}
.silk span:nth-child(1){
  background:linear-gradient(112deg,
    transparent 20%, rgb(from var(--accent) r g b / .07) 38%,
    rgb(from var(--accent) r g b / .13) 50%,
    rgb(from var(--accent) r g b / .07) 62%, transparent 80%);
  animation:drape 38s ease-in-out infinite;
}
.silk span:nth-child(2){
  background:linear-gradient(68deg,
    transparent 24%, rgb(from var(--sheen) r g b / .05) 46%,
    rgb(from var(--sheen) r g b / .09) 54%, transparent 78%);
  animation:drape 52s ease-in-out infinite reverse;
}
@keyframes drape{0%,100%{transform:translate(-6%,-3%) scale(1.05)}50%{transform:translate(6%,4%) scale(1.12)}}

.mesh{
  position:fixed; inset:0; z-index:0; pointer-events:none; opacity:var(--mesh-op);
  /* ruled, like ledger stock: a fine rhythm and a stronger baseline */
  background-image:
    repeating-linear-gradient(0deg, rgb(from var(--accent) r g b / .04) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(0deg, rgb(from var(--accent) r g b / .07) 0 1px, transparent 1px 72px);
}
.edge{
  position:fixed; inset:clamp(.8rem,2.6vw,2rem); z-index:1; pointer-events:none;
  border:1px solid var(--line);
  box-shadow:inset 0 0 0 4px rgb(from var(--bg) r g b / .55), inset 0 0 0 5px var(--line);
}

.name{
  margin:0; text-align:center; position:relative;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2.1rem,9.4vw,7rem); font-weight:400;
  letter-spacing:.015em; line-height:1.08;
  background:linear-gradient(102deg,
    var(--g-d) 8%, var(--g-m) 26%, var(--g-l) 40%,
    var(--g-peak) 48%, var(--g-l) 56%, var(--g-m) 72%, var(--g-d) 90%);
  background-size:320% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 1px 0 rgb(0 0 0 / .4));
  animation:foil 16s ease-in-out infinite;
}
@keyframes foil{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
html[lang="hy"] .name{font-family:"Noto Sans Armenian",sans-serif; font-size:clamp(1.85rem,7.6vw,5.4rem)}
html[lang="fa"] .name{font-family:"Vazirmatn",sans-serif; font-size:clamp(1.85rem,7.6vw,5.4rem); line-height:1.42}
.name .ch{display:inline-block; opacity:0; transition:opacity 2s var(--ease)}
.ready .name .ch{opacity:1}

.engrave{
  width:min(86vw,44rem); margin-inline:auto;
  padding:clamp(.7rem,2.4vh,1.1rem) 0;
  border-block:1px solid var(--line);
  overflow:hidden;
}
.engrave .run{
  display:flex; white-space:nowrap; width:max-content;
  font-size:.62rem; letter-spacing:.4em; text-transform:uppercase;
  color:var(--mute); will-change:transform;
}
.engrave .run i{
  font-style:normal; unicode-bidi:isolate;
  letter-spacing:.14em; text-transform:none;
  transition:color 1.2s var(--ease);
}
.engrave .run i.on{color:var(--accent)}

.label{
  text-align:center; margin-top:.9rem;
  font-size:.56rem; letter-spacing:.4em; text-transform:uppercase; color:var(--mute);
}
html[lang="fa"] .label,html[lang="hy"] .label{letter-spacing:.08em; text-transform:none; font-size:.66rem}

.cta{
  position:relative;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.05rem,2.5vw,1.4rem); font-weight:400; letter-spacing:.05em;
  color:var(--fg); padding-bottom:.32rem;
  transition:color .9s var(--ease);
}
html[lang="hy"] .cta{font-family:"Noto Sans Armenian",sans-serif; font-size:clamp(1rem,2.3vw,1.25rem)}
html[lang="fa"] .cta{font-family:"Vazirmatn",sans-serif; font-size:clamp(1rem,2.3vw,1.25rem)}
.cta::after{
  content:""; position:absolute; inset-inline:0; bottom:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--accent) 15%,var(--accent) 85%,transparent);
  transform:scaleX(0); transform-origin:center;
  transition:transform 1.1s var(--ease);
}
.ready .cta::after{transform:scaleX(1)}
.cta:hover{color:var(--accent)}
.cta:hover::after{transform:scaleX(1.14)}

.sheet{
  position:fixed; inset:0; z-index:40;
  background:var(--surface); color:var(--on-surface);
  display:grid; place-items:center; padding:var(--gutter);
  clip-path:inset(0 0 100% 0);
  transition:clip-path 1.1s var(--ease);
}
:root[data-contact="open"] .sheet{clip-path:inset(0 0 0 0)}
.sheet .dpform h2{font-family:"Cormorant Garamond",Georgia,serif; font-weight:400; font-size:clamp(1.7rem,4.6vw,2.6rem)}
.sheet .send{background:var(--accent); color:var(--on-accent); border-radius:0;
  letter-spacing:.2em; text-transform:uppercase; font-size:.66rem; padding:.8rem 2rem}
