/* Skrifttyper ligger på egen server (ingen opslag hos Google) */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/manrope-latin-ext-wght-normal.woff2) format('woff2-variations'),url(/assets/fonts/manrope-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/manrope-latin-wght-normal.woff2) format('woff2-variations'),url(/assets/fonts/manrope-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  color-scheme: light;
  --ground:#FFFAF7;
  --paper:#FFFFFF;
  --ink:#2A1420;
  --ink-soft:#6B5561;
  --line:#EFE2E6;
  --rasp:#B8174A;
  --rasp-dark:#8C0F37;
  --mint:#C3EEE2;
  --mint-deep:#2F9C84;
  --blush:#FADCE6;
  --saffron:#F4B63B;
  --cobalt:#3E55D8;
  --violet:#8B45D0;
  --display:"Instrument Serif","Didot",Georgia,serif;
  --body:"Manrope","Segoe UI",system-ui,sans-serif;
  --gutter:clamp(16px,4vw,56px);
  --r:14px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;padding-inline:var(--gutter);overflow-x:clip}
a{color:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--rasp);outline-offset:3px}
.wrap{max-width:1200px;margin-inline:auto}
.band{margin-inline:calc(var(--gutter) * -1);padding:clamp(56px,8vw,104px) var(--gutter)}

h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);margin:0;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(3rem,7vw,5.6rem);line-height:.98}
h2{font-size:clamp(2.3rem,5vw,3.8rem);line-height:1}
h1 i,h2 i{font-style:italic}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rasp);margin:0 0 16px}
.kicker::before{content:"";width:22px;height:2px;background:currentColor}
.lead{font-size:1.12rem;color:var(--ink-soft);max-width:40ch;margin:22px 0 32px}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:inherit;font-weight:600;font-size:.95rem;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.btn.primary{background:var(--rasp);color:#fff}
.btn.primary:hover{background:var(--rasp-dark);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.white{background:#fff;color:var(--rasp)}
.btn.white:hover{transform:translateY(-1px)}
.btns{display:flex;gap:12px;flex-wrap:wrap}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter);background:rgba(255,250,247,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:16px}
.logo{text-decoration:none;display:flex;align-items:center;gap:12px}
.logo .mark{width:36px;height:36px;border-radius:50%;background:var(--rasp);color:#fff;display:grid;place-items:center;font-family:var(--display);font-size:1.25rem;font-style:italic}
.logo b{font-family:var(--display);font-weight:400;font-size:1.45rem;line-height:1}
.logo small{display:block;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:3px}
nav.menu{display:flex;gap:4px;flex-wrap:wrap}
nav.menu a{text-decoration:none;font-size:.92rem;font-weight:600;padding:8px 14px;border-radius:999px}
nav.menu a:hover{background:var(--blush)}
nav.menu a[aria-current="page"]{color:var(--rasp)}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(40px,6vw,88px)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-grid figure{margin:0;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--line)}
.hero-grid img{width:100%;height:100%;object-fit:cover}
.hero-grid .tag{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;color:var(--ink-soft);padding-top:4px}
.dots{display:flex;gap:6px}
.dots i{width:10px;height:10px;border-radius:50%;background:var(--c)}

/* galleries */
section{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.sec-head p{margin:0;color:var(--ink-soft);max-width:42ch}
.cats{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,20px)}
.cat{text-decoration:none;display:grid;gap:12px}
.cat .sq{position:relative;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--c)}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.cat:hover img{transform:scale(1.05)}
.cat .sq .soon{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-family:var(--display);font-style:italic;font-size:1.3rem}
.cat .name{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1.5px solid var(--line);padding-bottom:8px;transition:border-color .2s}
.cat:hover .name{border-color:var(--c)}
.cat .name strong{font-family:var(--display);font-weight:400;font-size:1.45rem;line-height:1.1}
.cat .name span{font-size:.8rem;color:var(--ink-soft);white-space:nowrap}
.cat .name strong::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);margin-right:9px;transform:translateY(-3px)}

