/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-italic-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-italic-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-normal-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-normal-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-normal-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-normal-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-normal-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-normal-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin.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{
  --bg:#f6f1ea; --paper:#fffdf9; --ink:#1f1a17; --muted:#6f655d; --line:#e3d9cd;
  --wine:#6b1f2a; --gold:#b08d57; --sage:#3f4b3c;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:300 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
strong{font-weight:500}
.nav{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(20px,5vw,56px);background:rgba(246,241,234,.86);backdrop-filter:blur(10px);border-bottom:1px solid transparent}
.nav.scrolled{border-color:var(--line)}
.brand{font:500 26px var(--serif);text-decoration:none;letter-spacing:.04em}
.brand span{color:var(--wine)}
.nav nav{display:flex;gap:clamp(14px,3vw,34px)}
.nav nav a{text-decoration:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav nav a:hover{color:var(--wine)}
main>section{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,5vw,56px)}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:14px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05}
h1{font-size:clamp(58px,10vw,132px);letter-spacing:-.01em}
h1 em{color:var(--wine);font-style:italic}
h2{font-size:clamp(36px,5vw,58px);margin-bottom:22px}
h3{font-size:28px}

.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,80px);align-items:center;min-height:min(calc(100vh - 70px),860px);padding-top:40px!important;padding-bottom:60px!important}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:30em;margin:26px 0 34px}
.cta{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;background:var(--wine);color:#fff;text-decoration:none;font-size:14px;letter-spacing:.06em;font-weight:500;transition:transform .2s,background .2s;border:1px solid var(--wine)}
.btn:hover{transform:translateY(-2px);background:#541720}
.btn.ghost{background:transparent;color:var(--wine)}
.btn small{font-size:11px;opacity:.7}
.hero-art{position:relative;aspect-ratio:4/5}


.hero-work{position:absolute;right:0;bottom:0;width:68%;border-radius:6px;box-shadow:0 30px 60px -20px rgba(40,20,10,.35);border:6px solid var(--paper)}

.section{padding-top:clamp(80px,11vw,140px)!important}
.label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-bottom:40px}
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(30px,6vw,90px)}
.about-grid p{margin-bottom:18px;font-size:18px}
.facts{display:grid;gap:0;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
dt{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:3px}
dd{font-size:16px}

.case{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:clamp(24px,4.5vw,60px)}
.case-head{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end;margin-bottom:24px}
.case-head h2{margin-bottom:12px}
.case-sub{color:var(--muted);font-size:18px;max-width:32em}
.meta div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.meta dd{font-size:15px}
.case-body{max-width:46em;margin-bottom:50px}
.piece{margin-top:50px}
.piece-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:22px}
.piece-head h3 span{font:400 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-left:10px}
.dl{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--wine);text-decoration:none;font-weight:500;white-space:nowrap}
.note{color:var(--muted);font-size:15px;margin:-8px 0 18px}
.piece.two{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,60px)}
.grid{display:grid;gap:14px}
.grid.pres{grid-template-columns:repeat(3,1fr)}
.grid.menu{grid-template-columns:repeat(2,1fr)}
.grid.carousel{grid-template-columns:repeat(4,1fr);gap:8px}
.thumb{position:relative;display:block;padding:0;border:0;background:#eee;cursor:zoom-in;overflow:hidden;border-radius:4px;box-shadow:0 1px 0 var(--line),0 8px 20px -14px rgba(0,0,0,.4)}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.thumb:hover img{transform:scale(1.04)}
.thumb .n{position:absolute;left:8px;bottom:6px;font:500 11px var(--sans);color:#fff;background:rgba(0,0,0,.45);padding:2px 7px;border-radius:99px}

.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:clamp(24px,3.5vw,44px)}
.card h3{font-size:36px;margin-bottom:12px}
.card h3 a{text-decoration:none}
.card h3 a:hover{color:var(--wine)}
.card p{margin-bottom:12px}

.contact{padding-bottom:120px!important}
.links{list-style:none;display:flex;flex-wrap:wrap;gap:14px 34px;margin:10px 0 36px}
.links a{font:500 clamp(22px,2.6vw,30px) var(--serif);text-decoration:none;border-bottom:1px solid var(--gold)}
.foot{max-width:var(--max);margin:0 auto;padding:28px clamp(20px,5vw,56px);border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted)}

