/* Forsiden. Overført 1:1 fra design/Bud2-Dagslys.dc.html. */
body{margin:0;background:#EEF0EF}
.b2{--ease-out:cubic-bezier(0.23,1,0.32,1);--day:#EEF0EF;--noon:#E2E3E6;--dusk:#D3CFD8;--eve:#2A1B38;--night:#1E1229;--late:#15132A;--ink:#1D1B22;--muted:#55525C;--moon:#ECE6F3;--moon-muted:#B9B0C6;font-family:"Figtree",system-ui,sans-serif;font-size:17px;line-height:1.6;color:var(--ink);background:var(--day);-webkit-font-smoothing:antialiased}
.b2 *{box-sizing:border-box}
.b2 img{display:block;width:100%;height:100%;object-fit:cover}
.b2 h1,.b2 h2,.b2 h3,.b2 p{margin:0}
.b2 a{color:inherit}
.b2 :focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.b2 .dark :focus-visible{outline-color:#CDB8FF}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px;position:relative;z-index:1}
.disp{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-optical-sizing:auto;letter-spacing:-.02em;line-height:.98}
.b2 .time{font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 100,"wght" 250;font-size:20px;color:var(--muted);margin-bottom:14px;font-variant-numeric:tabular-nums}
.dark .time{color:var(--moon-muted)}

.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.mark{display:inline-flex;align-items:center;min-height:44px;font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 100,"wght" 600;font-size:21px;text-decoration:none;letter-spacing:-.02em}
.nav{display:none;gap:28px;font-size:15px}
.nav a{text-decoration:none}
.nav a:hover{text-decoration:underline;text-underline-offset:4px}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;transition:transform 160ms var(--ease-out),background-color 180ms ease}
.btn:active{transform:scale(.97)}
.btn-day{background:var(--eve);color:#fff !important}
.btn-day:hover{background:#3B2950}
.btn-line{box-shadow:inset 0 0 0 1.5px currentColor}
.btn-line:hover{background:rgba(0,0,0,.05)}
.btn-night{background:var(--moon);color:var(--night) !important}
.btn-night:hover{background:#fff}
.dark .btn-line:hover{background:rgba(255,255,255,.08)}

.float{position:fixed;z-index:40;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--violet);color:#fff !important;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 10px 30px rgba(30,18,41,.35)}
.float:hover{background:#5A31BC}
.float{transition:transform 250ms var(--ease-out),opacity 250ms var(--ease-out),visibility 0s linear 0s,background-color 180ms ease}
.float[data-shown="false"]{transform:translateY(calc(100% + 28px));opacity:0;visibility:hidden;pointer-events:none;transition:transform 200ms var(--ease-out),opacity 200ms var(--ease-out),visibility 0s linear 200ms}

.hero{padding:24px 0 64px}
.hero-grid{display:grid;gap:36px}
.hero h1{font-size:clamp(48px,11vw,104px);font-variation-settings:"wdth" 100,"wght" 300}
.b2 .lead{font-size:19px;max-width:32em;margin-top:28px;color:#36343C}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.duo div{aspect-ratio:3/4;overflow:hidden}
.duo div:nth-child(2){margin-top:56px}

.sec{padding:80px 0;position:relative}
.h2{font-size:clamp(34px,7vw,64px)}
.s-about{background:linear-gradient(180deg,var(--day) 0,var(--noon) 100%)}
.s-about .h2{font-variation-settings:"wdth" 94,"wght" 420}
.about{display:grid;gap:32px}
.about-img{aspect-ratio:4/5;overflow:hidden;border-radius:2px}
.prose{max-width:34em;color:#36343C}
.prose p+p{margin-top:14px}

.s-parties{background:linear-gradient(180deg,var(--noon) 0,var(--dusk) 360px,rgba(211,207,216,0) 360px),linear-gradient(to top,var(--eve) 0,#3B2A4A 120px,#4B395B 215px,#5E4D6E 265px,#756584 315px,#8D7E9B 370px,#A598B0 420px,#BAB1C2 480px,#C9C3CF 515px,var(--dusk) 560px)}
.s-parties .h2{font-variation-settings:"wdth" 88,"wght" 520}
.parties{display:grid;gap:40px 20px;margin-top:44px}
.party .ph{aspect-ratio:4/3;overflow:hidden;margin-bottom:14px}
.party h3{font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 88,"wght" 560;font-size:26px;letter-spacing:-.015em;margin-bottom:6px}
.party p{color:#3E3B45;max-width:28em}

.dark{color:var(--moon)}
.s-steps{background:var(--eve)}
.s-steps .h2{font-variation-settings:"wdth" 82,"wght" 630}
.steps{list-style:none;padding:0;margin:44px 0 0;display:grid;gap:36px}
.step{display:grid;align-content:start;grid-template-columns:64px 1fr;gap:4px 18px}
.step .n{font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 80,"wght" 700;font-size:64px;line-height:.9;color:#B79CFF;grid-row:span 2}
.step h3{font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 86,"wght" 600;font-size:26px}
.step p{color:var(--moon-muted)}

.s-price{background:linear-gradient(180deg,var(--eve) 0,var(--night) 260px)}
.s-price .h2{font-variation-settings:"wdth" 78,"wght" 740}
.b2 .amount{font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 75,"wght" 780;font-size:clamp(56px,13vw,136px);white-space:nowrap;line-height:.88;letter-spacing:-.03em;margin-top:20px}
.b2 .wed{font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 80,"wght" 620;font-size:28px;margin-top:14px}
.price-grid{display:grid;gap:44px;margin-top:8px}
.b2 .price-note{color:var(--moon-muted);max-width:30em;margin-top:18px}
.incl h3{font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 84,"wght" 640;font-size:24px;margin-bottom:10px}
.incl ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr}
.incl li{padding:13px 0 13px 26px;border-bottom:1px solid rgba(236,230,243,.16);position:relative}
.incl li::before{content:"";position:absolute;left:2px;top:22px;width:9px;height:9px;border-radius:50%;background:#B79CFF}

.s-gallery{background:var(--night)}
.s-gallery .h2{font-variation-settings:"wdth" 76,"wght" 780}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:40px}
.mosaic figure{margin:0;overflow:hidden;position:relative}
.mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;font-size:14px;color:#fff;background:linear-gradient(180deg,transparent,rgba(10,6,20,.78))}
.m-a{grid-column:span 2;aspect-ratio:4/3}.m-b,.m-c{aspect-ratio:3/4}.m-d{grid-column:span 2;aspect-ratio:16/9}.m-e,.m-f{aspect-ratio:3/4}

.s-end{background:linear-gradient(180deg,var(--night) 0,var(--late) 320px);padding-bottom:120px}
.s-end .h2{font-variation-settings:"wdth" 75,"wght" 800;font-size:clamp(44px,10vw,112px);line-height:.92;max-width:11em}
.end-grid{display:grid;gap:40px}
.end-img{aspect-ratio:9/12;overflow:hidden}
.contact{list-style:none;padding:0;margin:32px 0 0;border-top:1px solid rgba(236,230,243,.18)}
.contact li{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:6px 0;border-bottom:1px solid rgba(236,230,243,.18)}
.contact span{color:var(--moon-muted)}
.contact a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:19px;text-decoration:none;color:var(--moon)}
.contact a:hover{text-decoration:underline;text-underline-offset:4px}
.foot{background:var(--late);color:var(--moon-muted);font-size:14px;padding:24px 0 100px;margin-top:-1px}
.sec + .sec{margin-top:-1px}

.haze{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 180px,#000 calc(100% - 180px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 180px,#000 calc(100% - 180px),transparent 100%);opacity:0;transition:opacity 1400ms var(--ease-out)}
.haze[data-on="true"]{opacity:1}
.haze[data-on="false"] .beam{animation-play-state:paused}
.beam{position:absolute;top:-30%;width:220px;height:170%;transform-origin:50% 0;filter:blur(16px);mix-blend-mode:screen;opacity:.8;animation:b2drift 19s ease-in-out infinite alternate}
.beam.v{background:linear-gradient(90deg,transparent,rgba(150,95,255,.20) 50%,transparent)}
.beam.r{background:linear-gradient(90deg,transparent,rgba(235,70,110,.12) 50%,transparent);animation-duration:24s;animation-delay:-6s}
.beam.b{background:linear-gradient(90deg,transparent,rgba(90,120,255,.15) 50%,transparent);animation-duration:21s;animation-delay:-11s}
.beam:nth-child(1){left:62%;--a:24deg}
.beam:nth-child(2){left:82%;--a:31deg;width:160px}
.beam:nth-child(3){left:40%;--a:19deg;width:120px}
@keyframes b2drift{
  from{transform:rotate(var(--a)) translateX(-36px);opacity:.45}
  to{transform:rotate(calc(var(--a) + 5deg)) translateX(36px);opacity:.95}
}

@media (min-width:900px){
  .wrap{padding:0 48px}
  .nav{display:flex}
  .float{left:auto;right:28px;bottom:28px}
  .hero{padding:48px 0 120px}
  .hero-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:64px;align-items:center}
  .sec{padding:128px 0}
  .about{grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:80px;align-items:center}
  .parties{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}
  .party:nth-child(3n+2){margin-top:72px}
  .party:nth-child(3n+2) .ph{aspect-ratio:3/4}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
  .step{grid-template-columns:1fr}
  .step .n{font-size:96px;grid-row:auto;margin-bottom:12px}
  .price-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:80px;align-items:end}
  .incl ul{grid-template-columns:1fr 1fr;column-gap:28px}
  .mosaic{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .m-a{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
  .m-b,.m-c{aspect-ratio:3/4}
  .m-d{grid-column:span 2;aspect-ratio:16/9}
  .m-e,.m-f{grid-column:span 2;aspect-ratio:16/9}
  .end-grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:72px;align-items:end}
  .foot{padding-bottom:28px}
  .s-parties{background:linear-gradient(180deg,var(--noon) 0,var(--dusk) 360px,rgba(211,207,216,0) 360px),linear-gradient(to top,var(--eve) 0,#312140 180px,#3B2A4A 360px,#4B395B 530px,#5E4D6E 600px,#756584 670px,#8D7E9B 740px,#A598B0 800px,#BAB1C2 860px,#C9C3CF 930px,var(--dusk) 1000px)}
}
@media (prefers-reduced-motion:reduce){
  .beam{animation:none;transform:rotate(var(--a));opacity:.6}
  .btn{transition:none}
  .haze{transition:opacity 400ms ease}
  .float,.float[data-shown="false"]{transform:none}
  .float{transition:opacity 200ms ease,visibility 0s linear 0s}
  .float[data-shown="false"]{transition:opacity 200ms ease,visibility 0s linear 200ms}
}

/* Tilføjet til Grav: <picture> skal fylde sin ramme som <img> gør i designet. */
.b2 picture{display:block;width:100%;height:100%}
.b2 .module-text{max-width:32em;margin-top:20px;color:var(--moon-muted)}
/* Videoer under priserne. Samme opstilling og typografi som festerne, på aftenens mørke baggrund. */
.clips-wrap{margin-top:72px}
.b2 .clips-h{font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 84,"wght" 640;font-size:24px}
.clips{display:grid;gap:40px 20px;margin-top:24px}
.clip{margin:0}
.clip .ph{position:relative;aspect-ratio:4/5;overflow:hidden;margin-bottom:14px;background:var(--late)}
.clip video{display:block;width:100%;height:100%;object-fit:cover}
.clip h4{font-family:"Bricolage Grotesque",sans-serif;font-variation-settings:"wdth" 88,"wght" 560;font-size:26px;letter-spacing:-.015em;margin:0 0 6px;color:var(--moon)}
.clip p{color:var(--moon-muted);max-width:28em}
.clip-btn{position:absolute;right:12px;bottom:12px;width:44px;height:44px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(21,19,42,.6);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 0 0 1px rgba(236,230,243,.24);transition:transform 160ms var(--ease-out),background-color 180ms ease}
.clip-btn[hidden]{display:none}
.clip-btn:hover{background:rgba(21,19,42,.85)}
.clip-btn:active{transform:scale(.94)}
.clip-btn svg{width:18px;height:18px;fill:currentColor}
.clip-btn .i-play,.clip-btn[data-state="paused"] .i-pause{display:none}
.clip-btn[data-state="paused"] .i-play{display:block}
@media (min-width:900px){
  .clips-wrap{margin-top:112px}
  .clips{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}
  .clip:nth-child(3n+2){margin-top:72px}
  .clip:nth-child(3n+2) .ph{aspect-ratio:9/16}
}
@media (prefers-reduced-motion:reduce){
  .clip-btn{transition:none}
}

/* Fester: det sidste kort (mobil) og den sidste række (desktop) står på den mørke del af overgangen. */
.s-parties .party.is-last h3{color:var(--moon)}
.s-parties .party.is-last p{color:var(--moon-muted)}
@media (min-width:900px){
  .s-parties .party.is-last:not(.is-lastrow) h3{color:inherit}
  .s-parties .party.is-last:not(.is-lastrow) p{color:#3E3B45}
  .s-parties .party.is-lastrow h3{color:var(--moon)}
  .s-parties .party.is-lastrow p{color:var(--moon-muted)}
}