/* gallery page */
.g-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px;padding-bottom:24px;border-bottom:1.5px solid var(--line)}
.back{background:none;border:0;padding:0;font:inherit;font-weight:600;font-size:.92rem;color:var(--ink-soft);cursor:pointer;margin-bottom:16px;display:block}
.back:hover{color:var(--rasp)}
.g-head p{margin:10px 0 0;color:var(--ink-soft);max-width:48ch}
.g-head .dot{display:inline-block;width:16px;height:16px;border-radius:50%;background:var(--c);margin-right:14px;transform:translateY(-6px)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:0;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;padding:7px 14px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--ink)}
.chip:hover{box-shadow:inset 0 0 0 1.5px var(--rasp);color:var(--rasp)}
.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.g-grid figure{margin:0;aspect-ratio:1;border-radius:var(--r);overflow:hidden;cursor:zoom-in;background:var(--c)}
.g-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.g-grid figure:hover img{transform:scale(1.04)}
.g-grid .soon{width:100%;height:100%;display:grid;place-items:center;color:#fff;font-family:var(--display);font-style:italic;font-size:1.3rem;opacity:.9}
.g-note{margin-top:22px;font-size:.9rem;color:var(--ink-soft)}
.g-note code{background:var(--blush);padding:2px 8px;border-radius:6px;color:var(--ink)}
.g-next{margin-top:40px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.g-next button{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:left;color:var(--ink)}
.g-next small{display:block;font-size:.8rem;color:var(--ink-soft)}
.g-next strong{font-family:var(--display);font-weight:400;font-size:1.8rem}
.g-next button:hover strong{color:var(--rasp)}

/* awards */
.awards{background:var(--paper);border-block:1px solid var(--line)}
.awards .sec-head{margin-bottom:30px}
.aw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,20px)}
.aw{margin:0;display:grid;gap:12px}
.aw .sq{position:relative;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--c)}
.aw .sq .soon{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:16px;color:#fff;font-family:var(--display);font-style:italic;font-size:1.25rem}
.aw .badge{position:absolute;left:12px;top:12px;background:var(--saffron);color:var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.aw figcaption strong{display:block;font-family:var(--display);font-weight:400;font-size:1.3rem;line-height:1.15}
.aw figcaption span{font-size:.84rem;color:var(--ink-soft)}
.members{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:34px;padding-top:24px;border-top:1.5px solid var(--line)}
.members > span{font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-right:6px}
.members b{font-weight:600;font-size:.9rem;padding:8px 14px;border-radius:999px;background:var(--ground);box-shadow:inset 0 0 0 1px var(--line)}
.todo{background:#FCEFC9;border-radius:4px;padding:0 4px}
@media (max-width:980px){.aw-grid{grid-template-columns:repeat(2,1fr)}}
/* about */
.about{background:var(--mint)}
.about .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:center}
.about .pic{aspect-ratio:889/982;max-width:100%;border-radius:var(--r);overflow:hidden}
.about .pic img{width:100%;height:100%;object-fit:cover}
.about .kicker{color:var(--rasp)}
.about p{max-width:56ch;margin:0 0 16px}
.about .first{font-family:var(--display);font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1.3;margin:24px 0 22px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 32px;padding-top:22px;border-top:1.5px solid rgba(42,20,32,.15)}
.stats b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(2rem,4vw,2.8rem);line-height:1;font-variant-numeric:tabular-nums}
.stats span{font-size:.86rem;color:var(--ink-soft)}

/* gift */
.gift{background:var(--blush)}
.gift .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.card{aspect-ratio:1.6/1;max-width:100%;border-radius:18px;background:url("/img/familie-4.jpg") center 30%/cover no-repeat,var(--rasp);color:#fff;padding:clamp(20px,3vw,34px);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 50px -30px rgba(140,15,55,.7);position:relative;overflow:hidden}
.card > *{position:relative;z-index:2}
.card .top-row{text-shadow:0 1px 3px rgba(0,0,0,.5),0 0 12px rgba(0,0,0,.35);display:flex;justify-content:space-between;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.card h3{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45),0 2px 18px rgba(0,0,0,.45);font-size:clamp(2rem,4vw,3.2rem);line-height:1}
.steps{list-style:none;padding:0;margin:26px 0 32px;display:grid;gap:18px;counter-reset:s}
.steps li{display:grid;grid-template-columns:42px 1fr;gap:16px;counter-increment:s}
.steps li::before{content:counter(s);width:42px;height:42px;border-radius:50%;background:#fff;color:var(--rasp);display:grid;place-items:center;font-family:var(--display);font-size:1.3rem}
.steps strong{display:block}
.steps span{color:var(--ink-soft);font-size:.95rem}

/* contact */
.contact{background:var(--rasp);color:#fff}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px)}
.contact h2{color:#fff}
.contact .kicker{color:var(--mint)}
.contact .lead{color:#FBDDE7}
.ways{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.ways li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.25)}
.ways .k{font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mint);padding-top:3px}
.ways .v{font-weight:600}
.ways a{text-underline-offset:4px}
form{background:var(--paper);color:var(--ink);border-radius:18px;padding:clamp(20px,3vw,32px);display:grid;gap:14px;align-self:start}
label{display:grid;gap:6px;font-size:.84rem;font-weight:600;color:var(--ink-soft)}
input,select,textarea{font:inherit;font-weight:500;color:var(--ink);background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--rasp);outline-offset:1px}
textarea{min-height:110px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sent{margin:0;padding:12px 14px;border-radius:10px;background:var(--mint);font-weight:600}

footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:28px;font-size:.88rem;color:var(--ink-soft)}
footer a{font-weight:600;text-decoration:none}

.lightbox{position:fixed;inset:0;z-index:60;background:rgba(42,20,32,.92);display:grid;place-items:center;padding:24px}
.lightbox img{max-width:100%;max-height:86vh;border-radius:10px}
.lightbox button{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;background:#fff;border:0;border-radius:999px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer}

@media (max-width:980px){.cats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){
  .hero,.about .wrap,.gift .wrap,.contact .wrap{grid-template-columns:1fr}
  .about .pic{max-width:420px}
}
@media (max-width:560px){.cats{grid-template-columns:repeat(2,1fr)}.row2{grid-template-columns:1fr}.ways li{grid-template-columns:1fr;gap:2px}.stats{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

/* ---- tilføjet til den rigtige side ---- */
.cats{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
@media (max-width:560px){.cats{grid-template-columns:repeat(2,1fr)}}
a.back{text-decoration:none}
.g-title{font-size:clamp(2.6rem,6vw,4.4rem);line-height:1}
.g-grid figure{position:relative}
.g-empty{grid-column:1 / -1;color:var(--ink-soft);margin:0;padding:40px 0}
a.chip{text-decoration:none}
.g-next a{text-decoration:none;color:var(--ink)}
.g-next a:hover strong{color:var(--rasp)}
.g-cta{margin-top:48px;padding:32px;border-radius:18px;background:var(--blush);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.g-cta p{margin:0;font-family:var(--display);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.1}
.aw .sq img{width:100%;height:100%;object-fit:cover}
.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.price{background:var(--paper);border-radius:var(--r);padding:24px;box-shadow:inset 0 0 0 1px var(--line);border-top:4px solid var(--c);display:grid;gap:6px;align-content:start}
.price strong{font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.1}
.price b{font-size:1.25rem;color:var(--rasp)}
.price span{font-size:.92rem;color:var(--ink-soft)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.sent.err{background:#FCEFC9}
.fine{margin:0;font-size:.8rem;color:var(--ink-soft)}
.lightbox{grid-template-columns:auto 1fr auto;gap:12px}
.lightbox img{grid-column:2;justify-self:center;max-height:86vh;max-width:100%;border-radius:10px}
.lightbox .lb-close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;background:#fff;border:0;border-radius:999px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer}
.lightbox .lb-nav{position:static;background:rgba(255,255,255,.9);border:0;border-radius:50%;width:48px;height:48px;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--ink);padding:0}
@media (max-width:560px){.lightbox{grid-template-columns:1fr;padding:12px}.lightbox img{grid-column:1}.lightbox .lb-nav{display:none}}

/* Instagram-knap */
.ig-btn{display:flex;align-items:center;gap:16px;margin-top:28px;padding:16px 22px;border-radius:16px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff;text-decoration:none;max-width:420px;transition:background .2s,transform .2s}
.ig-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}
.ig-btn .ig-ico{width:34px;height:34px;flex:none;color:var(--mint)}
.ig-btn strong{display:block;font-family:var(--display);font-weight:400;font-size:1.45rem;line-height:1.1}
.ig-btn small{display:block;font-size:.88rem;color:#FBDDE7;margin-top:2px}
.ig-foot{display:inline-flex;align-items:center;gap:6px}
.ig-foot .ig-ico{width:18px;height:18px}

/* ---- forside: fast grid + alle gallerier ---- */
.cats.front{grid-template-columns:repeat(4,1fr)}
@media (max-width:560px){.cats.front{grid-template-columns:repeat(2,1fr)}}
.more{display:flex;justify-content:center;margin-top:clamp(24px,3vw,36px)}
#alle-gallerier .g-cta{margin-top:56px}
#alle-gallerier a.back{display:block;width:max-content;margin-bottom:18px}
/* Privatlivspolitik */
.legal{max-width:760px}
.legal h1{margin-bottom:12px}
.legal .intro{color:var(--ink-soft);margin:0 0 36px;max-width:56ch}
.legal h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:40px 0 10px}
.legal p,.legal li{max-width:64ch}
.legal ul{padding-left:1.2em}
.legal .updated{margin-top:44px;font-size:.85rem;color:var(--ink-soft)}
