/* Seasonal skin; portfolio media and business content remain original. */
:root{--bg:#100c14;--panel:#1c1422;--text:#fff6ee;--muted:#beb0c5;--blue:#ff9b4e;--line:#46334d}
body{background:radial-gradient(ellipse at 95% 20%,#39203b55,transparent 42%),var(--bg)}
.header{background:#100c14;border-bottom:1px solid #ff9b4e33;min-height:112px;padding-bottom:32px}
.brand-sub{color:#c5accd}.brand-name{color:#fff4e8}.header nav{gap:32px}
.button{background:#ff9b4e;color:#20101c}.button:hover{background:#ffbd84;box-shadow:0 6px 30px #ee751c25}
h1 em,.projects-heading h1 em{color:#ffb579}
.hero-shade{background:linear-gradient(90deg,#130c1ded,#170c1b70 65%,#170c1b14),linear-gradient(0deg,#100c14d9,transparent 35%)}
.hero{border-bottom:1px solid #b9794144}.hero-content{padding-top:48px}
.season-label{display:inline-flex;border:1px solid #ffad6755;padding:7px 12px;margin-bottom:25px;color:#ffd0a8;background:#1b101ec7;font-size:12px;font-weight:600;letter-spacing:2px}
.hero-content>.eyebrow{color:#e3cbdc}.services{background:linear-gradient(120deg,#201426,#17121b)}
.section-heading h2 em{color:#ffb579}.service-row,.service-row:last-child{border-color:var(--line)}
.contact{background:#ee9a59;color:#241326}.contact .button{background:#241326}.contact .button:hover{background:#422146}
.project-image,.catalog-image{outline:1px solid #ff9b4e22}.project:hover .project-image,.project-open:hover .catalog-image{outline-color:#ff9b4e99}
.project-filters button[aria-pressed=true]{background:#ff9b4e12}.package-card:has(input:checked){background:#332034}
.lightbox{background:var(--bg)}.mobile-nav{position:relative;z-index:11}.nav-haunt{position:relative;display:inline-flex;align-items:center}
.nav-haunt>a{position:relative;z-index:2}.hanging-spider{position:absolute;left:50%;top:100%;width:44px;height:var(--drop,62px);padding:0;border:0;background:transparent;color:#e7cdeb;transform-origin:50% 0;animation:spider-sway var(--tempo,4s) ease-in-out infinite alternate;animation-delay:var(--delay,0s);z-index:1;touch-action:manipulation}
.hanging-spider::before{content:"";position:absolute;top:0;bottom:16px;left:50%;width:1px;background:linear-gradient(#c9afcb55,#efd9eddd)}
.spider-glyph{position:absolute;bottom:-8px;left:5px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:29px;line-height:34px;filter:drop-shadow(0 0 3px #ffe3e6aa);transition:transform .25s;pointer-events:none}
.nav-haunt:hover .spider-glyph,.nav-haunt:focus-within .spider-glyph{transform:translateY(9px) rotate(12deg)}
.hanging-spider.is-startled{animation:spider-dance .85s ease-in-out!important}.hanging-spider:focus-visible{outline:1px dashed #ffb579;outline-offset:3px}
.spider-motion{position:fixed;bottom:14px;right:16px;z-index:15;background:#1c1422ed;border:1px solid #745077;color:#f6e6f4;border-radius:4px;padding:8px 12px;font-size:12px;box-shadow:0 4px 16px #0004}
.spiders-paused .hanging-spider{animation-play-state:paused!important}
@keyframes spider-sway{from{transform:translateX(-50%) rotate(-8deg)}to{transform:translateX(-50%) rotate(8deg)}}
@keyframes spider-dance{0%,100%{transform:translateX(-50%) rotate(0)}25%{transform:translateX(-50%) rotate(-24deg) scaleY(.76)}60%{transform:translateX(-50%) rotate(20deg) scaleY(1.15)}80%{transform:translateX(-50%) rotate(-12deg)}}
@media(max-width:1000px){.header nav{gap:20px}}
@media(max-width:700px){.header{min-height:88px;padding-bottom:20px}.hero-content{padding-top:45px}.season-label{font-size:12px;letter-spacing:1px}.hero-shade{background:linear-gradient(90deg,#130c1ddd,#170c1b66),linear-gradient(0deg,#100c14dd,transparent)}.mobile-nav:not([hidden]){gap:25px;padding-bottom:34px}.mobile-nav .nav-haunt{width:max-content;min-height:27px}.mobile-nav .hanging-spider{left:calc(100% + 34px);top:-12px;height:32px}.mobile-nav .spider-glyph{font-size:23px}.spider-motion{bottom:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.hanging-spider,.hanging-spider.is-startled{animation:none!important;transform:translateX(-50%)}.spider-glyph{transition:none}.nav-haunt:hover .spider-glyph,.nav-haunt:focus-within .spider-glyph{transform:none}}

/* Webs live in a separate outer frame, never over the photograph. */
.web-frame{--web-gutter:24px;position:relative;padding:var(--web-gutter);background:#160f1c;border:1px solid #513649;isolation:isolate}
.web-frame::before,.web-frame::after{content:"";position:absolute;width:120px;height:120px;background:url('assets/cobweb-corner.png') center/contain no-repeat;pointer-events:none;z-index:2;opacity:.95;clip-path:polygon(0 0,100% 0,100% var(--web-gutter),var(--web-gutter) var(--web-gutter),var(--web-gutter) 100%,0 100%)}
.web-frame::before{top:0;left:0}.web-frame::after{bottom:0;right:0;transform:rotate(180deg)}
.web-frame .project-image,.web-frame .catalog-image{outline:1px solid #a06b5266}
.portrait .web-frame>img{width:100%;height:530px;object-fit:cover;object-position:center 28%}
.portrait-caption{bottom:24px;left:24px;width:calc(100% - 48px)}
.halloween-pumpkins{width:150px;height:auto;pointer-events:none;filter:drop-shadow(0 5px 16px #ff7b1622)}
.section-heading .halloween-pumpkins{flex-shrink:0;width:135px}
footer{position:relative;padding-bottom:130px}footer>.halloween-pumpkins{position:absolute;bottom:12px;right:6%;width:135px}
@media(max-width:1000px){.portrait .web-frame>img{height:480px}}
@media(max-width:700px){.web-frame{--web-gutter:16px}.web-frame::before,.web-frame::after{width:90px;height:90px}.portrait .web-frame>img{height:460px}.portrait-caption{bottom:16px;left:16px;width:calc(100% - 32px)}.section-heading .halloween-pumpkins{width:100px;margin:20px 0 0 auto}footer>.halloween-pumpkins{width:110px}}
