:root{--navy:#101d32;--ivory:#f4f0e8;--ink:#18253a;--accent:#c8ad83;--font:'DM Sans','Noto Sans SC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.skip{position:absolute;left:-999px;top:0;z-index:100}.skip:focus{left:16px;top:16px;background:white;padding:12px}.topbar{height:84px;padding:0 clamp(24px,6vw,100px);position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;color:var(--ivory);border-bottom:1px solid #ffffff30;transition:background .3s}.topbar.scrolled{position:fixed;background:#101d32f5;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:700}.brand-mark{width:34px;height:34px;border:1.5px solid;border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:500;position:relative}.brand-mark span{color:var(--accent);position:absolute;font-size:22px;right:1px;bottom:-7px}.nav{display:flex;gap:clamp(18px,3vw,50px);font-size:13px;letter-spacing:.08em}.nav a{opacity:.77}.nav a:hover,.nav a:focus-visible{opacity:1}.nav-cta{border:1px solid #ffffff88;padding:10px 18px;font-size:12px}.nav-cta span{margin-left:16px}.hero{height:100vh;min-height:620px;position:relative;overflow:hidden;background:#101d32;color:var(--ivory)}.hero-images,.hero-images:after,.hero-grain{position:absolute;inset:0}.hero-images:after{content:"";background:linear-gradient(90deg,#0914247a,#0c192a54 52%,#0c192a80),linear-gradient(0deg,#08152490,transparent 34%,#08152438)}.hero-image{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transition:opacity 1.2s ease,transform 8s ease;transform:scale(1.035)}.hero-image.active{opacity:1;transform:scale(1)}.hero-grain{pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.hero-content{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);width:min(1100px,82vw);text-align:center}.eyebrow,.overline,.section-kicker,.about-foot,.contact-top>p,.hero-scroll{font-size:11px;font-weight:600;letter-spacing:.23em}.eyebrow{display:flex;align-items:center;justify-content:center;gap:16px;color:#e2dccf}.eyebrow-line{width:27px;height:1px;background:var(--accent)}.hero h1{font-size:clamp(54px,8.5vw,124px);line-height:1.23;letter-spacing:-.06em;font-weight:500;margin:25px 0 22px;text-shadow:0 2px 35px #0003}.hero-intro{color:#e1e1dc;font-size:clamp(14px,1.4vw,17px);letter-spacing:.06em}.hero-link{display:inline-flex;gap:45px;align-items:center;margin-top:36px;border-bottom:1px solid #e6dfd3;padding-bottom:12px;font-size:13px;letter-spacing:.13em}.hero-link span{font-size:19px}.hero-bottom{position:absolute;bottom:0;left:0;right:0;padding:0 clamp(24px,6vw,100px) 33px;display:flex;align-items:center;justify-content:space-between}.hero-index{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.15em}.hero-index #slide-current{font-size:18px}.index-divider{width:34px;height:1px;background:#fff9}.hero-controls{display:flex;gap:10px}.hero-controls button{width:38px;height:38px;background:transparent;border:1px solid #ffffff77;color:#fff;border-radius:50%;font-size:17px}.hero-controls button:hover{background:#ffffff26}.hero-scroll{display:flex;gap:18px;align-items:center}.hero-scroll span{font-size:19px}.section{padding:120px clamp(24px,8vw,150px)}.section-kicker{display:flex;align-items:center;gap:18px;color:#6e7886}.kicker-no{color:#b09978}.kicker-line{width:45px;height:1px;background:#b6b8ba}.about{background:var(--ivory)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:70px}.overline{color:#a38c6d;margin:0 0 22px}.section h2{font-size:clamp(49px,6vw,88px);letter-spacing:-.065em;line-height:1.18;font-weight:500;margin:0}.period{color:#b79c75}.role{font-size:13px;letter-spacing:.18em;color:#7e8791;margin-top:26px}.about-copy{padding-top:15px;max-width:490px}.about-copy .lede{font-size:clamp(22px,2.2vw,32px);line-height:1.7;margin:0 0 30px;letter-spacing:-.03em}.about-copy>p:not(.lede){font-size:15px;line-height:2.2;color:#717984;margin:0 0 37px}.text-link{display:inline-flex;gap:36px;font-size:13px;letter-spacing:.08em;border-bottom:1px solid #a98f6b;padding-bottom:9px}.about-rule{height:1px;background:#cfcfc9;margin-top:120px}.about-foot{display:flex;justify-content:space-between;margin-top:23px;color:#979ca2}.journal{background:#eae8e2}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:70px 0 55px}.section-heading>p{color:#7c848b;font-size:14px;margin:0 0 8px}.serif{font-family:serif;font-weight:400;font-style:italic}.journal-list{border-top:1px solid #c8cac7}.journal-item{display:grid;grid-template-columns:70px 1fr auto;align-items:start;gap:32px;padding:34px 0;border-bottom:1px solid #c8cac7}.journal-number{font-size:12px;color:#a28e74;margin-top:7px}.journal-title{font-size:clamp(22px,2.5vw,34px);font-weight:500;letter-spacing:-.04em;margin:0 0 10px}.journal-meta{font-size:12px;color:#8b9298;letter-spacing:.08em}.journal-excerpt{font-size:14px;color:#65707b;line-height:1.9;white-space:pre-line;margin:18px 0 0;max-width:700px}.journal-thumb{width:144px;height:100px;object-fit:cover}.journal-arrow{align-self:center;font-size:20px}.journal-card{cursor:pointer}.journal-card:hover .journal-title{color:#907556}.empty-state{text-align:center;padding:110px 20px 120px;color:#7d858b}.empty-asterisk{font-size:35px;color:#ae9470}.empty-state h3{font-size:27px;color:var(--ink);font-weight:500;margin:18px 0 10px}.empty-state p{font-size:14px}.contact{background:var(--navy);color:var(--ivory)}.contact .section-kicker{color:#b7c0c9}.contact .kicker-line{background:#7e8894}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact-top>p{color:#a6b0bb}.contact-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:80px 0 68px}.contact-heading p{color:#b3beca;font-size:15px;line-height:1.8}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff33;border-left:1px solid #ffffff33}.contact-card{min-height:144px;padding:24px 28px;border-right:1px solid #ffffff33;border-bottom:1px solid #ffffff33;display:flex;flex-direction:column;justify-content:space-between}.contact-label{font-size:12px;color:#a4b0bd;letter-spacing:.12em}.contact-value{font-size:17px;overflow-wrap:anywhere}.contact-value.empty{color:#6e7b8d}.contact-card a:hover{text-decoration:underline}.footer{background:#0c1829;color:#aab5c3;display:flex;align-items:center;gap:28px;padding:26px clamp(24px,8vw,150px);font-size:12px}.footer-brand{font-size:18px;font-weight:700;color:var(--ivory);margin-right:auto}.footer-brand span{color:var(--accent)}.footer a:hover{color:white}.article-dialog{border:0;padding:0;width:min(720px,calc(100% - 32px));max-height:88vh;background:var(--ivory);color:var(--ink);box-shadow:0 25px 90px #0612228c}.article-inner{padding:42px;overflow:auto;max-height:88vh}.article-close{float:right;border:0;background:none;font-size:24px}.article-inner h2{font-size:clamp(28px,4vw,45px);font-weight:500;line-height:1.35;clear:both}.article-date{font-size:12px;color:#89939d}.article-body{white-space:pre-wrap;line-height:2;font-size:15px}.article-inner img{max-width:100%;display:block;margin:28px auto}::backdrop{background:#050f1cb3}@media(max-width:720px){.topbar{height:68px;padding:0 22px}.brand{font-size:16px}.brand-mark{width:29px;height:29px;font-size:16px}.nav{gap:16px;font-size:12px}.nav-cta{display:none}.hero{min-height:580px}.hero-content{top:48%;width:88vw}.hero h1{font-size:clamp(50px,10vw,75px)}.hero-intro{line-height:1.9}.hero-bottom{padding:0 22px 24px}.hero-scroll{display:none}.section{padding:82px 24px}.about-grid{grid-template-columns:1fr;gap:42px;margin-top:52px}.about-rule{margin-top:70px}.section-heading,.contact-heading{display:block;margin:55px 0 42px}.section-heading>p,.contact-heading>p{margin-top:20px}.journal-item{grid-template-columns:35px 1fr;gap:10px}.journal-thumb{width:100%;height:180px;grid-column:2}.journal-arrow{display:none}.contact-top>p{display:none}.contact-grid{grid-template-columns:repeat(2,1fr)}.contact-card{min-height:120px;padding:18px}.contact-value{font-size:14px}.footer{flex-wrap:wrap;gap:15px}.footer-brand{width:100%}}@media(max-width:390px){.nav{gap:10px;font-size:11px}.brand>span:last-child{display:none}.contact-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{transition:none;transform:none}}
.hero h1 span{display:block}

.journal-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.journal-badge{display:inline-flex;align-items:center;border:1px solid #b9a17e;color:#866d4d;padding:3px 8px;font-size:10px;letter-spacing:.08em}.journal-badge.private{border-color:#a6afba;color:#657487}.journal-actions{display:flex;align-items:center;gap:18px;margin-top:23px}.read-button,.like-button{border:0;background:none;padding:0;color:#24364f;font-size:12px;letter-spacing:.06em}.read-button{border-bottom:1px solid #9c8160;padding-bottom:5px}.read-button:hover,.like-button:hover{color:#987550}.like-button{border:1px solid #c9c5bd;border-radius:25px;padding:6px 12px;font-size:13px;letter-spacing:0}.like-button.liked{color:#987550;border-color:#bda787}.like-button:disabled{cursor:default;opacity:.8}.journal-arrow{color:#b19b7a}.gallery{background:#f4f0e8}.gallery-filters{display:flex;gap:9px;flex-wrap:wrap;margin:-14px 0 35px}.gallery-filters button{border:1px solid #c9c9c3;background:transparent;padding:9px 18px;color:#586678;font-size:12px}.gallery-filters button.active,.gallery-filters button:hover{background:#15243a;border-color:#15243a;color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-card{border:1px solid #d1d0ca;background:#faf8f3;min-width:0}.gallery-art{height:220px;display:grid;place-items:center;background:linear-gradient(135deg,#213650,#78889a);overflow:hidden}.gallery-art-film{background:linear-gradient(135deg,#1a2a42,#8f8b83)}.gallery-art-literature{background:linear-gradient(135deg,#6b6d69,#b8a68e)}.gallery-art-game{background:linear-gradient(135deg,#1c2d49,#777e90)}.gallery-art-other{background:linear-gradient(135deg,#36465a,#a6a18f)}.gallery-art img{width:100%;height:100%;object-fit:cover}.gallery-art-number{color:#fff9;font-family:serif;font-style:italic;font-size:86px}.gallery-content{padding:23px 24px 27px}.gallery-category{font-size:10px;color:#a18866;letter-spacing:.18em}.gallery-content h3{font-size:21px;font-weight:500;line-height:1.35;margin:12px 0 7px}.gallery-creator{font-size:12px;color:#78828d;margin:0 0 14px}.gallery-note{font-size:13px;color:#586574;line-height:1.8;white-space:pre-line;margin:15px 0}.gallery-link{display:inline-block;font-size:12px;border-bottom:1px solid #a18866;padding-bottom:5px;margin-top:8px}.gallery-empty{grid-column:1/-1}.contact-grid{grid-template-columns:repeat(2,1fr)}.article-actions{border-top:1px solid #d1d0ca;padding-top:22px;margin-top:30px}.article-feedback{color:#9b614d;min-height:20px;font-size:13px}.unlock-form{padding:42px;max-height:88vh;overflow:auto}.unlock-form h2{font-size:clamp(26px,4vw,42px);font-weight:500;line-height:1.35;clear:both}.unlock-form label{display:block;font-size:14px;line-height:1.8;color:#647080;margin:22px 0 10px}.unlock-form input{display:block;width:100%;background:#fff;border:1px solid #c6c5bf;margin-top:12px;padding:13px 15px;font:inherit}.unlock-submit{background:#14243b;color:#fff;border:0;padding:12px 22px;margin-top:17px;font:inherit}.unlock-submit:disabled{opacity:.65}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.gallery-grid{grid-template-columns:1fr}.gallery-art{height:200px}.gallery-filters{margin-top:0}.contact-grid{grid-template-columns:repeat(2,1fr)}.unlock-form{padding:26px}.journal-actions{gap:14px}}

/* Journal archive and image mosaics */
.journal-item{grid-template-columns:54px minmax(0,1fr) clamp(180px,23vw,290px);gap:clamp(16px,3vw,42px);transition:padding .35s ease,background-color .35s ease}
.journal-item>div{min-width:0}
.journal-mosaic{width:100%;aspect-ratio:1.18;display:grid;gap:4px;padding:0;border:0;background:#d4d2cb;overflow:hidden;align-self:center;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr)}
.journal-mosaic.tiles-1{grid-template-columns:1fr}
.journal-mosaic.tiles-5,.journal-mosaic.tiles-6,.journal-mosaic.tiles-7,.journal-mosaic.tiles-8,.journal-mosaic.tiles-9{grid-template-columns:repeat(3,minmax(0,1fr))}
.journal-mosaic img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s}
.journal-mosaic.tiles-1 img{grid-column:1/-1}
.journal-more{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding:23px 0;border-top:1px solid #b9bcb9;border-bottom:1px solid #b9bcb9;font-size:13px;letter-spacing:.1em;transition:padding .3s,color .3s,border-color .3s}
.journal-more span:last-child{font-size:22px;transition:transform .3s}
.journal-banner{position:relative;min-height:490px;padding:150px clamp(24px,8vw,150px) 95px;background:radial-gradient(circle at 81% 30%,#334b68 0,transparent 35%),linear-gradient(135deg,#101d32,#1b3049);color:var(--ivory);overflow:hidden}
.journal-banner:after{content:"";position:absolute;right:-7vw;bottom:-16vw;width:47vw;height:47vw;border:1px solid #ffffff18;border-radius:50%;box-shadow:0 0 0 7vw #ffffff07,0 0 0 14vw #ffffff04;pointer-events:none}
.journal-banner-inner{position:relative;z-index:1;max-width:880px}
.journal-banner .eyebrow{justify-content:flex-start;margin:0;color:#c6ced8}
.journal-banner h1{font-size:clamp(60px,8vw,116px);font-weight:500;letter-spacing:-.07em;line-height:1.16;margin:42px 0 22px}
.journal-banner h1 em{font-family:serif;font-weight:400}
.journal-banner-inner>p:not(.eyebrow){font-size:15px;color:#c4cdd6;line-height:1.8}
.journal-banner .hero-link{margin-top:24px}
.journal-banner-index{position:absolute;right:clamp(24px,8vw,150px);bottom:35px;font-size:10px;letter-spacing:.2em;color:#a7b5c4}
.journal-archive{min-height:65vh}
.journal-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 40px}
.journal-filters button{border:1px solid #bfc2be;background:transparent;padding:10px 18px;font-size:12px;color:#5d6875;transition:background .25s,color .25s,transform .25s,border-color .25s}
.journal-filters button.active,.journal-filters button:hover{background:var(--navy);border-color:var(--navy);color:var(--ivory)}

/* Gallery: artwork stays fully visible; text sits directly on the page. */
.gallery-grid{gap:clamp(26px,3vw,48px)}
.gallery-card{border:0;background:transparent;min-width:0;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.gallery-art{height:auto;aspect-ratio:4/3;position:relative}
.gallery-art img{display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s}
.gallery-content{padding:19px 0 0;background:transparent;border:0}
.gallery-content h3{margin:8px 0 6px}
.gallery-note{border-top:1px solid #cfcec8;padding-top:12px}

/* Motion and tactile feedback */
.nav a{position:relative;transition:opacity .25s,color .25s}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--accent);transition:right .3s cubic-bezier(.2,.8,.2,1)}
.nav a:hover:after,.nav a:focus-visible:after,.nav a[aria-current="page"]:after{right:0}
.nav-cta,.hero-controls button,.text-link,.hero-link,.read-button,.gallery-link,.like-button,.contact-card,.gallery-filters button{transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s}
.nav-cta span,.hero-link span,.text-link span{display:inline-block;transition:transform .3s}
.hero-controls button:hover{transform:scale(1.1);box-shadow:0 0 0 5px #ffffff18}
.journal-item:hover{background:#ffffff32;padding-left:14px;padding-right:14px}
.journal-item:hover .journal-title{color:#8d6e4c}
.journal-mosaic:hover img{filter:saturate(1.1)}
.journal-mosaic:hover img:hover{transform:scale(1.1)}
.journal-more:hover{padding-left:14px;padding-right:14px;border-color:#857153;color:#8a6c48}
.journal-more:hover span:last-child{transform:translate(4px,-4px)}
.gallery-card:hover{transform:translateY(-7px)}
.gallery-card:hover .gallery-art img{transform:scale(1.065);filter:saturate(1.12)}
.gallery-card:hover .gallery-content h3{color:#8a6c48}
.gallery-filters button:hover,.journal-filters button:hover{transform:translateY(-2px)}
.contact-card:hover{background:#ffffff0b;box-shadow:inset 0 0 0 1px #c8ad8355}
.like-button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #101d3214}
.read-button:hover,.gallery-link:hover{transform:translateX(3px)}
.hero-link:hover span,.text-link:hover span,.nav-cta:hover span{transform:translate(4px,-3px)}
.nav-cta:hover{background:#ffffff18;border-color:#fff}
:focus-visible{outline:2px solid #ba9d73;outline-offset:4px}
@media(max-width:720px){.journal-item{grid-template-columns:32px minmax(0,1fr);gap:10px}.journal-mosaic{grid-column:2;aspect-ratio:1.35;margin-top:12px}.journal-banner{min-height:420px;padding:130px 24px 75px}.journal-banner h1{margin-top:30px}.journal-banner-index{right:24px}.gallery-art{aspect-ratio:4/3;height:auto}.journal-item:hover{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.journal-item:hover,.gallery-card:hover,.gallery-filters button:hover,.journal-filters button:hover{transform:none}}
@media(max-width:720px){.journal-banner h1{font-size:clamp(54px,10vw,70px)}.journal-banner h1 em{display:block;white-space:nowrap}}

/* Artwork-led gallery: no panel or opaque text box over the image. */
.gallery-grid{gap:clamp(22px,3vw,42px)}
.gallery-card{isolation:isolate;overflow:hidden;background:#15263e}
.gallery-art{aspect-ratio:3/4;min-height:380px;display:grid;place-items:center;position:relative;overflow:hidden}
.gallery-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.19,1,.22,1),filter .6s ease}
.gallery-art::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 33%,#09162917 48%,#091629a8 76%,#071324ed 100%);transition:background .5s ease,opacity .5s ease;pointer-events:none}
.gallery-art::before{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,70%),#f4ede538,transparent 42%);opacity:0;transition:opacity .45s;pointer-events:none}
.gallery-content{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:40px clamp(20px,2.4vw,32px) 27px;background:none!important;border:0;color:#fff;text-shadow:0 1px 10px #071324aa}
.gallery-content h3{color:#fff;font-size:clamp(24px,2.2vw,32px);line-height:1.3;margin:11px 0 7px;letter-spacing:-.035em;transform-origin:left bottom;transition:transform .5s cubic-bezier(.2,.8,.2,1),color .4s,letter-spacing .5s}
.gallery-category{color:#e6d3ac;font-size:11px;letter-spacing:.22em;display:inline-flex;align-items:center;gap:9px}
.gallery-category::before{content:"";display:block;width:18px;height:1px;background:#e6d3ac;transition:width .4s}
.gallery-creator{color:#f6f0e8d9;font-size:12px;margin:0}
.gallery-note{color:#f7f2e9e6;border:0;padding:0;margin:12px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12px;line-height:1.65}
.gallery-link{color:#fff;border-color:#e6d3ac;margin-top:12px;padding-bottom:3px;transition:transform .3s,color .3s,border-color .3s}
.gallery-card:hover .gallery-art img,.gallery-card:focus-within .gallery-art img{transform:scale(1.095);filter:saturate(1.12) contrast(1.04)}
.gallery-card:hover .gallery-art::before,.gallery-card:focus-within .gallery-art::before{opacity:1}
.gallery-card:hover .gallery-content h3,.gallery-card:focus-within .gallery-content h3{color:#fff1d8;transform:translateY(-5px) scale(1.025);letter-spacing:-.025em}
.gallery-card:hover .gallery-category::before,.gallery-card:focus-within .gallery-category::before{width:32px}
.gallery-card:hover .gallery-content{transform:none}
.gallery-link:hover{transform:translateX(5px);color:#fff1d8;border-color:#fff1d8}

/* More layered motion, with a quiet path for reduced-motion preferences. */
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#d9bb8d,#f4eee1);transform:scaleX(0);transform-origin:left center;pointer-events:none;z-index:1}
.hero-content{animation:hero-arrive 1.15s cubic-bezier(.2,.8,.2,1) both}
.hero-bottom{animation:soft-arrive 1.3s .45s both}
.journal-banner-inner{animation:banner-arrive .95s cubic-bezier(.2,.8,.2,1) both}
@keyframes hero-arrive{from{opacity:0;transform:translate(-50%,-45%);filter:blur(7px)}to{opacity:1;transform:translate(-50%,-50%);filter:blur(0)}}
@keyframes banner-arrive{from{opacity:0;transform:translateY(26px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes soft-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.motion-enabled .motion-reveal{opacity:0;transform:translateY(30px);filter:blur(5px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1),filter .8s ease;transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .motion-reveal.in-view{opacity:1;transform:translateY(0);filter:blur(0)}
.journal-item{position:relative;overflow:hidden}
.journal-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#b59a70;transform:scaleY(0);transform-origin:top;transition:transform .4s;pointer-events:none}
.journal-item:hover::before{transform:scaleY(1)}
.journal-mosaic{transition:box-shadow .45s,transform .45s cubic-bezier(.2,.8,.2,1)}
.journal-item:hover .journal-mosaic{transform:translateY(-4px);box-shadow:0 17px 28px #14263a22}
.contact-card{position:relative;overflow:hidden}
.contact-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),#e6d3ac26,transparent 56%);opacity:0;transition:opacity .5s;pointer-events:none}
.contact-card:hover::after{opacity:1}
.contact-card:hover .contact-label{color:#e6d3ac;transform:translateX(4px)}
.contact-card:hover .contact-value{transform:translateX(4px)}
.contact-label,.contact-value{transition:color .35s,transform .35s}
.section-heading h2 .serif{display:inline-block;transition:transform .55s cubic-bezier(.2,.8,.2,1),color .4s}
.section-heading:hover h2 .serif{transform:translateY(-6px) rotate(-2deg);color:#947451}
.hero-link,.text-link,.read-button{position:relative}
.hero-link::after,.text-link::after,.read-button::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:currentColor;transition:right .35s cubic-bezier(.2,.8,.2,1)}
.hero-link:hover::after,.text-link:hover::after,.read-button:hover::after{right:0}
.gallery-filters button,.journal-filters button{position:relative;overflow:hidden}
.gallery-filters button::after,.journal-filters button::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#ffffff30 50%,transparent 75%);transform:translateX(-140%);transition:transform .6s;pointer-events:none}
.gallery-filters button:hover::after,.journal-filters button:hover::after{transform:translateX(140%)}
@media(max-width:720px){.gallery-art{aspect-ratio:4/5;min-height:0}.gallery-content{padding:34px 23px 24px}.gallery-content h3{font-size:27px}.hero-content{animation-duration:.85s}}
@media(prefers-reduced-motion:reduce){.hero-content,.hero-bottom,.journal-banner-inner{animation:none!important}.motion-enabled .motion-reveal{opacity:1!important;transform:none!important;filter:none!important}.scroll-progress{display:none}.gallery-card:hover .gallery-art img,.journal-item:hover .journal-mosaic{transform:none}}
