.hero.marquee-hero{min-height:100svh;background:radial-gradient(ellipse at 50% 23%,#71532c28,transparent 60%),#141310;padding-bottom:36px}
.hero.marquee-hero::after{display:none}
.marquee-hero>.header{position:relative;z-index:5}
.marquee-hero .hero-content{position:relative;z-index:2;flex:0 0 auto;padding:44px 0 38px}
.marquee-hero .hero-content h1{font-size:clamp(3.8rem,7.5vw,7.2rem);margin-top:20px;line-height:1.02}
.marquee-hero .hero-content h1 em{font-size:.6em;line-height:1.2}
.marquee-hero .hero-content p{max-width:760px;margin:22px auto 25px;color:var(--muted);font-size:1.05rem;line-height:1.65}
.marquee-hero .hero-content .eyebrow{font-size:.875rem;letter-spacing:.12em;line-height:1.6}
.marquee-hero .hero-content .actions{gap:12px}
.marquee-hero .hero-content .button{min-height:50px;font-size:.875rem;line-height:1.4}
.marquee-hero .button.primary{background:#c6a875;border-color:#c6a875;color:#171411}
.marquee-hero .button.primary:hover,.marquee-hero .button.primary:focus-visible{background:#e1bf83;border-color:#e1bf83;color:#171411}
.marquee-hero .button:not(.primary){color:var(--cream);border-color:var(--gold)}
.marquee-hero .button:not(.primary):hover,.marquee-hero .button:not(.primary):focus-visible{background:var(--cream);color:var(--ink)}
.hero-portfolio{position:relative;z-index:1;padding:0;scroll-margin-top:20px;margin-top:auto}
.hero-portfolio__viewport{width:min(1440px,100%);margin:auto;overflow:hidden;padding:8px 0}
.hero-portfolio__track{width:min(1170px,calc(100% - 48px));margin:auto}
.hero-portfolio__group{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:start}
.hero-portfolio__card{display:block;min-width:0;overflow:hidden;border:1px solid #76603f;border-radius:16px;background:#211e18;color:#e8dccb;text-decoration:none}
.hero-portfolio__card figure{margin:0}
.hero-portfolio__card img{display:block;width:100%;height:auto;object-fit:contain;background:#171513;filter:none}
.hero-portfolio__card figcaption{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;font-size:.875rem;line-height:1.45;text-align:center;overflow-wrap:anywhere}
.hero-portfolio__card:hover{border-color:#c6a875}
.hero-portfolio__card:focus-visible{outline:2px solid #e1bf83;outline-offset:-4px}
.hero-portfolio__duplicate{display:none}
.hero-portfolio__controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 25px;padding:18px 24px 0}
.hero-portfolio__explore{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--gold);font-size:.875rem;line-height:1.45;text-decoration:underline;text-underline-offset:5px}
.hero-portfolio__pause{min-height:44px;padding:10px 17px;border:1px solid #8d7653;border-radius:100px;background:transparent;color:var(--cream);font:normal .875rem/1.4 Arial,Helvetica,sans-serif;cursor:pointer}
.hero-portfolio__pause[hidden]{display:none}
.hero-portfolio__pause:focus-visible,.hero-portfolio__explore:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@keyframes hero-portfolio-scroll{to{transform:translateX(-50%)}}
@keyframes hero-title-reveal{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
 .marquee-hero.is-hero-animated .hero-portfolio__track{display:flex;width:max-content;max-width:none;margin:0;animation:hero-portfolio-scroll 55s linear infinite;animation-play-state:paused}
 .marquee-hero.is-hero-animated .hero-portfolio__group{display:flex;flex:none;gap:16px;padding-right:16px;align-items:flex-start}
 .marquee-hero.is-hero-animated .hero-portfolio__card{width:calc(240px * var(--hero-ratio));flex:none}
 .marquee-hero.is-hero-animated .hero-portfolio__card img{height:240px;width:100%;max-width:none}
 .marquee-hero.is-hero-animated.is-hero-visible:not(.is-hero-paused) .hero-portfolio__track{animation-play-state:running}
 .marquee-hero.is-hero-animated .hero-portfolio__viewport:focus-within .hero-portfolio__track,.marquee-hero.is-hero-animated .hero-portfolio__viewport:hover .hero-portfolio__track{animation-play-state:paused}
 .marquee-hero.is-hero-animated.is-hero-paused .hero-portfolio__track{animation-play-state:paused}
 .marquee-hero.is-hero-animated .hero-content h1{animation:hero-title-reveal .7s ease both}
}
@media(max-width:1000px){.hero-portfolio__group{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(680px,100%);margin:auto}.hero-portfolio__group>.hero-portfolio__card:nth-child(n+3){display:none}.hero-portfolio__duplicate{display:none!important}.hero-portfolio__track{width:min(680px,calc(100% - 48px))}.hero-portfolio__controls{padding-top:12px}}
@media(max-width:760px){.hero.marquee-hero{padding-bottom:25px}.marquee-hero .hero-content{padding:36px 0 28px}.marquee-hero .hero-content h1{font-size:clamp(3.2rem,14vw,5.2rem);margin-top:18px;text-shadow:none}.marquee-hero .hero-content p{font-size:1rem;margin:20px auto 22px}.marquee-hero .hero-content .eyebrow{letter-spacing:.07em}.hero-portfolio__track{width:min(440px,calc(100% - 38px))}.hero-portfolio__group{gap:12px}.hero-portfolio__card{border-radius:12px}.hero-portfolio__card figcaption{padding:10px 8px;min-height:44px}}
html[data-site-theme="light"] header.hero.marquee-hero{--ink:#f4efe6;--bg:#f4efe6;--cream:#29231d;--text:#29231d;--gold:#775629;--muted:#62584d;--line:#c4b7a3;background:radial-gradient(ellipse at 50% 20%,#c6a87526,transparent 60%),#f4efe6;color:#29231d}
html[data-site-theme="light"] header.hero.marquee-hero .nav a{color:#44382b}
html[data-site-theme="light"] header.hero.marquee-hero .nav a:hover,html[data-site-theme="light"] header.hero.marquee-hero .nav a:focus-visible{color:#775629}
html[data-site-theme="light"] header.hero.marquee-hero .brand-small{color:#62584d}
html[data-site-theme="light"] .marquee-hero .hero-content h1{text-shadow:none}
html[data-site-theme="light"] .hero-portfolio__card{background:#eee4d6;color:#29231d;border-color:#a08a67}
html[data-site-theme="light"] .hero-portfolio__card:focus-visible{outline-color:#775629}
@media(prefers-reduced-motion:reduce){.hero-portfolio__track,.marquee-hero .hero-content h1{animation:none!important}}
@media print{.hero-portfolio__pause{display:none}}
/* Mobile keeps the desktop portfolio character in a native touch rail. */
@media(max-width:1000px){
 .hero-portfolio{--mobile-photo-height:clamp(250px,38vw,340px);width:100%;min-width:0}
 .hero-portfolio__viewport{width:100%;overflow-x:auto;overflow-y:hidden;padding:12px 24px 34px;scroll-padding-inline:24px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#8d7653 transparent;box-sizing:border-box}
 .hero-portfolio__track{width:max-content;margin:0;max-width:none;animation:none;transform:none}
 .hero-portfolio__group{display:flex;width:auto;gap:16px;margin:0;align-items:flex-start}
 .hero-portfolio__group>.hero-portfolio__card:nth-child(n){display:block;flex:none;width:clamp(180px,calc(var(--mobile-photo-height) * var(--hero-ratio)),calc(100vw - 76px));scroll-snap-align:start;border-radius:18px;box-shadow:0 12px 28px #0003}
 .hero-portfolio__group>.hero-portfolio__card:nth-child(even){margin-top:18px}
 .hero-portfolio__card img{height:var(--mobile-photo-height);width:100%;object-fit:contain}
 .hero-portfolio__card figcaption{min-height:48px;padding:12px;font-size:.875rem}
 .hero-portfolio__group.hero-portfolio__duplicate{display:none!important}
 .hero-portfolio__controls{padding-top:8px;gap:8px 20px}
 .is-hero-mobile-running .hero-portfolio__viewport{scroll-snap-type:none;scroll-behavior:auto}
}
@media(max-width:760px){
 .hero.marquee-hero{padding-bottom:30px;background:radial-gradient(ellipse at 50% 30%,#71532c38,transparent 65%),#141310}
 .marquee-hero .hero-content{padding:30px 0 26px}
 .marquee-hero .hero-content h1{font-size:clamp(3.25rem,15vw,6rem);line-height:1.02;letter-spacing:-.045em;margin-top:18px}
 .marquee-hero .hero-content h1 em{letter-spacing:.035em;font-size:.58em;margin-top:7px}
 .marquee-hero .hero-content p{max-width:34ch;line-height:1.65;margin:20px auto 24px}
 .marquee-hero .hero-content .actions{gap:10px;align-items:stretch}
 .marquee-hero .hero-content .button{padding:14px 18px;letter-spacing:.04em;border-radius:8px;min-height:50px}
 .hero-portfolio{--mobile-photo-height:clamp(250px,66vw,310px)}
 .hero-portfolio__viewport{padding-inline:19px;scroll-padding-inline:19px}
 .hero-portfolio__group{gap:14px}
 .hero-portfolio__explore,.hero-portfolio__pause{font-size:.875rem}
}
@media(max-width:1000px) and (prefers-reduced-motion:no-preference){
 .marquee-hero.is-hero-mobile .hero-content h1{animation:hero-title-reveal .65s ease both}
}
