/* THE BLACK DUCK — editorial gallery / single-screen v3 */
:root{--charcoal:#20211f;--charcoal-soft:#2e2d29;--ginger:#b86e42;--ginger-light:#e1aa7a;--ivory:#efe8db;--muted:#b3a79a}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--charcoal);color:var(--ivory);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}
.experience{height:100vh;height:100dvh;min-height:0;isolation:isolate;position:relative;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(20px,3.8vh,42px) clamp(22px,5vw,90px)}
.experience:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse 48% 58% at 50% 45%,#3a342c 0%,#292826 55%,#1e201e 100%)}
.ambient{position:absolute;pointer-events:none;z-index:-2;width:40vw;height:70vh;border-radius:50%;filter:blur(75px);opacity:.23;background:radial-gradient(closest-side,var(--ginger),transparent)}.ambient--left{top:20%;left:-23%}.ambient--right{right:-25%;top:-15%;opacity:.16}
.grain{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.12;background-image:url('data:image/svg+xml,%3Csvg viewBox=%220 0 180 180%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.8%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 opacity=%22.25%22 filter=%22url(%23n)%22/%3E%3C/svg%3E')}
.frame{position:absolute;pointer-events:none;z-index:2}.frame--outer{inset:14px;border:1px solid rgba(225,170,122,.23)}.frame--inner{inset:20px;border:1px solid rgba(225,170,122,.06)}
.masthead,.footer{display:flex;align-items:center;justify-content:space-between;font-size:clamp(9px,.78vw,12px);letter-spacing:.24em;font-weight:500;color:#d6c6b6;z-index:4}.masthead__star{color:var(--ginger-light);margin:0 10px}.masthead__right{display:flex;align-items:center;gap:12px}.pulse{height:6px;width:6px;border-radius:50%;background:var(--ginger-light);box-shadow:0 0 0 5px rgba(184,110,66,.1)}
.centerpiece{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:clamp(14px,2.6vh,34px);padding:6px 0}.logo-stage{height:clamp(170px,37vh,370px);width:min(55vw,610px);max-width:calc(100vw - 88px);position:relative;display:grid;place-items:center;flex:none}.logo-stage__glow{position:absolute;inset:-10% -12%;border:1px solid rgba(207,140,90,.12);border-radius:50%;transform:rotate(-4deg)}
.logo-stage__oval{display:grid;place-items:center;position:relative;background:radial-gradient(ellipse at 48% 42%,#fffdf5 0%,#f1eadd 65%,#ddccb8 100%);height:100%;width:100%;border-radius:50%;box-shadow:0 0 0 1px rgba(248,214,179,.6),0 0 0 9px rgba(240,200,156,.035),0 25px 90px rgba(0,0,0,.42),inset 0 0 24px rgba(133,90,46,.18);padding:6.5% 9%}
.logo-stage__oval:before,.logo-stage__oval:after{content:"";position:absolute;width:36%;height:1px;background:linear-gradient(90deg,transparent,rgba(184,110,66,.4),transparent);bottom:13%}.logo-stage__oval:before{left:7%}.logo-stage__oval:after{right:7%}
.logo-stage img{display:block;width:100%;height:100%;object-fit:contain;filter:contrast(1.3)}
.ornament{display:flex;align-items:center;gap:18px;position:absolute;top:33%;color:var(--ginger-light);opacity:.52;font-style:normal}.ornament span{width:clamp(30px,7vw,130px);height:1px;background:linear-gradient(90deg,transparent,var(--ginger-light))}.ornament--left{right:calc(50% + min(32vw,385px))}.ornament--right{left:calc(50% + min(32vw,385px))}.ornament--right span{transform:rotate(180deg)}.ornament i{font-style:normal;font-size:18px}
.announcement{text-align:center;display:flex;flex-direction:column;align-items:center}.eyebrow{display:flex;align-items:center;justify-content:center;gap:16px;font-size:clamp(9px,.75vw,12px);letter-spacing:.27em;color:var(--ginger-light);font-weight:600;margin:0 0 clamp(8px,1.5vh,16px)}.eyebrow__line{width:20px;height:1px;background:var(--ginger)}
h1{font-family:Italiana,Georgia,serif;font-size:clamp(39px,5.2vw,82px);font-weight:400;line-height:.98;letter-spacing:-.015em;margin:0}h1 em{color:var(--ginger-light);font-style:normal}.headline-break{display:none}.subline{font-size:clamp(12px,1vw,16px);letter-spacing:.04em;color:#c8baaa;margin:clamp(12px,1.7vh,18px) 0 clamp(13px,2.5vh,27px)}
.announcement__rule{display:flex;align-items:center;gap:13px;color:var(--ginger-light);margin-bottom:clamp(10px,1.8vh,20px)}.announcement__rule span{height:1px;width:clamp(42px,7vw,92px);background:linear-gradient(90deg,transparent,rgba(225,170,122,.6))}.announcement__rule span:last-child{transform:rotate(180deg)}.announcement__rule b{font-weight:400;font-size:12px}.coming-soon{letter-spacing:.36em;font-size:clamp(10px,.86vw,13px);font-weight:600}.coming-soon span{color:var(--ginger-light);padding:0 8px}
.footer{color:#91887f;gap:20px}.footer__flower{font-size:17px;color:var(--ginger);opacity:.85}.reveal{animation:reveal .9s both;animation-delay:var(--delay,0s)}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.experience{padding:25px 29px}.masthead{justify-content:center}.masthead__right{display:none}.centerpiece{gap:clamp(15px,4vh,35px)}.logo-stage{width:min(82vw,440px);height:clamp(145px,32vh,320px)}.ornament{display:none}h1{font-size:clamp(37px,8.3vw,64px)}.headline-break{display:block}.eyebrow{font-size:9px;letter-spacing:.16em;gap:7px}.eyebrow__line{width:12px}.footer{justify-content:center}.footer span:first-child{display:none}.footer__flower{display:none}.footer span:last-child{letter-spacing:.2em}}
@media(max-height:650px){.experience{padding-top:20px;padding-bottom:20px}.logo-stage{height:clamp(110px,31vh,220px);width:min(48vw,470px)}.centerpiece{gap:12px}h1{font-size:clamp(33px,6vh,62px)}.subline{margin:8px 0 10px}.announcement__rule{margin-bottom:8px}.eyebrow{margin-bottom:7px}}
@media(max-height:430px){.experience{padding:16px 30px}.logo-stage{height:25vh;width:min(33vw,310px)}.centerpiece{gap:7px}h1{font-size:clamp(25px,6vh,38px)}.eyebrow{margin-bottom:4px}.subline{font-size:11px;margin:6px 0}.announcement__rule{display:none}.footer{font-size:9px}.coming-soon{font-size:10px}}
@media(max-width:390px){.logo-stage{width:83vw;height:27vh}.centerpiece{gap:14px}.subline{max-width:250px;line-height:1.5}.coming-soon{letter-spacing:.18em}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
