/* Wedding Atlas shares the visual language of the live b/digital MATRIX homepage. */
:root{--ink:#e9eef0;--pine:#15181b;--leaf:#1b1f23;--cream:#0e1012;--paper:#15181b;--gold:#ff8a3d;--line:#272d32;--muted:#86919a;--f:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;--cyan:#6fe7dc;--mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;--serif:'Cormorant Garamond',Garamond,Georgia,serif}
html{background:#0e1012}body{padding:0;background:radial-gradient(circle at 79% 22%,#16302d44,transparent 33%),#0e1012;font-family:var(--f)}a{color:var(--cyan)}a:hover{color:#a7f7ef}.wrap{width:min(1240px,calc(100% - 72px))}
.matrix-sidebar{position:sticky;inset:0;z-index:30;width:100%;height:auto;min-height:84px;padding:14px max(35px,calc((100vw - 1320px)/2));display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:26px;background:#0e1012ee;border:0;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.matrix-logo{padding:0;gap:12px}.matrix-logo strong{font-size:15px;font-weight:500}.matrix-logo em{font-size:10px;color:var(--cyan);letter-spacing:.11em}.dotmark{grid-template-columns:repeat(3,6px);gap:3px}.dotmark i{width:6px;height:6px}.sidebar-divider,.sidebar-project,.sidebar-bottom,.top,.nav{display:none}.sidebar-nav{display:flex;gap:24px;align-items:center;margin:0}.sidebar-nav a{min-height:auto;padding:8px 0;border:0;border-radius:0;background:transparent;color:#a2afb4;font:12px var(--f);white-space:nowrap}.sidebar-nav a:hover,.sidebar-nav a.active{background:transparent;border:0;box-shadow:none;color:var(--cyan)}.sidebar-nav a.active{border-bottom:1px solid var(--cyan)}.nav-number{display:none}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(60px,6.3vw,100px);line-height:.99}h1 em,h2 em{color:var(--gold);font-family:'IM Fell English',var(--serif);font-weight:400}.eyebrow{color:var(--cyan);font:11px var(--mono);letter-spacing:.15em}.hero{display:block;min-height:auto;padding:34px 0 0;border:0;background:transparent}.hero-copy{max-width:1040px;margin:auto;padding:44px 20px 62px;text-align:center}.hero-copy h1{margin:14px 0 25px}.hero-copy p{max-width:760px;margin:auto;color:#a9b3b7;font:18px/1.65 var(--f)}.actions{justify-content:center;margin-top:31px}.btn{min-height:45px;padding:12px 22px;border:1px solid #6fe7dc;border-radius:24px;background:#1b2e2d;color:var(--cyan);font:500 11px var(--mono);text-transform:none;letter-spacing:.025em}.btn:hover{background:#25433e;color:#b6fff6}.btn.secondary{border-color:#343f40;color:#d0dbdb}.draft{max-width:670px;margin:28px auto 0;padding:0;border:0;background:none;color:#677b80;font:11px/1.6 var(--mono)}.hero-art{min-height:270px;border:1px solid var(--line);background:radial-gradient(circle at 50% 50%,#29312a55,transparent 45%),#15181b;overflow:hidden}.hero-art:before,.hero-art:after,.mountain,.orbit,.crosshair,.diagram-label{display:none}.signal-chart{display:block;width:100%;height:270px}.signal-chart text{font:10px var(--mono);fill:#79918e;letter-spacing:1.5px}.signal-chart .decision-label{fill:#ff8a3d}.signal-chart .stage-label{font:18px var(--serif);fill:#e9eef0;letter-spacing:0}.signal-chart .stage-label.orange{fill:#ff8a3d}
.metricbar{display:grid;grid-template-columns:repeat(4,1fr);padding:0;border:1px solid var(--line);border-top:0;background:#15181b}.metricbar>div{min-height:95px;padding:20px 24px;border-color:var(--line)}.metricbar>div:first-child{color:var(--gold)}.metricbar b{font-size:36px}.metricbar span{color:#889b9f}
section{padding:86px 0}section.wrap{border-color:var(--line)}.sectionhead{max-width:760px}.sectionhead p{color:#a4b0b5}.grid3{border-color:var(--line)}.card{background:#15181b;border-color:var(--line)}.card:before{background:var(--cyan)}.card .tag{color:var(--gold)}.card p{color:#a7b2b6}.band{background:#111719;border-color:var(--line)}.field input{background:#15181b;border:1px solid #3b4b4b;color:var(--ink)}.field input:focus{outline-color:var(--cyan)}.summary{background:#1b1f23;border-color:#3b5352;box-shadow:16px 16px 0 #090b0c}.summary .amount{color:var(--cyan)}.vrow{background:#15181b88;border-color:var(--line)}.vrow:hover{background:#1b2425}.vrow .price{color:var(--gold)}.cta{background:#151b1b;border-color:#3c5751}.cta .label{background:#111717;border-color:var(--gold)}.article{max-width:910px;padding:70px 0 110px}.article h1{font-size:clamp(54px,5.5vw,82px)}.article-topline{color:var(--cyan)}.article p,.article li{color:#b0bbbf}.article .research-note{padding:18px 22px;border-left:2px solid var(--gold);background:#1b1f23;color:#b6c4c7;font-size:14px}.article table{display:block;overflow-x:auto}.article th{color:var(--cyan)}.article td{color:#bac5c8}.article li::marker{color:var(--gold)}.fit-table{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:35px}.fit-table>div{padding:24px;border-right:1px solid var(--line)}.fit-table>div:last-child{border:0}.fit-table h3{font-size:29px;color:var(--ink)}.fit-table p{color:#a6b4b7}.fit-table small{font:10px var(--mono);color:var(--gold);letter-spacing:.08em;text-transform:uppercase}.source-note{font:11px/1.7 var(--mono);color:#819598}.compare-note{margin:20px 0 0;color:#a6b4b7;font-size:14px}footer{margin:0;background:#0e1012}.foot{color:#85999b;font:11px var(--mono)}.editorial-disclosure{display:block;max-width:780px;margin-top:18px;color:#789093;font:10px/1.7 var(--mono)}
@media(max-width:900px){.matrix-sidebar{padding-inline:22px}.sidebar-nav{gap:13px}.sidebar-nav a{font-size:11px}.wrap{width:calc(100% - 42px)}.hero-copy{padding-top:35px}.fit-table{grid-template-columns:1fr}.fit-table>div{border:0;border-bottom:1px solid var(--line)}.fit-table>div:last-child{border:0}}
@media(max-width:620px){body{padding:0}.matrix-sidebar{height:auto;min-height:80px;display:block;padding:12px 16px}.matrix-logo{justify-content:flex-start}.sidebar-nav{display:flex;gap:15px;overflow-x:auto;margin-top:7px;scrollbar-width:none}.sidebar-nav a{font-size:11px}.wrap{width:calc(100% - 32px)}.hero{padding:0}.hero-copy{padding:39px 4px 43px}.hero-copy h1{font-size:56px}.hero-copy p{font-size:16px}.actions{justify-content:center}.hero-art{min-height:210px}.signal-chart{width:720px;max-width:none;height:210px;transform:translateX(calc((100vw - 720px)/2))}.metricbar{grid-template-columns:repeat(2,1fr)}.metricbar>div{min-height:88px;padding:17px}.metricbar>div:nth-child(2){border-right:0}.metricbar>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.metricbar b{font-size:31px}.article{padding-top:40px}.article h1{font-size:52px}.article table{min-width:0}.article table tbody,.article table thead{min-width:650px}.foot{display:block}}
.brand-mark{display:block;width:30px;height:30px;flex:none}

/* The layered field and motion echo the public b/digital MATRIX experience. */
body{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(ellipse at 76% 4%,rgba(111,231,220,.12),transparent 42%),
    radial-gradient(ellipse at 8% 61%,rgba(255,138,61,.055),transparent 42%),
    linear-gradient(145deg,#0e1012 0%,#101719 56%,#0e1012 100%);
}
.matrix-atmosphere{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.matrix-atmosphere::before{
  content:"";position:absolute;inset:0;
  background:url('/matrix-field.svg') repeat 0 0/64px 110.85px;
  opacity:.9;
  -webkit-mask-image:radial-gradient(ellipse at 70% 20%,#000 0,rgba(0,0,0,.75) 46%,rgba(0,0,0,.25) 100%);
  mask-image:radial-gradient(ellipse at 70% 20%,#000 0,rgba(0,0,0,.75) 46%,rgba(0,0,0,.25) 100%);
}
.matrix-atmosphere::after{
  content:"";position:absolute;inset:-20%;
  background:
    radial-gradient(circle at 78% 25%,rgba(47,173,159,.08),transparent 24%),
    radial-gradient(circle at 18% 77%,rgba(255,138,61,.045),transparent 22%),
    repeating-linear-gradient(0deg,transparent 0 159px,rgba(111,231,220,.022) 160px 161px),
    repeating-linear-gradient(90deg,transparent 0 159px,rgba(111,231,220,.022) 160px 161px);
  animation:fieldDrift 28s ease-in-out infinite alternate;
}
.matrix-atmosphere canvas{position:absolute;inset:0;opacity:.72}
main,footer{position:relative;z-index:1}
.matrix-sidebar{z-index:30;background:rgba(14,16,18,.92)}
.band{background:linear-gradient(110deg,rgba(15,25,26,.92),rgba(12,20,22,.88));backdrop-filter:blur(4px)}
.metricbar,.card,.vrow,.fit-table,.summary,.cta{backdrop-filter:blur(8px)}
.metricbar,.card{background:rgba(21,24,27,.9)}
.vrow{background:rgba(21,24,27,.76)}
.vrow:hover{background:rgba(30,47,46,.95)}
.hero-art{background:radial-gradient(circle at 50% 50%,rgba(41,49,42,.4),transparent 45%),rgba(20,24,27,.88)}
.hero-art::before{content:"";display:block;position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:0;transform:none;box-shadow:none;background:url('/matrix-field.svg') repeat 0 0/64px 110.85px;opacity:.3;pointer-events:none}
.hero-art .signal-chart{position:relative;z-index:1}
.signal-chart g[stroke="url(#wave)"] path{transform-origin:50% 50%;animation:signalBreathe 7s ease-in-out infinite alternate}
.signal-chart g[stroke="url(#wave)"] path:nth-child(2){animation-delay:-1.5s}
.signal-chart g[stroke="url(#wave)"] path:nth-child(3){animation-delay:-3s}
.signal-chart g[stroke="url(#wave)"] path:nth-child(4){animation-delay:-4.5s}
.signal-chart g[stroke="url(#wave)"] path:nth-child(5){animation-delay:-6s}
.signal-chart circle[cx="600"][cy="135"]{animation:decisionGlow 4.5s ease-in-out infinite}
.hero-copy .eyebrow{animation:riseIn .7s .05s both}
.hero-copy h1{animation:riseIn .9s .14s both}
.hero-copy>p{animation:riseIn .9s .24s both}
.hero-copy .actions{animation:riseIn .9s .34s both}
.card,.fit-table>div,.vrow{transition:background .25s ease,border-color .25s ease,transform .3s ease,box-shadow .3s ease}
.card:hover,.fit-table>div:hover{background:rgba(29,45,44,.96);box-shadow:inset 0 2px rgba(111,231,220,.5)}
.vrow:hover{transform:translateX(4px)}
.motion-control{flex:none;border:1px solid #384744;border-radius:999px;padding:8px 11px;background:rgba(27,39,39,.72);color:#9fcac5;font:10px var(--mono);white-space:nowrap;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.motion-control:hover{border-color:var(--cyan);color:var(--cyan);background:#1a3030}
.motion-control:disabled{cursor:default;opacity:.7}
.motion-control:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@keyframes fieldDrift{from{transform:translate3d(-1.5%,0,0) scale(1)}to{transform:translate3d(1.5%,-1.5%,0) scale(1.025)}}
@keyframes signalBreathe{from{transform:translateY(-3px);opacity:.65}to{transform:translateY(3px);opacity:1}}
@keyframes decisionGlow{50%{opacity:.64;filter:drop-shadow(0 0 10px #ff8a3d)}}
@keyframes riseIn{from{opacity:.15;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
html.motion-paused .matrix-atmosphere::after,html.motion-paused .signal-chart path,html.motion-paused .signal-chart circle,html.motion-paused .hero-copy>*{animation-play-state:paused!important}
html.motion-paused .signal-travelers{display:none}
@media(max-width:900px){.motion-control{padding:7px 9px;font-size:9px}}
@media(max-width:620px){.matrix-sidebar{display:block;min-height:104px}.matrix-logo{width:calc(100% - 100px)}.sidebar-nav{width:100%;margin-top:11px;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%)}.motion-control{position:absolute;top:15px;right:16px;margin:0}.hero-art::before{background-size:48px 83px}}
@media(prefers-reduced-motion:reduce){.matrix-atmosphere::after,.signal-chart path,.signal-chart circle,.hero-copy>*{animation:none!important}.card,.fit-table>div,.vrow{transition:none}.vrow:hover{transform:none}}
