:root{--bg:#f7f5f1;--ink:#272824;--muted:#7a7b72;--accent:#a0a58c;--border:#dfded8;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.site-header{height:98px;padding:0 5.7%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.wordmark{font-family:Manrope,sans-serif;font-size:25px;font-weight:700;letter-spacing:.15em;line-height:1;display:flex;flex-direction:column}.mark-dot{color:#a1a48c;display:inline}.wordmark small{font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:.48em;margin-top:10px;font-weight:600}.main-nav{display:flex;gap:44px;font-size:12px}.main-nav a:hover,.text-link:hover{color:#8e9575}.header-cta{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:8px}.header-cta span{margin-left:20px}.hero{display:grid;grid-template-columns:50% 50%;min-height:650px}.hero-copy{padding:105px 9% 25px 11.4%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:#7b7f70;display:flex;align-items:center;gap:12px}.eyebrow .line{width:26px;height:1px;background:#90957e}h1,h2{font-family:'Playfair Display',serif;font-weight:400;letter-spacing:-.05em}h1{font-size:clamp(53px,5.1vw,91px);line-height:1.17;margin:40px 0 25px;white-space:nowrap}h1 em,h2 em{font-weight:400;color:#8d947a} .hero-copy>p{color:#777970;font-size:14px;line-height:1.9;max-width:345px;margin:0 0 32px}.dark-button{background:#30332d;color:white;padding:18px 24px;display:inline-flex;gap:34px;font-size:12px;align-items:center}.dark-button:hover{background:#555e4b}.hero-foot{display:flex;justify-content:space-between;width:100%;margin-top:auto;color:#83857a;font-size:9px;letter-spacing:.13em}.hero-photo{position:relative;min-height:650px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-tag{position:absolute;right:0;bottom:0;background:rgba(245,243,238,.94);padding:23px 30px;font-size:9px;letter-spacing:.15em}.intro-strip{display:flex;justify-content:space-around;align-items:center;padding:32px 5%;border-bottom:1px solid var(--border);font-size:9px;letter-spacing:.18em;color:#818277;gap:12px}.star{font-size:17px;color:#a1a68f}.section-wrap{padding:115px 9%}.section-top{display:flex;align-items:end;justify-content:space-between;gap:50px}.section-top h2,.about h2,.contact h2{font-size:clamp(49px,5vw,78px);line-height:1.16;margin:25px 0 0}.section-top>p{max-width:290px;font-size:13px;color:#85867e;line-height:1.9}.filters{display:flex;gap:26px;margin:54px 0 28px;border-bottom:1px solid var(--border)}.filter{border:0;background:transparent;color:#888a81;font-size:12px;padding:0 0 16px}.filter.active{color:#2c2e29;border-bottom:2px solid #31352b}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.gallery-card{min-width:0}.gallery-card img{width:100%;height:350px;object-fit:cover;display:block;background:#e8e7e0}.gallery-meta{display:flex;justify-content:space-between;padding-top:15px;font-size:11px}.gallery-meta span:last-child{color:#999a90}.portfolio-end{margin-top:46px;border-top:1px solid var(--border);padding-top:18px;display:flex;justify-content:space-between;font-size:11px;color:#999a91}.about{background:#edeee8;display:grid;grid-template-columns:44% 1fr;gap:11%;align-items:center}.about-photo img{width:100%;height:530px;object-fit:cover}.about-lead{font-family:'Playfair Display',serif;font-size:24px;line-height:1.5;margin-top:34px}.about-copy>p:not(.about-lead){font-size:13px;line-height:2;color:#76796e;max-width:440px}.text-link{display:inline-block;margin-top:26px;border-bottom:1px solid;padding-bottom:9px;font-size:12px}.text-link span{margin-left:24px}.contact{text-align:center;padding-top:125px;padding-bottom:100px}.contact .eyebrow{justify-content:center}.contact h2{margin:25px 0}.contact>p{color:#85877d;font-size:13px;line-height:1.9}.contact-email{font-family:'Playfair Display',serif;font-size:clamp(23px,3vw,43px);display:inline-block;border-bottom:1px solid #8d927c;margin:30px 0 100px;padding-bottom:10px;overflow-wrap:anywhere}.contact-details{border-top:1px solid var(--border);padding-top:25px;display:flex;justify-content:space-between;text-align:left;font-size:10px;letter-spacing:.1em;color:#7b7e72;gap:15px}.contact-details div{display:flex;gap:30px}footer{padding:28px 9%;background:#30342d;color:#e3e5dd;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.12em}@media(max-width:900px){.site-header{height:78px;padding:0 5%}.main-nav{gap:15px}.hero{grid-template-columns:1fr}.hero-copy{min-height:510px;padding:70px 7% 25px}.hero-photo{min-height:500px}.intro-strip{flex-wrap:wrap}.intro-strip span:nth-last-child(-n+2){display:none}.section-wrap{padding:80px 6%}.gallery{grid-template-columns:repeat(2,1fr)}.about{gap:6%}.about-photo img{height:420px}}@media(max-width:580px){.wordmark{font-size:17px}.wordmark small{font-size:6px}.main-nav{gap:13px;font-size:10px}.header-cta{display:none}h1{font-size:clamp(47px,11vw,65px)}.hero-copy{min-height:490px}.hero-photo{min-height:440px}.section-top{display:block}.section-top>p{margin-top:22px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery-card img{height:220px}.gallery-meta{font-size:9px}.filters{gap:18px}.about{grid-template-columns:1fr}.about-photo img{height:420px}.about-copy{margin-top:35px}.contact-details,footer{flex-direction:column;align-items:center;text-align:center}.contact-email{margin-bottom:65px}.contact-details div{gap:25px}}

/* APERTURE / DEPTH EDITION — progressive 3D enhancement */
:root{--bg:#101310;--ink:#ecece4;--muted:#a3a99e;--accent:#c7cfb4;--border:#343b34;--white:#fff}
body{background:var(--bg);overflow-x:hidden}::selection{background:#d2dec0;color:#172017}
.site-header{position:relative;z-index:10;background:rgba(16,19,16,.94);backdrop-filter:blur(18px);border-bottom-color:var(--border)}
.wordmark{font-size:22px}.mark-dot{color:#c6d8ae}.main-nav a,.header-cta{transition:color .25s}.main-nav a:hover,.header-cta:hover{color:var(--accent)}
.hero{min-height:min(790px,90svh);grid-template-columns:49% 51%;background:radial-gradient(ellipse at 70% 45%,#303a30 0%,#171e19 45%,#101310 75%);position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to right,transparent,black)}
.hero-copy{position:relative;z-index:3;padding-top:125px}.eyebrow{color:#c0c7b4}.eyebrow .line{background:#a7b99a}
h1{font-size:clamp(56px,5.5vw,94px);line-height:1.11;white-space:normal;letter-spacing:-.065em;text-shadow:0 10px 40px rgba(0,0,0,.15)}h1 em,h2 em{color:#c7d7b6}
.hero-copy>p{color:#b5beb0}.dark-button{background:#d3dfc6;color:#162015;font-weight:700;transition:transform .25s,background .25s}.dark-button:hover{background:white;transform:translateY(-3px)}.hero-foot{color:#a7b5a7}.motion-hint{font-size:9px;letter-spacing:.18em;color:#839181;margin-top:23px}
.hero-photo{min-height:680px;overflow:visible;perspective:1100px;transform-style:preserve-3d;display:grid;place-items:center;--rx:0deg;--ry:0deg}
.depth-orbit{position:absolute;inset:12% 4%;border:1px solid rgba(215,231,203,.15);border-radius:50%;transform:rotate(-24deg) rotateY(58deg);pointer-events:none}.depth-orbit::before{content:"";position:absolute;inset:10%;border:1px solid rgba(215,231,203,.10);border-radius:50%}
.photo-frame{position:relative;width:min(76%,520px);height:74%;max-height:580px;min-height:450px;transform:rotateY(calc(-12deg + var(--ry))) rotateX(calc(3deg + var(--rx))) translateZ(35px);transform-style:preserve-3d;box-shadow:35px 45px 65px rgba(0,0,0,.42),0 0 0 10px rgba(235,241,227,.06);transition:transform .35s ease-out;will-change:transform}
.photo-frame::before{content:"";position:absolute;inset:-17px;transform:translateZ(-34px);border:1px solid rgba(214,226,201,.42);pointer-events:none}.photo-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);pointer-events:none}.photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-tag{background:#d5dfcb;color:#1d281e;right:-20px;bottom:25px;transform:translateZ(48px);font-weight:700;box-shadow:10px 14px 30px rgba(0,0,0,.2)}.hero-depth-label{position:absolute;right:7%;bottom:7%;font-size:10px;letter-spacing:.25em;color:#d1dacb;writing-mode:vertical-rl}
.intro-strip{background:#d0d9c5;color:#273227;border:0}.star{color:#647c5f}.section-wrap{position:relative}.portfolio{background:#151a16}.section-top>p,.portfolio-end{color:#a2ada1}.filters{border-color:var(--border)}.filter{color:#a7b0a5}.filter.active{color:#e4eee0;border-color:#d0dfc3}
.gallery{perspective:1100px;gap:30px}.gallery-card{position:relative;transform-style:preserve-3d;transition:transform .32s ease-out;--gx:0deg;--gy:0deg;transform:perspective(950px) rotateX(var(--gx)) rotateY(var(--gy));background:#202820;padding:10px 10px 14px;box-shadow:0 20px 40px rgba(0,0,0,.2);border:1px solid #3c493d}.gallery-card:hover{box-shadow:0 30px 60px rgba(0,0,0,.4);border-color:#889b84}.gallery-card img{height:355px}.gallery-meta{padding:15px 5px 0;transform:translateZ(22px)}.gallery-meta span:last-child{color:#a8b7a4}
.about{background:#222b23}.about-photo{perspective:1000px}.about-photo-inner{transform:rotateY(-8deg) rotateX(3deg);box-shadow:30px 35px 65px rgba(0,0,0,.35);border:9px solid #3b483b;transition:transform .4s}.about-photo:hover .about-photo-inner{transform:rotateY(0deg) rotateX(0deg)}.about-photo img{display:block}.about-copy>p:not(.about-lead){color:#b4c0b2}.contact{background:radial-gradient(ellipse at center,#263329 0%,#101310 72%)}.contact>p,.contact-details{color:#b3bdb1}.contact-email{border-color:#b2c5a9}.contact-email:hover{color:#c9dfbf}footer{background:#0c0f0d;border-top:1px solid #333e35}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{min-height:460px;padding-top:80px}.hero-photo{min-height:570px}.photo-frame{height:480px;min-height:0}.hero-depth-label{bottom:6%}.gallery{gap:18px}}
@media(max-width:580px){.site-header{height:78px}.hero-copy{min-height:450px}.hero-photo{min-height:440px}.photo-frame{width:73%;height:360px;min-height:0}.photo-tag{font-size:7px;padding:14px;right:-12px}.depth-orbit{inset:9% 0}.hero-depth-label{right:4%;font-size:8px}.gallery{gap:12px}.gallery-card{padding:5px}.gallery-card img{height:210px}.gallery-meta{font-size:9px;padding:9px 2px 3px}.motion-hint{display:none}.about-photo-inner{transform:none}}
@media(hover:none){.gallery-card{transform:none!important}.photo-frame{transform:rotateY(-7deg) rotateX(2deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-card,.photo-frame,.about-photo-inner,.dark-button{transition:none!important;transform:none!important}.depth-orbit{display:none}}

/* INTERACTIVE 3D EXHIBITION — real CSS perspective, no WebGL dependency */
.immersive-showcase{position:relative;overflow:hidden;min-height:850px;padding:105px 6% 75px;text-align:center;background:radial-gradient(ellipse at 50% 52%,#293c31 0%,#141e18 47%,#090e0b 86%);isolation:isolate}
.immersive-showcase:before{content:"";position:absolute;inset:0;opacity:.26;pointer-events:none;background-image:linear-gradient(#9cbea11b 1px,transparent 1px),linear-gradient(90deg,#9cbea11b 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,transparent,black 40%,transparent)}
.showcase-heading{position:relative;z-index:2}.showcase-heading .eyebrow{justify-content:center}.showcase-heading h2{font-size:clamp(56px,6.5vw,104px);line-height:1.02;margin:22px 0 16px}.showcase-heading p{font-size:13px;line-height:1.8;color:#b3c2b5;max-width:380px;margin:0 auto}
.showcase-viewport{position:relative;height:460px;max-width:1200px;margin:0 auto;perspective:1200px;perspective-origin:50% 48%;touch-action:pan-y;outline-offset:-10px;cursor:grab}.showcase-viewport:active{cursor:grabbing}.showcase-viewport:focus-visible{outline:2px solid #c9e3c6}.showcase-glow{position:absolute;left:25%;right:25%;top:26%;height:56%;background:#789d7550;filter:blur(90px);border-radius:50%;pointer-events:none}.showcase-floor{position:absolute;left:15%;right:15%;bottom:2%;height:120px;transform:rotateX(72deg);background:radial-gradient(ellipse,#c6e2b520,transparent 65%);border:1px solid #c1dcc013;border-radius:50%;pointer-events:none}
.showcase-wheel{position:absolute;left:50%;top:48%;width:260px;height:345px;margin-left:-130px;margin-top:-172px;transform-style:preserve-3d;transform:rotateY(var(--angle,0deg)) rotateX(-5deg);transition:transform .85s cubic-bezier(.2,.75,.15,1);pointer-events:none}.showcase-panel{position:absolute;inset:0;padding:9px;background:#e5e5d8;box-shadow:0 25px 70px #000a,0 0 0 1px #d4e0cf55;backface-visibility:visible;transform:rotateY(calc(var(--i) * 60deg)) translateZ(365px);transform-style:preserve-3d}.showcase-panel img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}.showcase-panel:after{content:"";position:absolute;inset:9px;border:1px solid #fff5;pointer-events:none}.showcase-panel .panel-label{position:absolute;bottom:9px;left:9px;right:9px;padding:12px;background:linear-gradient(transparent,#101b16cc);color:white;text-align:left;font-size:9px;letter-spacing:.2em}
.showcase-controls{display:flex;justify-content:center;align-items:center;gap:27px;position:relative;z-index:2}.showcase-arrow{width:52px;height:52px;border:1px solid #a3bca38c;background:#16261cb0;color:#e9f3e4;border-radius:50%;font-size:22px;transition:background .2s,transform .2s}.showcase-arrow:hover{background:#425e48;transform:scale(1.08)}.showcase-counter{font-size:11px;letter-spacing:.22em;color:#c5d5c6;min-width:68px}.showcase-portfolio-link{position:relative;z-index:2;display:inline-block;margin-top:30px;font-size:10px;letter-spacing:.2em;border-bottom:1px solid #a5bda2;padding-bottom:10px;color:#d7e5d3}
@media(max-width:700px){.immersive-showcase{min-height:690px;padding:75px 4% 65px}.showcase-viewport{height:365px;perspective:950px}.showcase-wheel{width:178px;height:245px;margin-left:-89px;margin-top:-122px}.showcase-panel{transform:rotateY(calc(var(--i) * 60deg)) translateZ(245px);padding:6px}.showcase-panel:after{inset:6px}.showcase-panel .panel-label{left:6px;right:6px;bottom:6px;font-size:7px;padding:9px}}
@media(prefers-reduced-motion:reduce){.showcase-wheel{transition:none;transform:none!important;display:flex;position:relative;top:0;left:0;margin:0;width:100%;height:100%;overflow:auto;gap:12px}.showcase-panel{position:relative;flex:0 0 210px;transform:none!important}.showcase-controls{display:none}.showcase-viewport{perspective:none;overflow:auto}}

/* Ashley Marie fall design */
:root{--bg:#fbf8f4;--ink:#523b30;--muted:#947869;--accent:#b47a5e;--border:#e7d4c6;--white:#fffaf5}
body{background:#fbf8f4;color:#523b30}.site-header{background:linear-gradient(90deg,#fffaf6,#f7ebe1);color:#80523e}.wordmark,.main-nav,.header-cta{color:#995e45}
.hero{background:linear-gradient(115deg,#fffaf5,#f4e6db 50%,#e7cdbb)!important}.hero-copy{color:#684435!important}.hero-copy h1,.hero-copy h1 em{color:#8f573f!important}.hero-copy>p,.eyebrow,.hero-foot{color:#9c715d!important}.hero-copy .dark-button{display:inline-flex!important;align-self:flex-start!important;width:auto!important;max-width:max-content!important;padding:13px 19px!important;background:linear-gradient(115deg,#99583e,#b77b5a)!important;color:white!important;border-radius:4px!important;font-size:12px!important;line-height:1.3!important;gap:0!important}
.hero-photo{background:radial-gradient(ellipse at center,#f8e9db,#e7c7b0 55%,#cfa68d)!important;isolation:isolate}.hero-photo .depth-orbit{display:block!important;border:1.5px solid rgba(165,99,71,.45)!important;animation:ashleyOrbit 38s linear infinite!important;z-index:0}.hero-photo .depth-orbit::before{border-color:rgba(188,131,98,.25)!important}.hero-photo .photo-frame{z-index:1;animation:ashleyFloat 8s ease-in-out infinite;box-shadow:24px 32px 60px rgba(90,56,40,.24)!important}
@keyframes ashleyOrbit{from{transform:rotate(-24deg) rotateY(58deg) rotateZ(0deg)}to{transform:rotate(-24deg) rotateY(58deg) rotateZ(360deg)}}@keyframes ashleyFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-13px) rotate(1deg)}}
.intro-strip{background:linear-gradient(90deg,#91583e,#b97e5e,#965b42)!important;color:white!important}.immersive-showcase{background:radial-gradient(ellipse at center,#f2ddcc,#d7b29a 55%,#b9876c)!important;color:#593b2f!important}.immersive-showcase h2,.immersive-showcase p,.immersive-showcase .eyebrow,.showcase-counter{color:#593b2f!important}.showcase-panel{background:#f4e7da!important;border:8px solid #f5e8db!important;box-shadow:0 24px 60px rgba(78,43,30,.32)!important}.showcase-panel .panel-label{display:none!important}.showcase-arrow{background:#fbf0e5!important;color:#704a39!important;border:1px solid #aa765e!important}.showcase-portfolio-link{color:#57382d!important;border-color:#885942!important;font-weight:700!important}
.portfolio{background:linear-gradient(165deg,#fbf8f4,#f4e7db 52%,#ead4c2)!important;color:#6d4938!important}.gallery-card{background:#f2e4d8!important;border-color:#d3b49e!important}.gallery-meta,.gallery-meta span{color:#855f4b!important}.about{background:linear-gradient(125deg,#fffaf5,#f1e0d1 55%,#e7c9b5)!important;color:#6e4939!important}.about-photo-inner{border:9px solid #b88c73!important;box-shadow:24px 30px 65px rgba(87,56,40,.22)!important}.about-copy h2,.about-copy h2 em,.about-lead{color:#865640!important}.about-copy>p{color:#806655!important}.about-copy #about-text{white-space:pre-line;line-height:1.85}.contact{background:radial-gradient(ellipse at center,#fff8f0,#ecd6c4 60%,#d7b198)!important;color:#744a37!important}.contact-email{color:#a45f42!important}footer{background:linear-gradient(110deg,#f9f0e8,#ead5c4)!important;color:#78513f!important}.filters{flex-wrap:wrap;row-gap:14px}.wordmark{font-size:19px;letter-spacing:.08em;white-space:nowrap}.wordmark small{font-size:8px;letter-spacing:.22em}
@media(max-width:900px){.hero-copy{min-height:0!important;padding:48px 7% 38px!important}.hero-copy .eyebrow{margin-bottom:20px!important}.hero-copy h1{margin:12px 0 23px!important}.hero-copy>p{margin:0 0 25px!important}.hero-copy .dark-button{margin:0 0 48px!important}.hero-foot{margin-top:0!important}}
@media(max-width:580px){.hero-copy{padding:36px 7% 32px!important}.hero-copy h1{margin:10px 0 20px!important}.hero-copy .dark-button{padding:12px 16px!important;font-size:11px!important;margin-bottom:48px!important}.wordmark{font-size:15px}}
@media(prefers-reduced-motion:reduce){.hero-photo .depth-orbit,.hero-photo .photo-frame{animation:none!important}}

/* Espresso typography correction: removes inherited green type colors */
:root{--ink:#4a3027;--muted:#826453;--accent:#9d6045}
body,main,section,footer{color:#4a3027}
.site-header,.wordmark,.main-nav,.main-nav a,.header-cta{color:#58392d!important}
.hero-copy,.hero-copy h1,.hero-copy h1 em,.hero-copy>p,.hero-copy .eyebrow,.hero-copy .motion-hint,.hero-foot,.hero-depth-label{color:#573a2e!important}
.hero-copy h1 em{color:#92563f!important}
.portfolio,.portfolio h2,.portfolio h2 em,.portfolio p,.portfolio .eyebrow,.portfolio-end,.filters,.filter,.gallery-meta,.gallery-meta span{color:#56392d!important}
.filter.active{color:#7c432f!important;border-bottom-color:#9d6045!important}
.immersive-showcase,.immersive-showcase h2,.immersive-showcase h2 em,.immersive-showcase p,.immersive-showcase .eyebrow,.showcase-counter,.showcase-portfolio-link{color:#4a3027!important}
.about,.about h2,.about h2 em,.about p,.about .eyebrow,.about .about-lead,.about-copy>p:not(.about-lead){color:#563a2d!important}
.contact,.contact h2,.contact h2 em,.contact p,.contact .eyebrow,.contact-details,.contact-email{color:#563a2d!important}
footer,footer a,footer span{color:#684535!important}
.showcase-arrow{color:#563a2d!important}
.showcase-panel .panel-label{color:#fffaf5!important}
.intro-strip,.intro-strip span{color:#fff7ef!important}
.dark-button,.hero-copy .dark-button{color:#fffaf5!important}