/* Placeholders: visible in draft so they're easy to spot */
.ph{background:#fff3c4;color:#7a5a00;border:1px dashed #d9b440;border-radius:4px;padding:0 6px;font-style:normal}
.ph.block{display:block;padding:10px 14px}
.is-placeholder{outline:1px dashed #d9b440;outline-offset:3px}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(18,14,12,.94);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb figure{max-width:92vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.lb img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:3px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb figcaption{color:#d8cfc5;font-size:13px;letter-spacing:.08em}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:44px;line-height:1;cursor:pointer;padding:16px;opacity:.75}
.lb button:hover{opacity:1}
.lb-close{top:8px;right:14px}
.lb-prev{left:6px;top:50%;transform:translateY(-50%)}
.lb-next{right:6px;top:50%;transform:translateY(-50%)}

.reveal{opacity:0;transform:translateY(12px);transition:opacity .45s,transform .45s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

@media (max-width:900px){
  .hero,.about-grid,.case-head,.piece.two,.cards{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero-art{max-width:440px}
  .grid.pres{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  body{font-size:16px}
  .nav nav a:nth-child(3),.nav nav a:nth-child(5){display:none}
  .grid.carousel{grid-template-columns:repeat(2,1fr)}
  .facts div,.meta div{grid-template-columns:96px 1fr}
  .lb button{font-size:36px;padding:10px}
}
.grid.carousel .thumb{aspect-ratio:1290/1580}
.hero-art .photo{position:absolute;inset:0 18% 18% 0;width:82%;height:82%;object-fit:cover;object-position:50% 30%;border-radius:200px 200px 6px 6px}
.sub{color:var(--muted);font-size:14px}
.roles{list-style:none;border-top:1px solid var(--line)}
.role{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(20px,5vw,70px);padding:30px 0;border-bottom:1px solid var(--line)}
.role h3{font-size:26px;margin-bottom:6px}
.org{color:var(--wine);font-style:italic;font-family:var(--serif);font-size:20px}
.see{display:inline-block;margin-top:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-decoration:none;font-weight:500}
.role ul{padding-left:18px;font-size:16px}
.role li{margin-bottom:6px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.cards.four .card h3{font-size:26px}
.cards.four .card p{font-size:15px}
.piece .note{margin:-6px 0 18px;max-width:46em}
@media (max-width:1000px){.cards.four{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.role{grid-template-columns:1fr;gap:10px}}
@media (max-width:560px){.cards.four{grid-template-columns:1fr}}
.hero-work{height:auto}
/* hero contact */
.hero-contact{margin-top:22px;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:15px;color:var(--muted,#6b5d57)}
.hero-contact a{text-decoration:none;border-bottom:1px solid var(--gold)}
.hero-contact a:hover{color:var(--wine)}
/* instagram */
.case.social{margin-top:32px}
.case.social .case-head{margin-bottom:34px}
.case.social .ig-card{background:var(--bg)}
[id]{scroll-margin-top:80px}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ig-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:28px;display:flex;flex-direction:column;gap:14px}
.ig-top{display:flex;align-items:center;gap:16px}
.ig-top img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--gold)}
.ig-card h3{font-size:24px;line-height:1.15;word-break:break-word}
.ig-name{font-size:14px;opacity:.75;margin:2px 0 0}
.ig-stats{display:flex;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}
.ig-stats dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.ig-stats dd{font:600 24px var(--serif);margin:0}
.ig-role{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--wine);margin:0}
.ig-card p{margin:0;font-size:15px}
.ig-card .btn{margin-top:auto;align-self:flex-start}
.btn.small{padding:10px 18px;font-size:14px}
.cards.one{grid-template-columns:minmax(0,640px)}
[hidden]{display:none!important}
@media (max-width:1000px){.ig-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ig-grid{grid-template-columns:1fr}}

/* mireseerdhet site preview */
.case.site{margin-top:32px}
.case.site .case-head{margin-bottom:34px}
.case-url{display:block;font:400 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.site-preview{display:grid;grid-template-columns:1fr 200px;gap:28px;align-items:end;text-decoration:none;margin-bottom:28px}
.site-preview figure{margin:0;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 40px -22px rgba(31,26,23,.45);transition:transform .25s}
.site-preview:hover figure{transform:translateY(-3px)}
.site-preview img{display:block;width:100%;height:auto}
.browser{border-radius:10px;background:var(--bg)}
.browser-bar{display:flex;align-items:center;gap:6px;padding:9px 14px;background:var(--bg);border-bottom:1px solid var(--line)}
.browser-bar i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.browser-bar span{margin-left:10px;font-size:12px;color:var(--muted);letter-spacing:.04em}
.phone{border-radius:24px;border:6px solid var(--ink)!important}
@media (max-width:900px){.site-preview{grid-template-columns:1fr 34%;gap:16px}.phone{border-radius:16px;border-width:4px!important}}
@media (max-width:560px){.site-preview{grid-template-columns:1fr}.phone{width:56%;justify-self:center}}

/* ===== Visual effects: progress bar, glow, backlight, spotlight ===== */
:root{--glow:176,141,87;--glow-w:107,31,42;--ease:cubic-bezier(.22,.61,.36,1)}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--wine),var(--gold));box-shadow:0 0 10px rgba(var(--glow),.55);transition:transform .12s linear}
/* soft text glow on links, nav, headings */
a,.nav nav a,.brand,.see,h1 em,.case-head h2,.card h3,.ig-card h3,.piece-head h3{transition:color .3s var(--ease),text-shadow .35s var(--ease)}
.nav nav a:hover,.nav nav a.active{color:var(--wine);text-shadow:0 0 14px rgba(var(--glow),.55)}
.nav nav a{position:relative}
.nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .35s var(--ease);box-shadow:0 0 8px rgba(var(--glow),.8)}
.nav nav a.active::after,.nav nav a:hover::after{transform:scaleX(1)}
.brand:hover{text-shadow:0 0 18px rgba(var(--glow),.6)}
.hero-contact a:hover,.see:hover,.card h3 a:hover{text-shadow:0 0 12px rgba(var(--glow),.6)}
h1 em:hover,.case-head h2:hover,.piece-head h3:hover{text-shadow:0 0 22px rgba(var(--glow),.45)}
.card:hover h3,.ig-card:hover h3{color:var(--wine);text-shadow:0 0 16px rgba(var(--glow),.45)}
/* buttons */
.btn{transition:transform .25s var(--ease),background .25s,box-shadow .35s var(--ease)}
.btn:hover,.btn:focus-visible{box-shadow:0 0 0 4px rgba(var(--glow),.18),0 8px 26px -6px rgba(var(--glow-w),.55)}
.btn.ghost:hover{background:rgba(var(--glow-w),.05)}
/* cards lift + glow */
.card,.ig-card,.case{transition:transform .35s var(--ease),box-shadow .45s var(--ease),border-color .35s}
.card:hover,.ig-card:hover{transform:translateY(-4px);border-color:rgba(var(--glow),.55);box-shadow:0 18px 40px -22px rgba(var(--glow-w),.45),0 0 0 1px rgba(var(--glow),.18),0 0 34px -8px rgba(var(--glow),.45)}
.case:hover{border-color:rgba(var(--glow),.45);box-shadow:0 0 50px -24px rgba(var(--glow),.55)}
.thumb{transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.thumb:hover,.thumb:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(var(--glow),.6),0 10px 28px -10px rgba(var(--glow-w),.5),0 0 24px -4px rgba(var(--glow),.55)}
.site-preview figure{transition:transform .35s var(--ease),box-shadow .45s var(--ease)}
.site-preview:hover figure,.site-preview:focus-visible figure{box-shadow:0 22px 46px -22px rgba(var(--glow-w),.55),0 0 36px -6px rgba(var(--glow),.5)}
.ig-top img{transition:box-shadow .35s var(--ease)}
.ig-card:hover .ig-top img{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--gold),0 0 18px rgba(var(--glow),.7)}
/* backlight */
.hero-art{isolation:isolate}
.hero-art::before{content:"";position:absolute;inset:-12% -14% -10% -16%;z-index:-1;pointer-events:none;background:radial-gradient(42% 46% at 38% 38%,rgba(var(--glow),.42),transparent 70%),radial-gradient(40% 40% at 72% 78%,rgba(var(--glow-w),.20),transparent 72%);filter:blur(36px);animation:breathe 9s ease-in-out infinite alternate}
@keyframes breathe{from{opacity:.75;transform:scale(.97)}to{opacity:1;transform:scale(1.03)}}
.case,.cards,.ig-grid,.roles{position:relative}
.case::before,.cards::before{content:"";position:absolute;inset:-30px -40px;z-index:-1;pointer-events:none;border-radius:40px;background:radial-gradient(45% 55% at 15% 10%,rgba(var(--glow),.20),transparent 70%),radial-gradient(40% 50% at 90% 90%,rgba(var(--glow-w),.09),transparent 70%);filter:blur(30px)}
.spotlight{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .6s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(var(--glow),.10),transparent 65%)}
.spotlight.on{opacity:1}
.nav{z-index:30}
/* Instagram handles on one line */
.ig-top{flex-direction:column;align-items:flex-start;gap:12px}
.ig-card h3{white-space:nowrap;word-break:normal;overflow-wrap:normal;font-size:clamp(19px,1.9vw,23px)}
.ig-top>div{min-width:0;max-width:100%}
/* reveal stagger */
.reveal{transition:opacity .45s var(--ease),transform .45s var(--ease);transition-delay:var(--d,0s)}

