/*
Theme Name: DAEMANN Studio
Theme URI: https://daemann.co.uk/
Author: DAEMANN Ltd
Description: A cinematic, responsive portfolio for the DAEMANN independent creative studio. Customizable landscape, project panels and optional hero background video.
Version: 1.0.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: daemann-studio
License: GNU General Public License v2 or later
*/
:root{--bg:#070a0e;--side:#090c11;--text:#f5f5f5;--muted:#afb2bd;--border:rgba(255,255,255,.15);--green:#60e389;--rose:#d878c7;--cyan:#4acbed;--gold:#e4c064;--sidebar-width:230px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:var(--bg);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
img{max-width:100%;display:block}
.site-shell{min-height:100vh}
.site-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);z-index:30;background:linear-gradient(145deg,#0c1117 0%,#070a0e 100%);border-right:1px solid rgba(255,255,255,.075);display:flex;flex-direction:column;overflow-y:auto}
.brand{padding:36px 18px 0;display:flex;flex-direction:column;align-items:center;text-align:center}
.brand-mark{width:150px;height:150px;object-fit:cover;border-radius:50%}
.brand-name{margin-top:4px;font-size:23px;font-weight:660;line-height:1.3;letter-spacing:.095em}
.side-nav{display:flex;flex-direction:column;gap:5px;padding:0 19px;margin-top:53px}
.nav-item{min-height:45px;display:flex;align-items:center;gap:12px;padding:0 18px;color:#c0c3cc;border-left:2px solid transparent;letter-spacing:.025em;font-size:14px;transition:background .2s,color .2s,border-color .2s}
.nav-item:hover{color:#fff;background:rgba(255,255,255,.055)}
.nav-item.active{color:var(--green);font-weight:650;border-left-color:var(--green);background:linear-gradient(90deg,rgba(62,195,115,.12),rgba(35,148,87,.015))}
.nav-symbol{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.nav-symbol svg{width:22px;height:22px}
/* Keep unique silhouettes at matched optical size, not identical outer width. */
.nav-symbol .project-nav-icon{display:block;object-fit:contain;flex-shrink:0;max-width:none}
.nav-symbol .project-nav-icon--egg{width:20px;height:26px}
.nav-symbol .project-nav-icon--axon{width:26px;height:19px}
.nav-symbol .project-nav-icon--triskelion{width:23px;height:23px}
.sidebar-bottom{padding:0 31px 24px;margin-top:auto}
.social-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 2px;border-top:1px solid var(--border);margin-top:28px;min-height:64px}
.social-row a{font-size:16px;font-weight:650;color:#dce0e8;line-height:1;transition:color .2s}
.social-row a:hover{color:var(--cyan)}
.email-social{font-size:21px!important}
.copyright{font-size:12px;color:#838894;line-height:1.85;letter-spacing:.005em;margin-top:58px}
.site-main{min-height:100vh;margin-left:var(--sidebar-width);overflow:hidden}
.mobile-menu-button,.sidebar-backdrop{display:none}
.hero{height:445px;position:relative;isolation:isolate;overflow:hidden;background:#101721}
.hero-photo{position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center center;z-index:-3;transform:scale(1.02)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(6,10,15,.92) 0%,rgba(7,11,16,.88) 28%,rgba(7,11,16,.64) 48%,rgba(7,11,16,.06) 73%,rgba(7,11,16,.02) 100%),linear-gradient(0deg,rgba(4,8,12,.28) 0,transparent 35%,rgba(0,0,0,.19) 100%)}
.hero-topline{position:absolute;right:3.3%;top:25px;display:flex;align-items:center;gap:17px;font-size:10px;font-weight:650;color:#eef1fa;letter-spacing:.29em;white-space:nowrap;text-shadow:0 1px 12px #111}
.topline-rule{width:56px;height:1px;background:rgba(255,255,255,.5)}
.hero-copy{position:relative;padding:81px 0 0 clamp(34px,4.4vw,75px);max-width:700px}
.hero-copy h1{font-size:clamp(44px,4.8vw,62px);line-height:1.1;margin:0 0 9px;font-weight:620;letter-spacing:.205em}
.hero-tagline{font-size:15px;letter-spacing:.295em;line-height:1.55;font-weight:520;margin:0 0 31px;text-transform:uppercase;color:#f2f1f1}
.hero-description{font-size:15px;line-height:1.65;letter-spacing:.025em;max-width:548px;color:#d1d3d9;margin:0 0 25px;text-wrap:pretty}
.outline-button{height:48px;min-width:325px;display:inline-flex;align-items:center;justify-content:center;gap:23px;border:1px solid rgba(255,255,255,.93);font-size:11px;letter-spacing:.28em;font-weight:600;transition:background .2s,transform .2s}
.outline-button span{font-size:23px;font-weight:300;line-height:1}
.outline-button:hover{background:#fff;color:#080b10;transform:translateY(-2px)}
.projects{position:relative;z-index:1;padding:0 31px 34px;margin-top:-1px;background:linear-gradient(180deg,rgba(4,7,11,.15),#070a0e 90%)}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;max-width:1580px;margin:0 auto}
.project-card{min-width:0;display:flex;flex-direction:column;min-height:439px;border-radius:10px;border:1px solid rgba(222,225,233,.22);background:linear-gradient(160deg,rgba(24,27,34,.75),#06090d 55%);overflow:hidden;box-shadow:0 14px 28px rgba(0,0,0,.34);transition:transform .22s,border-color .22s}
.project-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.4)}
.project-card.rose{background:linear-gradient(166deg,#12111c 0%,#090911 65%,#1c0b1b 125%)}
.project-card.cyan{background:linear-gradient(166deg,#08141d 0%,#050b11 65%,#061c28 125%)}
.project-card.gold{background:linear-gradient(166deg,#17150f 0%,#0d0b09 65%,#1d150c 125%)}
.project-art{display:block;position:relative;height:204px;flex-shrink:0;overflow:hidden}
.project-art::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,rgba(4,6,9,.85),transparent);pointer-events:none}
.project-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.project-card:hover .project-art img{transform:scale(1.05)}
.project-card.gold .project-art img{object-position:center center}
.project-text{padding:0 31px 25px;position:relative;margin-top:-4px;display:flex;flex-direction:column;flex:1}
.project-text h2.project-title-signature{margin:-7px 0 1px;line-height:1;min-height:47px;display:flex;align-items:center}
.project-title-signature img{height:auto;width:218px;max-width:100%;max-height:53px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.project-text h2{position:relative;margin:0 0 1px;font-size:25px;font-weight:650;letter-spacing:.18em;line-height:1.35;text-shadow:0 1px 12px #05070a}
.project-subtitle{font-size:10px;line-height:1.5;letter-spacing:.225em;margin:0 0 12px;color:#d9dae1;font-weight:520;white-space:normal}
.accent-rule{height:2px;width:43px;margin-bottom:15px}
.rose .accent-rule{background:var(--rose)}.cyan .accent-rule{background:var(--cyan)}.gold .accent-rule{background:var(--gold)}
.project-description{color:#aeb0bb;font-size:12.5px;line-height:1.65;letter-spacing:.015em;margin:0 0 15px}
.project-more{font-size:11px;font-weight:620;letter-spacing:.24em;margin-top:auto;padding-top:5px;display:inline-flex;gap:14px;align-items:center;align-self:flex-start;transition:gap .2s}
.project-more span{font-size:21px;font-weight:300;line-height:1}
.project-more:hover{gap:21px}
.rose .project-more{color:var(--rose)}.cyan .project-more{color:var(--cyan)}.gold .project-more{color:var(--gold)}
.below-fold{max-width:1120px;margin:90px auto 75px;padding:0 45px;text-align:center;scroll-margin-top:35px}
.eyebrow,.interior-eyebrow{font-size:11px;font-weight:650;letter-spacing:.28em;color:var(--cyan)}
.below-fold h2{font-size:clamp(30px,3.5vw,48px);letter-spacing:-.03em;font-weight:500;margin:12px 0}
.below-fold>p{color:#b7bac4;max-width:680px;margin:0 auto;font-size:16px;line-height:1.8}
.contact-line{margin:70px auto 0;padding:25px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:780px;scroll-margin-top:50px}
.contact-line span{font-size:11px;letter-spacing:.24em;color:#a6abb5}
.contact-line a{font-size:17px;color:#f9f9f9}.contact-line a:hover{color:var(--cyan)}
.global-footer{display:flex;justify-content:space-between;gap:20px;padding:22px 34px;color:#747b85;border-top:1px solid rgba(255,255,255,.08);font-size:10px;letter-spacing:.17em}
.interior-page{min-height:85vh}
.interior-hero{height:410px;display:flex;position:relative;background:#090c12;flex-direction:column;justify-content:space-between;padding:34px clamp(30px,6vw,92px) 56px;isolation:isolate}
.interior-hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--interior-image);background-size:cover;background-position:center 40%}
.interior-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,13,.98),rgba(5,8,13,.77) 40%,rgba(5,8,13,.16)),linear-gradient(0deg,rgba(5,8,13,.84),transparent 65%)}
.backlink{font-size:11px;letter-spacing:.23em;color:#aab8c2;display:inline-block;align-self:flex-start}.backlink:hover{color:#fff}
.interior-hero-content h1{font-size:clamp(48px,6vw,88px);letter-spacing:.12em;line-height:1.1;font-weight:600;margin:5px 0 20px}
.interior-rule{height:3px;width:60px;display:block}.interior-rule.rose{background:var(--rose)}.interior-rule.cyan{background:var(--cyan)}.interior-rule.gold{background:var(--gold)}
.interior-body{max-width:1050px;padding:70px clamp(25px,7vw,90px) 115px;color:#c1c5cc;font-size:17px;line-height:1.9}
.interior-body .lead{font-size:clamp(22px,2.5vw,29px);line-height:1.55;color:#fafafa;font-weight:400}
.interior-body a{color:var(--cyan)}.interior-body h2,.interior-body h3{color:#f5f5f5;line-height:1.3}
.interior-body .post-preview{padding:0 0 25px;margin-bottom:35px;border-bottom:1px solid var(--border)}
.interior-body .post-preview h2{margin:0}.post-date{font-size:12px;letter-spacing:.1em;color:#8e98a5}
@media(min-width:1900px){.hero{height:510px}.hero-copy{padding-top:100px}.project-art{height:245px}.project-card{min-height:475px}.hero-copy h1{font-size:70px}}
@media(max-width:1200px){:root{--sidebar-width:205px}.brand-mark{width:125px;height:125px}.brand-name{font-size:20px}.side-nav{margin-top:35px;padding:0 10px}.hero-copy{padding-left:40px}.hero-copy h1{font-size:49px}.hero-description{max-width:470px}.projects{padding:0 20px 32px}.project-grid{gap:12px}.project-text{padding:0 20px 22px}.project-text h2{font-size:22px}.project-subtitle{font-size:9px;letter-spacing:.15em}.project-description{font-size:12px}}
@media(max-width:880px){:root{--sidebar-width:0px}.site-sidebar{width:255px;transform:translateX(-100%);transition:transform .24s ease;box-shadow:8px 0 30px rgba(0,0,0,.2)}.site-sidebar.is-open{transform:translateX(0)}.site-main{margin-left:0}.mobile-menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:45px;height:45px;position:fixed;top:13px;left:15px;z-index:40;border:1px solid rgba(255,255,255,.35);background:rgba(7,10,14,.85);border-radius:4px;cursor:pointer}.mobile-menu-button span{width:21px;height:2px;background:white}.sidebar-backdrop.is-open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:25}.hero-copy{padding-left:52px}.hero-topline{right:24px}.projects{padding:0 20px 30px}}
@media(max-width:660px){.hero{height:auto;min-height:550px}.hero-photo{background-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(5,8,13,.97),rgba(5,8,13,.72) 65%,rgba(5,8,13,.35)),linear-gradient(0deg,rgba(5,8,13,.75),transparent 65%)}.hero-topline{font-size:9px;letter-spacing:.14em;top:26px;right:17px}.topline-rule{display:none}.hero-copy{padding:130px 25px 66px}.hero-copy h1{font-size:clamp(38px,10vw,61px);letter-spacing:.12em}.hero-tagline{font-size:12px;letter-spacing:.2em;margin-bottom:28px}.hero-description{font-size:14px;max-width:460px;margin-bottom:27px}.outline-button{min-width:0;width:100%;max-width:340px;font-size:10px;letter-spacing:.19em}.projects{padding:0 18px 30px}.project-grid{grid-template-columns:1fr;gap:19px}.project-card{min-height:430px}.project-art{height:220px}.project-text{padding:0 25px 25px}.project-text h2{font-size:26px}.project-subtitle{font-size:10px;letter-spacing:.2em}.project-description{font-size:13px}.below-fold{margin:65px auto;padding:0 24px}.contact-line{flex-direction:column;align-items:flex-start;gap:8px}.global-footer{font-size:9px;padding:24px 18px}.interior-hero{height:340px;padding:85px 24px 42px}.interior-body{padding:40px 25px 75px;font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-video{display:none}}
