@font-face{font-family:Bebas;src:url('assets/bebas.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Mulish;src:url('assets/mulish.woff') format('woff');font-weight:400;font-display:swap}
:root{--orange:#df5b00;--cream:#fff0d4;--paper:#fff8f1;--edge:3.9vw}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Mulish,sans-serif;background:var(--paper);color:#111}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:8px}section{position:relative;min-height:100vh;min-height:100svh}img{display:block;max-width:100%}
.hero{background:var(--orange);color:var(--cream);display:flex;flex-direction:column;min-height:max(100vh,650px);min-height:max(100svh,650px)}header{height:7.5vh;height:7.5svh;min-height:64px;border-bottom:1px solid #fff0d47a;display:flex;justify-content:space-between;align-items:center;padding:0 var(--edge);font-size:clamp(14px,1.04vw,20px);letter-spacing:.18em}header a{padding:12px 0}.intro{padding:3.6vh var(--edge) 0;padding:3.6svh var(--edge) 0}.intro p{margin:0;font-size:clamp(16px,.834vw,20px);line-height:1.375;letter-spacing:.027em}.rule{display:block;width:32px;height:1px;background:var(--cream);opacity:.7;margin-top:4.5vh;margin-top:4.5svh}
.hero-bottom{display:flex;align-items:flex-end;gap:19vw;margin-top:auto;padding:8vh var(--edge) 7vh;padding:8svh var(--edge) 7svh}h1{font-family:Bebas,sans-serif;font-size:min(10.4167vw,19.5vh);font-size:min(10.4167vw,19.5svh);line-height:.92;font-weight:400;margin:0;letter-spacing:0}.line{display:block;overflow:hidden;padding-top:.08em;margin-top:-.08em}.line>span{display:block;animation:rise 1.05s cubic-bezier(.16,1,.3,1) both}.line:nth-child(2)>span{animation-delay:.12s}.last-line .line>span{animation-delay:.24s}.last-line{display:flex;align-items:center;gap:1.4vw}.hero-symbol{width:.74em;height:.74em;object-fit:contain;flex-shrink:0}.spin{animation:turn 20s linear infinite}.down{display:block;width:7.6vw;height:7.6vw;flex-shrink:0;transition:translate .3s}.down:hover{translate:0 7px}.down img{width:100%;height:100%;object-fit:contain}
.artwork{display:flex;align-items:center;justify-content:center;background:var(--paper);padding:120px 7vw}.artwork h2{position:absolute;top:10.8vh;top:10.8svh;left:4.7vw;display:flex;align-items:center;gap:9px;margin:0;font-family:Bebas,sans-serif;font-size:clamp(22px,1.302vw,28px);font-weight:400;letter-spacing:.025em;line-height:1}.artwork h2 img{width:25px;height:25px}.dragonfly{width:auto;height:63vh;height:63svh;max-width:72vw;object-fit:contain}.photograph{height:100vh;height:100svh;overflow:hidden}.photograph img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
@keyframes turn{to{transform:rotate(360deg)}}@keyframes rise{from{transform:translateY(110%)}to{transform:translateY(0)}}
@media(min-aspect-ratio:2/1){.hero{min-height:700px}.artwork{min-height:700px}.dragonfly{height:440px}}
@media(max-width:700px){:root{--edge:6vw}.hero{min-height:max(100vh,620px);min-height:max(100svh,620px)}header{height:74px;font-size:14px}.intro{padding-top:30px}.intro p{font-size:16px;max-width:310px}.desktop-break{display:none}.rule{margin-top:28px}.hero-bottom{position:relative;padding-top:100px;padding-bottom:112px;gap:0}h1{font-size:17.2vw;line-height:.96}.last-line{gap:2.4vw}.hero-symbol{width:.58em;height:.58em}.down{position:absolute;right:5vw;bottom:30px;width:60px;height:60px}.artwork{padding:120px 6vw 70px}.artwork h2{top:52px;left:6vw;font-size:25px}.dragonfly{width:88vw;max-width:88vw;height:auto;max-height:67vh;max-height:67svh}.photograph img{object-position:65% 50%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spin,.line>span{animation:none}.down{transition:none}}
/* Align symbols to the visible capitals, including Bebas Neue's font metrics. */
@font-face{font-family:Mulish;src:url('assets/mulish-bold.woff') format('woff');font-weight:700;font-display:swap}
header{font-weight:700}
.hero-bottom{--title-size:min(10.4167vw,19.5vh);--title-size:min(10.4167vw,19.5svh);--bottom-space:7vh;--bottom-space:7svh;position:relative}
.hero-symbol,.artwork h2 img{translate:0 -.05em}
.down{position:absolute;right:20.5vw;bottom:calc(var(--bottom-space) + var(--title-size)*.51);transform:translateY(50%)}
@media(max-width:700px){.hero-bottom{--title-size:17.2vw;--bottom-space:112px}.down{right:6vw;width:8vw;height:8vw;bottom:calc(var(--bottom-space) + var(--title-size)*.53)}}
.visual-language{background:var(--orange);color:var(--cream);display:flex;align-items:center;justify-content:center;padding:180px 17.7vw;min-height:max(100vh,650px);min-height:max(100svh,650px)}
.visual-language h2{position:absolute;top:13vh;top:13svh;left:4.7vw;display:flex;align-items:center;gap:9px;margin:0;font-family:Bebas,sans-serif;font-size:clamp(22px,1.302vw,28px);font-weight:400;letter-spacing:.025em;line-height:1}
.visual-language h2 img{width:25px;height:25px;translate:0 -.05em}
.visual-language p{margin:0;width:100%;font-family:Bebas,sans-serif;font-size:3.9vw;font-weight:400;line-height:1.04;text-transform:uppercase;text-align:justify;text-align-last:left}
@media(max-width:700px){.visual-language{padding:150px 6vw 90px;min-height:100vh;min-height:100svh}.visual-language h2{top:52px;left:6vw;font-size:25px}.visual-language p{font-size:clamp(30px,7.6vw,50px);line-height:1.12;text-align:left;text-align-last:auto}}
/* Editorial rhythm: common labels, natural spacing and a restrained reveal. */
.artwork h2,.visual-language h2{top:10.8vh;top:10.8svh;left:4.7vw}
.visual-language p{font-size:3.55vw;line-height:1.14;text-align:left;text-align-last:left}
.reveal-row{display:block}
.reveal-ready .reveal-row{opacity:0;transform:translateY(16px)}
.reveal-ready.is-visible .reveal-row{opacity:1;transform:none;transition:opacity .65s ease,transform .75s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--row)*70ms)}
.photo-gallery{position:relative;isolation:isolate}
.photo-gallery .photograph{position:sticky;top:0;height:100vh;height:100svh;min-height:100vh;min-height:100svh;background:var(--paper)}
.photograph-detail{z-index:1}
.closing{position:relative;background:var(--paper);padding:100px var(--edge) 50px;min-height:45vh;min-height:45svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.closing-name{font-size:16px;letter-spacing:.18em;font-weight:700;margin:0 0 26px}
.closing-statement{font-family:Bebas,sans-serif;font-size:clamp(32px,4vw,76px);line-height:1.05;margin:0 0 48px;max-width:900px}
.back-top{font-size:14px;letter-spacing:.08em;padding:12px 0}.back-top span{margin-left:16px}
@media(max-width:700px){.artwork h2,.visual-language h2{top:52px;left:6vw}.visual-language p{font-size:clamp(28px,6.9vw,46px);line-height:1.16}.photo-gallery .photograph{height:100vh;height:100svh;min-height:100vh;min-height:100svh}.closing{padding:75px 6vw 40px}}
@media(prefers-reduced-motion:reduce){.reveal-ready .reveal-row{opacity:1;transform:none}.reveal-ready.is-visible .reveal-row{transition:none}.photo-gallery .photograph{position:relative}}
.mushrooms{height:100vh;height:100svh;min-height:650px;background:#ff7900;color:var(--cream);display:flex;align-items:center;justify-content:center}
.mushrooms-art{width:100%;height:100%;object-fit:contain}
.mushrooms h2{position:absolute;top:10.8vh;top:10.8svh;left:4.7vw;display:flex;align-items:center;gap:9px;margin:0;font-family:Bebas,sans-serif;font-size:clamp(22px,1.302vw,28px);font-weight:400;letter-spacing:.025em;line-height:1}
.mushrooms h2 img{width:25px;height:25px;translate:0 -.05em}
.print-quality{background:var(--cream);color:var(--orange);display:flex;align-items:center;justify-content:center;padding:140px 17.7vw;min-height:max(100vh,650px);min-height:max(100svh,650px)}
.print-quality p{margin:0;font-family:Bebas,sans-serif;font-size:clamp(40px,5.2vw,100px);line-height:1.1;font-weight:400;text-transform:uppercase;text-align:left}
.contact-email{font-size:clamp(18px,1.4vw,24px);margin-bottom:36px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.mushrooms{background:#f56b03 url('assets/mushroom-orange-edges.png') center/100% 100% no-repeat}
.orchid-bloom{height:340vh;height:340svh;position:relative;background:#fff8f1;color:#111}
.orchid-stage{position:sticky;top:0;height:100vh;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center;padding:20px;background:#fff8f1}
.orchid-title{position:absolute;top:10.8vh;top:10.8svh;left:4.7vw;display:flex;align-items:center;gap:9px;margin:0;font-family:Bebas,sans-serif;font-size:clamp(22px,1.302vw,28px);font-weight:400;letter-spacing:.025em;line-height:1;z-index:2}
.orchid-title img{width:25px;height:25px;translate:0 -.05em}
.orchid-wrap{position:relative;width:min(59.2vw,560px);height:min(68.8vh,784px);height:min(68.8svh,784px);display:grid;place-items:center;will-change:transform}
.orchid-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.993);transition:opacity 140ms ease,transform 140ms ease;filter:drop-shadow(0 6px 18px rgba(0,0,0,.10));pointer-events:none}
.orchid-frame.active{opacity:1;transform:scale(1)}
.footer-photo{height:68vh;height:68svh;background:var(--paper)}.footer-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.contact-footer{background:#b62e35;color:var(--cream);padding:64px 5.2vw 42px;border-top:1px solid #fff0d470;min-height:48vh;min-height:48svh;display:flex;flex-direction:column;justify-content:space-between;gap:90px}
.footer-main{display:grid;grid-template-columns:1.5fr .3fr 1fr;gap:4vw;align-items:start}
.footer-main h2{font-family:Bebas,sans-serif;font-size:clamp(64px,7vw,144px);line-height:1;font-weight:400;margin:0;display:flex;align-items:center;gap:1.2vw}
.footer-main h2 img{width:.78em;height:.78em;translate:0 -.05em}
.footer-up{display:block;width:clamp(55px,7vw,140px);height:clamp(55px,7vw,140px)}.footer-up img{width:100%;height:100%;transform:rotate(180deg)}
.footer-info{font-size:clamp(16px,1.05vw,20px);line-height:1.5}.footer-info p{margin:0 0 24px}.footer-info a{display:inline-block;margin-bottom:30px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;font-size:14px;font-weight:700;letter-spacing:.04em}
@media(max-width:700px){.orchid-bloom{height:320vh;height:320svh}.orchid-title{top:52px;left:6vw;font-size:25px}.orchid-wrap{width:72vw;height:60.8vh;height:60.8svh}.orchid-stage{padding-top:90px}.mushroom-photo-one img{object-position:37% 50%}.mushroom-photo-two img{object-position:55% 50%}.footer-photo{height:60vh;height:60svh}.footer-photo img{object-position:65% 50%}.contact-footer{padding:48px 6vw 30px;gap:60px}.footer-main{grid-template-columns:1fr auto;gap:35px 15px}.footer-main h2{font-size:16vw}.footer-main h2 img{width:.7em;height:.7em}.footer-info{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){.orchid-bloom{height:100vh;height:100svh}.orchid-frame{transition:none;filter:none}.orchid-wrap{transform:none!important}}
@media(max-width:700px){.mushrooms{min-height:100vh;min-height:100svh}.mushrooms h2{top:52px;left:6vw;font-size:25px}.print-quality{padding:120px 6vw;min-height:100vh;min-height:100svh}.print-quality p{font-size:clamp(38px,10vw,64px)}}

/* Version 9: readable colour roles, responsive artwork and a tighter final act. */
header,.intro,.visual-language h2,.mushrooms h2{color:var(--cream)}
.visual-language h2 img,.mushrooms h2 img{filter:none}
.rule{background:currentColor}
.print-quality-copy{width:100%;max-width:1200px}
.print-quality p{color:var(--orange)}
.print-quality .print-specification{font-family:Mulish,sans-serif;font-size:clamp(16px,1.15vw,22px);line-height:1.6;text-transform:none;color:#111;max-width:35em;margin-top:36px}
.mushroom-posters{display:none}
@media(max-width:700px){
 .mushrooms{height:auto;min-height:100vh;min-height:100svh;display:block;padding:132px 8vw 72px;background:#f56b03}
 .mushrooms-art{display:none}
 .mushroom-posters{display:grid;gap:56px;justify-items:center}
 .mushroom-poster{position:relative;overflow:hidden;margin:0;width:min(100%,421px);box-shadow:0 12px 24px #63250033}
 .mushroom-poster img{position:absolute;width:404.842615012%;max-width:none;height:auto;left:var(--poster-x);top:-37.764932563%}
 /* Keep each framed artwork inside the crop, even on tall narrow phones. */
 .photo-gallery .photograph{height:min(100vh,150vw);height:min(100svh,150vw);min-height:min(100vh,150vw);min-height:min(100svh,150vw)}
 #photograph img{object-position:74.7% 50%}
 .photograph-detail img{object-position:58% 50%}
 .mushroom-photo-one img{object-position:30% 50%}
 .mushroom-photo-two img{object-position:56% 50%}
 .print-quality .print-specification{font-size:16px;line-height:1.6;margin-top:28px}
 .footer-photo{height:min(60vh,120vw);height:min(60svh,120vw)}
}
@media(prefers-reduced-motion:reduce){.orchid-bloom{height:100vh;height:100svh}}

/* Footer follows the supplied artwork: shared right column and visible cap height. */
.orchid-bloom,.orchid-stage{background:var(--cream)}
.orchid-scroll{position:absolute;top:10.8vh;top:10.8svh;left:50%;transform:translateX(-50%);margin:0;z-index:2;font-family:Mulish,sans-serif;font-size:14px;line-height:25px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.contact-footer{--contact-size:clamp(64px,7.4vw,152px);--info-column:clamp(220px,14vw,290px);position:relative;border-top:0;padding:7vw 5.2vw 4vw;min-height:max(48vh,30.2vw);min-height:max(48svh,30.2vw);gap:90px}
.contact-footer::before{content:"";position:absolute;top:3.4vw;left:0;right:0;height:1px;background:#fff0d470}
.footer-main,.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) var(--info-column);column-gap:4vw;align-items:start}
.footer-heading{display:flex;align-items:flex-start;gap:2.6vw;font-size:var(--contact-size)}
.footer-main h2{font-size:inherit;line-height:1;height:.72em;gap:1.2vw;align-items:flex-start;flex-shrink:0}
/* Bebas CONTACT ink spans -10 to 710 units in a 1000-unit em. */
.footer-main h2 span{display:block;transform:translateY(-.09em)}
.footer-main h2 img{width:.72em;height:.72em;translate:none;flex-shrink:0}
.footer-up{width:.72em;height:.72em;min-width:0;flex-shrink:0}
.footer-info{grid-column:2;line-height:1.2;text-align:left}
.footer-info p{margin:0 0 18px}
.footer-info a{margin-bottom:18px;text-decoration:none}
.footer-info a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-info p:last-child{margin-bottom:0}
.footer-bottom{font-size:14px;letter-spacing:0;row-gap:18px}
.footer-bottom span:last-child{grid-column:2;text-align:left}
@media(max-width:700px){
 .orchid-scroll{top:52px}
 .contact-footer{--contact-size:16vw;padding:76px 6vw 36px;gap:64px}
 .contact-footer::before{top:28px}
 .footer-main,.footer-bottom{grid-template-columns:1fr;gap:36px}
 .footer-heading{gap:5vw}
 .footer-main h2{font-size:inherit;gap:2.6vw}
 .footer-main h2 img{width:.72em;height:.72em}
 .footer-info,.footer-bottom span:last-child{grid-column:1}
 .footer-bottom{gap:16px}
}
@media(max-width:480px){
 .orchid-title{font-size:18px;line-height:25px;gap:6px}
 .orchid-title img{width:18px;height:18px}
 .orchid-scroll{font-size:14px;letter-spacing:0}
}

/* Shared paper backgrounds and editorial typography. */
.orchid-bloom,.orchid-stage{background:#fff8f1}
.mushrooms{height:auto;min-height:max(100vh,650px);min-height:max(100svh,650px);padding:150px 7.8vw 90px;background:#fff8f1}
.mushrooms-art{display:none}
.mushrooms h2{color:#111}
.mushrooms h2 img{filter:brightness(0)}
.mushroom-posters{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw;justify-items:center;align-items:center}
.mushroom-poster{position:relative;overflow:hidden;margin:0;width:min(100%,421px);box-shadow:0 12px 24px #63250033}
.mushroom-poster img{position:absolute;width:404.842615012%;max-width:none;height:auto;left:var(--poster-x);top:-37.764932563%}
.print-quality{background:var(--orange);color:var(--cream);padding:180px 17.7vw}
.visual-language p,.print-quality p{margin:0;width:100%;font-family:Bebas,sans-serif;font-size:3.55vw;font-weight:400;line-height:1.14;text-transform:uppercase;text-align:left;text-align-last:left;color:var(--cream)}
@media(max-width:700px){
 .mushrooms{min-height:100vh;min-height:100svh;padding:132px 8vw 72px}
 .mushroom-posters{grid-template-columns:1fr;gap:56px}
 .print-quality{padding:150px 6vw 90px}
 .visual-language p,.print-quality p{font-size:clamp(28px,6.9vw,46px);line-height:1.16}
}

/* Reserve the complete crop before the image loads, including older browsers. */
.mushroom-poster::before{content:"";display:block;padding-top:125.665859564%}