@media (hover:none){.card:hover,.ig-card:hover,.thumb:hover{transform:none}}
@media (prefers-reduced-motion:reduce){
  .progress,.btn,.card,.ig-card,.case,.thumb,.site-preview figure,.nav nav a::after{transition:none!important}
  .hero-art::before{animation:none}
  .card:hover,.ig-card:hover,.thumb:hover,.btn:hover,.site-preview:hover figure{transform:none}
  .spotlight{display:none}
}
html,body{overflow-x:clip}
@media (max-width:560px){.case::before,.cards::before{inset:-20px -10px}}
/* mireseerdhet inner pages gallery */
.site-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 28px}
.site-page{text-decoration:none;display:block;border-radius:8px}
.site-page figure{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .45s var(--ease),border-color .35s}
.site-page img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;object-position:top}
.site-page figcaption{display:flex;align-items:baseline;gap:10px;padding:11px 14px;font-size:14px;color:var(--ink);border-top:1px solid var(--line)}
.site-page figcaption span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500}
.site-page:hover figure,.site-page:focus-visible figure{transform:translateY(-3px);border-color:rgba(var(--glow),.55);box-shadow:0 16px 34px -20px rgba(var(--glow-w),.5),0 0 28px -6px rgba(var(--glow),.5)}
@media (max-width:700px){.site-pages{grid-template-columns:1fr 1fr;gap:12px}.site-page:last-child{grid-column:1/-1}}
@media (max-width:420px){.site-pages{grid-template-columns:1fr}}
@media (hover:none){.site-page:hover figure{transform:none}}
@media (prefers-reduced-motion:reduce){.site-page figure{transition:none}.site-page:hover figure{transform:none}}
/* ===== Vivid backlight v3: rose · violet · sky (echoes the headshot) ===== */
:root{--bl-rose:224,69,123;--bl-violet:139,92,246;--bl-sky:56,189,248}
.hero-art .photo.round{inset:auto;top:2%;left:0;width:82%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:50%;box-shadow:0 24px 60px -24px rgba(var(--bl-violet),.55),0 0 0 6px rgba(255,255,255,.55)}
.hero-art::before{inset:-16% -20% -14% -22%;background:radial-gradient(40% 40% at 72% 20%,rgba(var(--bl-rose),.80),rgba(var(--bl-rose),.30) 50%,transparent 74%),radial-gradient(40% 44% at 12% 34%,rgba(var(--bl-violet),.70),rgba(var(--bl-violet),.25) 50%,transparent 74%),radial-gradient(38% 34% at 60% 70%,rgba(var(--bl-sky),.50),transparent 72%),radial-gradient(30% 30% at 90% 88%,rgba(var(--bl-rose),.45),transparent 70%);filter:blur(38px)}
.case::before,.cards::before{inset:-50px -64px;background:radial-gradient(42% 52% at 12% 8%,rgba(var(--bl-rose),.42),transparent 70%),radial-gradient(40% 50% at 92% 92%,rgba(var(--bl-violet),.40),transparent 70%);filter:blur(36px)}
.spotlight{background:radial-gradient(circle 125px at var(--mx,50%) var(--my,50%),rgba(var(--bl-rose),.13),rgba(var(--bl-rose),.10) 22%,rgba(var(--bl-violet),.075) 45%,rgba(var(--bl-violet),.04) 65%,rgba(var(--bl-violet),.015) 84%,rgba(var(--bl-violet),0) 100%)}
@media (max-width:560px){.hero-art::before{inset:-8% -4% -8% -4%;filter:blur(30px)}.case::before,.cards::before{inset:-26px -8px}}
/* ===== Jump-to-work pills ===== */
[id]{scroll-margin-top:96px}
.jump{margin-top:clamp(56px,8vw,96px);text-align:center}
.jump-lead{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
.jump-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.jump-pill{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:200px;padding:16px 30px;border-radius:999px;background:var(--paper);border:1px solid rgba(var(--glow),.55);color:var(--wine);text-decoration:none;box-shadow:0 10px 30px -18px rgba(var(--glow-w),.45);transition:transform .3s var(--ease),box-shadow .35s var(--ease),border-color .3s,background .3s}
.jump-pill span{font-family:var(--serif,"Cormorant Garamond",serif);font-size:24px;font-weight:500;line-height:1.1}
.jump-pill small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.jump-pill:hover,.jump-pill:focus-visible{transform:translateY(-3px);border-color:rgba(var(--bl-rose),.6);background:#fff;box-shadow:0 0 0 4px rgba(var(--bl-rose),.12),0 14px 34px -14px rgba(var(--bl-violet),.55),0 0 34px -6px rgba(var(--bl-rose),.45);outline:none}
.jump-pill:hover span{text-shadow:0 0 16px rgba(var(--bl-rose),.35)}
@media (max-width:560px){.jump-row{flex-direction:column;align-items:stretch}.jump-pill{min-width:0;padding:14px 22px}.jump-pill span{font-size:22px}}
@media (hover:none){.jump-pill:hover:not(:focus-visible){transform:none;background:var(--paper);border-color:rgba(var(--glow),.55);box-shadow:0 10px 30px -18px rgba(var(--glow-w),.45)}.jump-pill:hover span{text-shadow:none}}
@media (prefers-reduced-motion:reduce){.jump-pill{transition:none}.jump-pill:hover{transform:none}}

/* ===== Web design group ===== */
.work-group{margin-top:56px}
.group-head{text-align:center;margin:0 auto 6px;max-width:36em}
.group-head h2{margin:6px 0 0}
.work-group>.case.site:first-of-type{margin-top:26px}
.site-pages.duo{grid-template-columns:repeat(2,1fr)}
@media (max-width:700px){.site-pages.duo{grid-template-columns:1fr 1fr}.site-pages.duo .site-page:last-child{grid-column:auto}}
@media (max-width:420px){.site-pages.duo{grid-template-columns:1fr}}

/* nav: keep the mobile links on one line, shrink on very small screens */
@media (max-width:560px){.nav nav{gap:14px}.nav nav a{white-space:nowrap}}
@media (max-width:400px){.nav{padding-left:16px;padding-right:16px}.nav nav{gap:10px;flex-wrap:wrap;justify-content:flex-end;row-gap:8px}.nav nav a{font-size:11.5px;letter-spacing:.1em}}
@media (max-width:360px){.nav nav{gap:8px}.nav nav a{letter-spacing:.04em}}
