/* Brand fonts, loaded locally from /fonts. Drop CaboSunset-Rough.otf and "Marie Vaery.ttf" into that folder. */
@font-face{font-family:'Cabo Sunset Rough';src:url("fonts/CaboSunset-Rough.otf") format("opentype");font-display:swap}
@font-face{font-family:'Knowledge';src:url("fonts/Knowledge.otf") format("opentype");font-style:normal;font-display:swap}
@font-face{font-family:'Knowledge';src:url("fonts/Knowledge-Italic.ttf") format("truetype");font-style:italic;font-display:swap}
@font-face{font-family:'Marie Vaery';src:url("fonts/MarieVaery.ttf") format("truetype");font-display:swap}
:root{--bur:#49171A;--oli:#656434;--mau:#836163;--ivo:#F6F4EE;
--cabo:'Cabo Sunset Rough',Georgia,'Times New Roman',serif;--marie:'Marie Vaery',Georgia,'Times New Roman',serif;
--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .29 0 0 0 0 .09 0 0 0 0 .1 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--ivo) var(--grain);color:var(--bur);font:400 20px/1.7 var(--marie);letter-spacing:.02em;overflow-x:hidden}
body.lock{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}
:focus-visible{outline:2px solid var(--mau);outline-offset:4px}
.lab{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase}
.hand{font-family:var(--cabo);color:var(--mau);line-height:1.1;font-size:1.5em}
h1,h2,h3,.cabo{overflow-wrap:break-word;font-family:var(--cabo);font-weight:400;line-height:.92;letter-spacing:-.01em}
section{position:relative}.wrap{max-width:1200px;margin:auto;padding:0 6vw}
.btn{display:inline-block;padding:1rem 1.8rem;border:1px solid currentColor;text-decoration:none;transition:.3s;background:none;color:inherit;cursor:pointer;font:inherit;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.btn.f{background:var(--ivo);color:var(--bur);border-color:var(--ivo)}.btn:hover,.btn.f:hover,.btn.b:hover{background:var(--oli);border-color:var(--oli);color:var(--ivo)}
.btn.b{background:var(--bur);color:var(--ivo);border-color:var(--bur)}
/* paper: real photographic torn sheet; modifier classes turn the sheet so no two tears repeat */
.pp{position:relative;isolation:isolate}
.pp:before{content:"";position:absolute;inset:0;z-index:-1;background:url(paper_torn.png) 0 0/100% 100% no-repeat;filter:drop-shadow(0 14px 18px rgba(30,5,8,.38))}
.pp.fx1:before{transform:scaleX(-1)}.pp.fx2:before{transform:scaleY(-1)}.pp.fx3:before{transform:rotate(180deg)}
.chit{background:url(paper_tex.jpg) center/cover;box-shadow:0 8px 14px rgba(30,5,8,.3)}
/* nav */
nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top,0px)) 5vw 12px;color:var(--bur);background:rgba(246,244,238,.94);transition:background .4s,color .4s}
nav.lt{background:transparent}nav.dk{background:rgba(73,23,26,.94);color:var(--ivo)}nav .l1{height:32px}nav .l2{height:32px;display:none}nav.dk .l1,nav.lt .l1{display:none}nav.dk .l2,nav.lt .l2{display:block}nav.lt{color:var(--ivo)}
nav ul{display:flex;gap:2rem;list-style:none}nav a{text-decoration:none}nav ul a:hover{color:var(--mau)}
@media(min-width:801px){nav ul a{display:inline-block;font-size:.86em;letter-spacing:.03em}nav ul a::first-letter,nav ul a .w{font-size:1.36em}nav ul a .w{font-weight:400}}
.burger{display:none;background:none;border:0;color:inherit;font:inherit;cursor:pointer}
@media(max-width:800px){.burger{display:block;position:relative;z-index:2}nav ul{position:fixed;inset:0;background:var(--bur);color:var(--ivo);flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;transform:translateY(-100%);transition:transform .5s}nav ul.open{transform:none}nav ul a{font-size:2.6rem;font-family:var(--cabo)}nav:has(ul.open){color:var(--ivo)}}
/* intro */
#intro{position:fixed;inset:0;z-index:100;background:var(--ivo) var(--grain);display:grid;place-items:center;text-align:center;padding:6vw;transition:transform 1.1s cubic-bezier(.7,0,.2,1)}
#intro.out{transform:translateY(-100%)}#intro .lg{width:min(440px,78vw);margin:auto;clip-path:inset(0 100% 0 0);transition:clip-path 1.8s cubic-bezier(.6,0,.3,1)}#intro p{opacity:0;margin-top:1rem;transition:opacity .8s 1.6s}#intro.go .lg{clip-path:inset(0)}#intro.go p{opacity:1}
.skip{position:absolute;right:5vw;bottom:5vh;background:none;border:0;border-bottom:1px solid;color:inherit;cursor:pointer;padding:.3rem 0;font:inherit;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
/* hero */
.hero{min-height:100svh;display:grid;align-items:end;padding:120px 0 7vh;overflow:hidden;background:var(--bur);color:var(--ivo)}
.hero .bg,.hero .eg{position:absolute;pointer-events:none}
.hero .bg{inset:-6% -3%;background:url(hero.jpg) center/cover;transform:translate3d(var(--mx,0),var(--py,0),0) scale(1.08);will-change:transform}
.hero .eg{width:min(58vw,860px);left:62%;top:7%;margin-left:calc(min(58vw,860px)/-2);transform:translate3d(var(--ex,0),var(--ey,0),0) rotate(-2deg);-webkit-mask-image:linear-gradient(#000 52%,transparent 90%);mask-image:linear-gradient(#000 52%,transparent 90%);animation:flt 9s ease-in-out infinite;will-change:transform}
@keyframes flt{50%{translate:0 -14px}}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(73,23,26,.45),rgba(73,23,26,0) 30%,rgba(73,23,26,.15) 55%,rgba(73,23,26,.88));pointer-events:none}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero h1{font-family:var(--marie);text-transform:uppercase;font-size:clamp(2.2rem,8.8vw,9.6rem);line-height:1;letter-spacing:.01em;text-shadow:0 4px 30px rgba(30,5,8,.55)}
.hero h1 small{display:block;font-family:var(--cabo);text-transform:none;font-size:.34em;letter-spacing:0;word-spacing:0;line-height:1.2;margin:0 0 .5em .06em}
.hero h1 span[style]{white-space:normal!important}.hero h1 .o{position:relative;display:inline-block;color:var(--ivo)}
.hero h1 .o:after{content:"";position:absolute;left:-2%;right:-2%;top:56%;height:.05em;background:var(--mau);transform:rotate(-2deg);transform-origin:left;animation:str 1s 5s both}
@keyframes str{from{transform:rotate(-2deg) scaleX(0)}}
.hero .ann{display:block;position:relative;z-index:3;margin:-1.1rem 0 0 min(22vw,20rem);transform:rotate(-4deg);font-size:clamp(1.9rem,4.4vw,3.8rem);width:max-content;color:var(--ivo);opacity:.92}
.hero p.s{font-family:'Knowledge',Georgia,serif;font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.5;letter-spacing:0;max-width:34em;margin:1.6rem 0 1.6rem;color:var(--ivo)}.hero .btn+.btn{margin-left:.8rem}
.kn{font-family:'Knowledge',Georgia,serif;letter-spacing:0;font-size:1.15em;line-height:1.5}.hero .btn:not(.f){color:var(--ivo)}
/* flock */
.flock{padding:18vh 0;background:var(--ivo);overflow:hidden}.flock .wrap{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
.flock h2{font-family:var(--marie);text-transform:uppercase;line-height:1;font-size:clamp(2.6rem,8vw,8.4rem)}.flock h2 em{font-family:var(--cabo);display:block;font-size:.46em;color:var(--mau);text-transform:none;font-style:normal;margin-bottom:.15em}
.unf{position:relative;width:min(440px,80vw);aspect-ratio:6457/7215;margin:auto}
.unf img{position:absolute;inset:0;width:100%;height:100%;display:block}
.unf .ky{opacity:0}
.unf.on .ky{animation:kflash 3.2s .4s both}
@keyframes kflash{0%,6%{opacity:0}6.01%,10%{opacity:1}10.01%,15%{opacity:0}15.01%,19%{opacity:1}19.01%,22%{opacity:0}22.01%,30%{opacity:1}30.01%,34%{opacity:0}34.01%,37%{opacity:1}37.01%,45%{opacity:0}45.01%,48%{opacity:1}48.01%,51%{opacity:0}51.01%,56%{opacity:1}56.01%,60%{opacity:0}60.01%,63%{opacity:1}63.01%,65%{opacity:0}65.01%,100%{opacity:1}}
.waxseal{position:absolute;width:88px;height:88px;display:grid;place-items:center;border-radius:48% 52% 50% 50%/52% 48% 52% 48%;background:radial-gradient(circle at 35% 30%,rgba(246,244,238,.16),transparent 40%),var(--bur);box-shadow:inset 0 0 0 5px rgba(131,97,99,.55),inset 0 0 14px rgba(0,0,0,.55),0 6px 14px rgba(0,0,0,.35);color:rgba(246,244,238,.85);font-family:var(--cabo);font-size:2.2rem;transform:rotate(-10deg)}
.rv{opacity:0;translate:0 50px;transition:opacity 1s,translate 1.2s cubic-bezier(.2,.7,.2,1)}.rv.on{opacity:1;translate:0 0}
/* services: the puzzle */
.svc{height:calc(100svh*4.4);background:var(--ivo) var(--grain)}
.svc:before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 30%,rgba(131,97,99,.13) 34%,rgba(131,97,99,.04) 48%,transparent 52%,rgba(131,97,99,.1) 70%,transparent 76%);pointer-events:none}
.svc-pin{position:sticky;top:0;height:100svh;display:grid;place-content:center;justify-items:center;gap:1.6rem;padding:70px 3vw 20px}
.svc .hint{color:var(--mau);text-align:center}
.pz{position:relative;width:min(1120px,94vw,calc((100svh - 190px)*1.4));container-type:inline-size;perspective:1700px;margin:auto}
.pz .sd{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pc{pointer-events:none;position:absolute;transform-style:preserve-3d;cursor:pointer;background:none;border:0;padding:0;will-change:transform;-webkit-tap-highlight-color:transparent}
.face{pointer-events:auto;position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.lea{background-color:var(--bur);background-image:linear-gradient(135deg,rgba(255,255,255,.14),transparent 34%,transparent 62%,rgba(0,0,0,.34)),url(leather_grain.png);background-size:100% 100%,360px;background-blend-mode:normal,soft-light}
.lea.v1{background-position:0 0,60px 90px}.lea.v2{background-position:0 0,150px 30px}
.fx{position:absolute;container-type:inline-size;pointer-events:none}
.fx .our{position:absolute;left:0;right:0;top:calc(50% - 15cqw);text-align:center;font-family:var(--marie);font-size:17cqw;letter-spacing:.02em;line-height:1;color:rgba(246,244,238,.62);mix-blend-mode:normal}
.fx .srv{position:absolute;left:0;right:0;top:calc(50% - 7.5cqw);text-align:center;font-family:var(--cabo);font-size:24cqw;line-height:1;color:var(--ivo);text-shadow:0 1px 0 rgba(0,0,0,.35)}
.bk .in{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:calc(var(--u)*6);color:var(--fg)}
.bk{background-color:var(--bg);background-image:linear-gradient(135deg,rgba(255,255,255,.16),transparent 36%,transparent 62%,rgba(0,0,0,.3)),url(leather_grain.png);background-size:100% 100%,360px;background-blend-mode:normal,soft-light}
.bk.pap{background-image:linear-gradient(135deg,rgba(255,255,255,.2),transparent 40%,transparent 66%,rgba(73,23,26,.22)),url(paper_tex.jpg);background-size:100% 100%,cover;background-blend-mode:normal,multiply}
.bk .nm{font-family:var(--marie);letter-spacing:.3em;font-size:max(9px,calc(var(--u)*13));opacity:.8}
.bk .a{font-family:var(--cabo);line-height:.95;font-size:max(15px,calc(var(--u)*var(--fa,36)));color:var(--ac)}
.bk .bb{font-family:var(--marie);text-transform:uppercase;letter-spacing:.2em;font-size:max(8.5px,calc(var(--u)*13.5))}
.bk .d{font-size:max(10.5px,calc(var(--u)*16));line-height:1.3;opacity:.92;max-width:15em}
.bk .go{display:none;margin-top:calc(var(--u)*4);font-size:max(9px,calc(var(--u)*12));letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid;text-decoration:none;color:var(--ac)}
@media(max-width:560px){.bk .go{display:none}}
@media(max-width:639px){.pz{width:min(112vw,calc((100svh - 190px)*.8))}.svc{overflow-x:clip}.lea,.bk:not(.pap){background-image:linear-gradient(135deg,rgba(255,255,255,.14),transparent 34%,transparent 62%,rgba(0,0,0,.34)),url(leather_fine.png);background-size:100% 100%,230px;background-position:0 0,0 0}.lea.v1{background-position:0 0,40px 70px}.lea.v2{background-position:0 0,90px 30px}}
.pc:focus-visible{outline:none}.pc:focus-visible .face{filter:brightness(1.2)}
/* about: antique frame */
.about{background:var(--bur) var(--grain);color:var(--ivo);padding:16vh 0;overflow:hidden}
.about .frame:before{content:"";position:absolute;left:-45%;right:-45%;top:-18%;bottom:-18%;background:radial-gradient(closest-side,rgba(131,97,99,.8),rgba(131,97,99,.32) 50%,transparent 100%);pointer-events:none;z-index:0}
.about .wrap{display:grid;grid-template-columns:6fr 5fr;gap:5vw;align-items:center;position:relative}
.about h2{font-size:clamp(3rem,8vw,7.4rem);margin:.5rem 0 2rem}.about p{margin-bottom:1.1rem;max-width:30em}
.about p.b{font-family:var(--cabo);font-size:clamp(2.2rem,4vw,3.4rem);line-height:1;color:var(--ivo);margin:1.4rem 0}
.about p:not(.b){font-family:'Knowledge',Georgia,serif;text-transform:none;letter-spacing:0;font-size:1.12em;line-height:1.6}
.about .lab{color:var(--mau)}
.frame{position:relative;width:min(500px,84vw);aspect-ratio:1100/1509;margin:auto}
.frame .win{position:absolute;inset:0;overflow:hidden;-webkit-mask:url(frame_inner.png) 0 0/100% 100% no-repeat;mask:url(frame_inner.png) 0 0/100% 100% no-repeat}
.frame .win .ph{position:absolute;left:3.7%;top:17%;width:92.5%;max-width:none;transform:translate3d(var(--px,0%),var(--py2,0%),0);will-change:transform}
.frame .gold{position:relative;z-index:1;display:block;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
/* why: editorial */
.why{background:var(--bur) var(--grain);color:var(--ivo);padding:14vh 0 16vh;overflow:hidden}
.why .big{font-size:clamp(4rem,17vw,17rem);line-height:.78;letter-spacing:-.03em;margin-left:-.02em;white-space:nowrap}
.why .big span{display:block}.why .big .o{color:transparent;-webkit-text-stroke:2.5px var(--mau)}
.why .kick{position:relative;z-index:2;max-width:560px;margin:-6vw 0 0 auto;padding:3.2rem 3rem 4.4rem 3.6rem;color:var(--bur);transform:rotate(1.5deg)}
.why .kick p+p{margin-top:1rem}
.lace{display:block;width:100%;height:auto;pointer-events:none}
.ent{position:relative;margin-top:14vh}
.ent .n{font-family:var(--cabo);font-size:clamp(6rem,18vw,16rem);line-height:.8;color:var(--mau);opacity:.55;position:absolute;pointer-events:none}
.ent h3{font-size:clamp(2.4rem,7.4vw,7.4rem);position:relative}
.ent p{position:relative;max-width:24em;margin-top:1.2rem}
.e1{padding-left:6vw}.e1 .n{right:8vw;top:-6vw}.e1 h3{max-width:9em}
.e2{display:grid;grid-template-columns:6fr 6fr;align-items:center;gap:0}
.e2 .pho{position:relative;aspect-ratio:3/4;width:84%;margin-left:3vw;transform:rotate(-3deg)}
.e2 .pho:before{content:"";position:absolute;inset:0;background:url(hero.jpg) 22% center/auto 175%;-webkit-mask:url(paper_torn.png) 0 0/100% 100%;mask:url(paper_torn.png) 0 0/100% 100%;filter:saturate(.9) contrast(1.05)}
.e2 .pho:after{content:"";position:absolute;inset:0;background:url(paper_torn.png) 0 0/100% 100%;mix-blend-mode:soft-light;opacity:.5}
.e2 .tx{padding:0 6vw 0 2vw}.e2 .n{left:2vw;top:-6vw}.e2 h3{text-align:right;margin-left:auto}.e2 p{margin-left:auto;text-align:right}
.e3{padding:0 6vw}.e3 .n{left:6vw;top:-9vw;-webkit-text-stroke:0}.e3 h3{margin-left:12vw;max-width:8em}.e3 .sp{position:absolute;right:1vw;top:-8vw;z-index:0;height:min(60vw,520px);mix-blend-mode:normal}
.e4{display:flex;justify-content:flex-end;padding:0 3vw}
.e4 .card{width:min(660px,94vw);padding:4rem 3.4rem 5.4rem 4.4rem;color:var(--bur);transform:rotate(-1.8deg)}.e4 .n{color:var(--bur);opacity:.12;right:2rem;top:0}.e4 h3{font-size:clamp(2.4rem,6.4vw,5.8rem)}.e4 p{color:var(--bur)}
.e4 .lc{position:absolute;left:3rem;right:3rem;bottom:1.4rem;opacity:.9}
.e5{background:var(--oli);margin:14vh -6vw 0;padding:10vh 8vw 12vh;position:relative;clip-path:polygon(0 4%,8% 0,19% 3%,32% 0,47% 4%,60% 0,74% 3%,88% 0,100% 4%,100% 100%,0 100%)}
.e5 h3{font-size:clamp(3rem,10.4vw,10.4rem);max-width:8.4em}.e5 .n{right:5vw;top:2vh;color:var(--ivo);opacity:.2}
.why .tag{margin:8vh 0 0 6vw;display:flex;align-items:center;gap:1.4rem}.why .tag .waxseal{position:relative;flex:none}
/* eagle chapter */
.ec{background:var(--bur);height:calc(100svh*8.6)}
.ec-pin{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;background:var(--bur) var(--grain);--sw:100vw;--sh:100vh}
.ec .desk{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,#5a2227,var(--bur) 80%);box-shadow:inset 0 0 160px rgba(0,0,0,.5)}
.ec .sheet{position:absolute;inset:8vh 0 0 0;overflow:visible;filter:drop-shadow(0 5px 9px rgba(0,0,0,.5))}
.ec .sheet .pimg{position:absolute;inset:0;width:auto;height:auto;transform:none;background:url(paper_fill.jpg) center/cover no-repeat;-webkit-mask:url(tear_mask.png) 50% 0/auto 120px repeat-x,linear-gradient(#000,#000) 0 119px/100% calc(100% - 119px) no-repeat;mask:url(tear_mask.png) 50% 0/auto 120px repeat-x,linear-gradient(#000,#000) 0 119px/100% calc(100% - 119px) no-repeat}
.ec .sheet .pimg:after{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:url(tear_rim.png) 50% 0/auto 120px repeat-x;pointer-events:none}
.ec .sheet .pimg.u{display:none}
.ec .lacebd{position:absolute;left:50%;width:46%;margin-left:-23%;bottom:1.2%;opacity:.55;pointer-events:none;mix-blend-mode:multiply}
.ec .botan{position:absolute;pointer-events:none;mix-blend-mode:multiply}
.ec .b1{height:50vh;left:1vw;bottom:6vh;transform:rotate(-12deg)}.ec .b2{height:40vh;right:1.5vw;top:6vh;transform:rotate(160deg)}
.ec .waxseal{right:7.5vw;bottom:calc(4.2vh + 18px);width:76px;height:76px;font-size:1.8rem;z-index:3}
.ec .chap{position:absolute;left:50%;top:13vh;transform:translateX(-50%);z-index:3;color:var(--bur);text-align:center;white-space:nowrap}
.ec .chap b{font-family:var(--cabo);font-weight:400;font-size:1.9rem;letter-spacing:0;text-transform:none;display:block;line-height:1}
.plate{position:absolute;left:50%;top:52.5%;transform:translate(-50%,-50%);width:min(62vw,calc(85vh*1.103));aspect-ratio:1254/1137;z-index:2}
.plate canvas{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:multiply}
.plate svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.plate .al{font-family:var(--marie);fill:#836163;font-size:54px}.plate .at{font-family:var(--marie);fill:#49171A;font-size:46px;letter-spacing:.05em}
.plate .ap{fill:none;stroke:#836163;stroke-width:3.2;stroke-linecap:round}
.col{position:absolute;top:21vh;bottom:11vh;width:min(19vw,290px);z-index:3;display:flex;flex-direction:column;justify-content:space-around;gap:1.2vh}
.col.l{left:4.4vw}.col.r{right:4.4vw}
.note{position:relative;padding:1.05rem 1.2rem 1.15rem;color:var(--bur);background:url(paper_tex.jpg) center/cover;font-size:clamp(.95rem,1.28vw,1.28rem);line-height:1.3;box-shadow:0 7px 12px rgba(30,5,8,.3);opacity:0;transform:translateY(24px) rotate(var(--r,0deg))}
.note.d{background:var(--bur);color:var(--ivo)}.note .hand{color:var(--mau);font-size:1.2em;display:inline}.note.d .hand{color:var(--ivo);opacity:.85}
.note.n1{--r:-1.6deg}.note.n2{--r:1.4deg}.note.n3{--r:1deg}.note.n4{--r:-1.2deg}.note.n5{--r:-.8deg}.note.n6{--r:1.2deg}
.note:before{content:"";position:absolute;top:-9px;left:50%;width:62px;height:19px;background:rgba(131,97,99,.5);transform:translateX(-50%) rotate(-2deg)}
.mcap{display:none}
@media(max-width:900px){.ec{height:calc(100svh*7)}.ec .sheet{inset:8vh 0 0 0}.plate{top:23vh;transform:translateX(-50%);width:98vw}.ec .chap{top:13vh}.ec .chap b{font-size:1.4rem}.ec .botan{display:none}.col{display:none}
.mcap{display:block;position:absolute;left:6vw;right:6vw;bottom:9vh;height:30vh;z-index:3}.mcap .note{position:absolute;inset:auto 0 0 0;width:auto;font-size:1.12rem;transform:none;opacity:0}.ec .waxseal{width:56px;height:56px;font-size:1.3rem}}
/* mean */
.mean{background:var(--oli) url(mean_bg.jpg) center 35%/cover no-repeat;color:var(--ivo);padding:12vh 0 18vh;text-align:center;overflow:hidden}.mean h2{font-size:clamp(2.8rem,8vw,7.4rem);max-width:11em;margin:2rem auto}.mean .lace{width:min(760px,84vw);margin:0 auto 8vh}
/* archive */
.arch{padding:16vh 0;background:var(--ivo) var(--grain)}.arch h2{font-size:clamp(3.2rem,10vw,9rem);margin-bottom:6vh}.arch h2 em{font-style:normal;color:var(--mau)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:3vw 2vw}
.pl{position:relative;cursor:pointer;background:none;border:0;text-align:left;font:inherit;color:inherit}
.pl .art{position:relative;overflow:hidden;background:var(--mau) var(--grain);display:grid;place-items:center}
.pl .art img{width:34%;opacity:.45;transition:.6s}.pl .art:after{content:"";position:absolute;inset:0;background:var(--ivo) var(--grain);transform-origin:top;transition:transform .7s}
.pl.in .art:after{transform:scaleY(0)}.pl:hover .art img{transform:scale(1.08)}
.pl h3{font-size:1.9rem;margin-top:.8rem}.pl .lab{color:var(--mau)}
.p1{grid-column:1/8}.p1 .art{aspect-ratio:4/3}.p2{grid-column:9/13;margin-top:14vh}.p2 .art{aspect-ratio:3/4;background-color:var(--oli)}
.p3{grid-column:2/6}.p3 .art{aspect-ratio:1;background-color:var(--bur)}.p4{grid-column:6/13;margin-top:-6vh}.p4 .art{aspect-ratio:16/9}.p5{grid-column:4/10}.p5 .art{aspect-ratio:5/3;background-color:var(--oli)}
dialog{margin:auto;max-width:min(760px,92vw);width:100%;border:0;background:var(--ivo);color:var(--bur);padding:3rem;max-height:90vh;overflow:auto}dialog::backdrop{background:rgba(73,23,26,.82)}
dialog h3{font-size:2.8rem;margin:.4rem 0 1.2rem}dialog dt{margin-top:1rem;color:var(--mau)}dialog dd{border-bottom:1px dashed var(--mau);padding-bottom:.6rem}
/* contact */
.contact{background:var(--ivo) var(--grain);padding:16vh 0}.contact h2{font-size:clamp(2.1rem,8.4vw,7.4rem);overflow-wrap:anywhere;margin-bottom:4vh}
.contact .wrap.g{display:grid;grid-template-columns:5fr 6fr;gap:6vw}
form{display:grid;gap:1.4rem;min-width:0}label{display:grid;gap:.3rem;min-width:0}input,select,textarea{width:100%;min-width:0}input,select,textarea{font:inherit;background:transparent;border:0;border-bottom:1px solid var(--bur);padding:.5rem 0;color:inherit;border-radius:0}
textarea{min-height:110px;resize:vertical}.msg{min-height:1.6em;color:var(--oli)}
/* footer */
footer{background:var(--bur);color:var(--ivo);padding:14vh 0 5vh;position:relative;overflow:hidden}
footer .mk{font-family:var(--cabo);font-weight:400;font-size:clamp(3.8rem,10vw,10.5rem);line-height:.86;letter-spacing:-.005em}
footer .lm{font-family:var(--marie);text-transform:uppercase;letter-spacing:.14em;font-size:clamp(1.3rem,3.6vw,3.4rem);margin:2vh 0 7vh;line-height:1.1;color:var(--ivo)}
footer .cols{overflow-wrap:anywhere;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3vw;position:relative}footer ul{list-style:none}footer a{text-decoration:none}footer a:hover{color:var(--mau)}footer img.lg{width:220px}
.soc{display:flex;gap:1rem;margin-top:1.4rem}.soc a{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(246,244,238,.6);border-radius:50%;transition:.3s}.soc a:hover{background:var(--ivo);color:var(--bur);border-color:var(--ivo)}.soc svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
footer small{display:block;margin-top:8vh;opacity:.7;position:relative}
@media(max-width:800px){body{font-size:17px}.flock .wrap,.contact .wrap.g,.about .wrap{grid-template-columns:minmax(0,1fr)}.grid{display:block}.pl{display:block;margin-bottom:12vw;width:100%}.p2,.p4{margin-top:0}footer .cols{grid-template-columns:1fr 1fr}.hero .ann{margin:-.3rem 0 0 .6rem}.hero .btn+.btn{margin:.8rem 0 0}.flock .unf{margin-bottom:3rem}
.hero .eg{width:112vw;margin-left:-56vw;top:12%}.hero .bg{background-position:60% center}
.about .frame{margin-top:6vh}.why .kick{margin:-4vw 0 0;padding:2.4rem 1.6rem 3.4rem 2rem;max-width:none}.e2{grid-template-columns:1fr}.e2 .pho{width:70%;margin:0 0 -8vw 4vw}.e2 .tx{padding:6vw}.e3 h3{margin-left:2vw}.e3 .sp{display:none}.e4 .card{padding:2.4rem 1.6rem 4.6rem 2rem}.e5{margin-left:-6vw;margin-right:-6vw}.svc{height:calc(100svh*4.8)}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;translate:none}.ec{height:auto}.svc{height:auto}.svc-pin{position:relative;height:auto;padding:80px 3vw}*{animation:none!important;transition:none!important}html{scroll-behavior:auto}.unf .ky{opacity:1!important;animation:none!important}}
/* ================= multi-page additions ================= */
.cv{position:fixed;inset:0;z-index:90;display:grid;place-items:center;pointer-events:none;transform:translateY(100%);transition:transform .64s cubic-bezier(.7,0,.2,1);background-color:var(--bur);background-image:linear-gradient(135deg,rgba(255,255,255,.1),transparent 36%,transparent 62%,rgba(0,0,0,.34)),url(leather_grain.png);background-size:100% 100%,360px;background-blend-mode:normal,soft-light}
.cv img{width:min(260px,54vw);opacity:0;transition:opacity .3s}
.cv.in{transform:none;pointer-events:all}.cv.in img{opacity:1;transition-delay:.28s}
.cv.out{transform:translateY(-100%)}.cv.rs{transition:none!important}
.arr .cv{transform:none;transition:none}.arr .cv img{opacity:1;transition:none}
#prog{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--mau);transform-origin:0 50%;transform:scaleX(0);z-index:60;pointer-events:none}
#ring{position:fixed;left:0;top:0;width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid var(--mau);border-radius:50%;pointer-events:none;z-index:120;opacity:0;transition:opacity .3s,width .3s,height .3s,margin .3s,background .3s}
#ring.on{opacity:1}#ring.big{width:72px;height:72px;margin:-36px 0 0 -36px;background:rgba(131,97,99,.22)}
@media(hover:none){#ring{display:none}}
nav ul a[aria-current=page]{color:var(--mau);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em}
.wd{display:inline-block;opacity:0;transform:translateY(.55em) rotate(3deg);transition:opacity .8s,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i)*55ms)}
.in .wd,.on .wd{opacity:1;transform:none}
/* page head */
.ph{position:relative;color:var(--ivo);padding:clamp(150px,24vh,250px) 0 clamp(70px,12vh,130px);overflow:hidden;background-color:var(--bur);background-image:linear-gradient(135deg,rgba(255,255,255,.1),transparent 36%,transparent 62%,rgba(0,0,0,.34)),url(leather_grain.png);background-size:100% 100%,360px;background-blend-mode:normal,soft-light}
.ph:before{content:"";position:absolute;inset:0;background:radial-gradient(440px circle at var(--gx,72%) var(--gy,30%),rgba(131,97,99,.5),transparent 70%);pointer-events:none}
.ph .wrap{position:relative}.ph .lab{color:var(--mau)}
.ph h1{font-size:clamp(3.4rem,10vw,9.6rem);line-height:.86;margin:.35em 0 .45em;letter-spacing:-.02em}
.ph h1 .o{color:var(--mau)}
.ph .kn{max-width:29em;font-size:clamp(1.15rem,1.7vw,1.5rem)}
.ph .hand{display:block;margin-top:1.6rem;color:var(--ivo);opacity:.9;transform:rotate(-2deg);width:max-content;max-width:100%}
/* marquee */
.mq{background:var(--oli) var(--grain);color:var(--ivo);overflow:hidden;padding:2rem 0;position:relative;border-block:1px solid rgba(246,244,238,.25)}
.mq .tr{display:flex;width:max-content;will-change:transform}
.mq .tr span{font-family:var(--cabo);font-size:clamp(2.2rem,5.6vw,5rem);line-height:1.05;white-space:nowrap;display:flex;align-items:center;gap:2rem;padding-right:2rem}
.mq .tr i{width:.34em;height:.34em;background:var(--mau);transform:rotate(45deg);flex:none}
/* doors */
.doors{padding:16vh 0 18vh;background:var(--ivo) var(--grain);overflow:hidden}
.doors h2{font-size:clamp(3rem,9vw,8rem);margin:.3em 0 .55em}.doors .lab{color:var(--mau)}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:2.4vw;perspective:1500px}
.door{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(300px,34vw,470px);padding:2rem 2rem 1.8rem;text-decoration:none;color:var(--fg,var(--ivo));overflow:hidden;background-color:var(--bg,var(--bur));
 background-image:linear-gradient(135deg,rgba(255,255,255,.16),transparent 36%,transparent 62%,rgba(0,0,0,.3)),url(leather_grain.png);background-size:100% 100%,360px;background-blend-mode:normal,soft-light;
 transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s ease-out,box-shadow .4s,opacity 1s,translate 1.2s cubic-bezier(.2,.7,.2,1);box-shadow:0 18px 30px rgba(30,5,8,.28);opacity:0;translate:0 60px}
.door.on{opacity:1;translate:0 0}.door:nth-child(even){margin-top:5vw}
.door.pap{background-image:linear-gradient(135deg,rgba(255,255,255,.2),transparent 40%,transparent 66%,rgba(73,23,26,.22)),url(paper_tex.jpg);background-size:100% 100%,cover;background-blend-mode:normal,multiply}
.door:after{content:"";position:absolute;inset:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(246,244,238,.22),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.door:hover:after{opacity:1}.door:hover{box-shadow:0 30px 44px rgba(30,5,8,.4)}
.door .lab{opacity:.75}.door h3{font-size:clamp(2.5rem,5.2vw,4.8rem);margin:.15em 0 .25em}
.door p{font-family:'Knowledge',Georgia,serif;letter-spacing:0;font-size:1.1em;line-height:1.4;max-width:20em}
.door .ar{position:absolute;right:1.5rem;top:1.4rem;width:56px;height:56px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;transition:.45s}
.door .ar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.door:hover .ar{background:var(--ivo);color:var(--bur);transform:rotate(-45deg) scale(1.12)}
/* words we refuse to write */
.clz{background:var(--ivo) var(--grain);padding:6vh 0 18vh}
.clz h2{font-size:clamp(2.8rem,8vw,7.4rem)}.clz h2 em{font-style:normal;color:var(--mau)}
.clz .kn{max-width:26em;margin:1.4rem 0 3.4rem}
.cg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2rem 2vw;align-items:start}
.cl{position:relative;text-align:left;border:0;cursor:pointer;color:var(--bur);font:inherit;padding:1.5rem 1.5rem 1.6rem;background:url(paper_tex.jpg) center/cover;box-shadow:0 8px 14px rgba(30,5,8,.3);transform:rotate(var(--r,0deg));opacity:0;translate:0 40px;transition:opacity .9s,translate 1s cubic-bezier(.2,.7,.2,1),transform .4s,box-shadow .3s}
.cl.on{opacity:1;translate:0 0}.cl:nth-child(3n+1){--r:-1.6deg}.cl:nth-child(3n+2){--r:1.2deg}.cl:nth-child(3n){--r:-.8deg}
.cl:hover{transform:rotate(0) scale(1.03);box-shadow:0 14px 22px rgba(30,5,8,.38)}
.cl:before{content:"";position:absolute;top:-9px;left:50%;width:62px;height:19px;background:rgba(131,97,99,.5);transform:translateX(-50%) rotate(-2deg)}
.cl .q{position:relative;display:inline;font-family:var(--cabo);font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.05}

.cl.x .q{opacity:.6;text-decoration:line-through;text-decoration-thickness:.09em;text-decoration-color:var(--bur)}
.cl .a{display:block;max-height:0;overflow:hidden;opacity:0;font-family:'Knowledge',Georgia,serif;letter-spacing:0;font-size:1.08rem;line-height:1.4;color:var(--mau);transition:max-height .6s,opacity .6s,margin .6s}
.cl.x .a{max-height:7em;opacity:1;margin-top:.8rem}
.cl .a b{font-family:var(--cabo);font-weight:400;font-size:1.3em;color:var(--oli);display:block;line-height:1}
.clc{display:flex;gap:1.4rem;align-items:center;margin-top:3rem;flex-wrap:wrap}.clc .lab{color:var(--mau)}
.clf{max-height:0;overflow:hidden;opacity:0;transition:max-height .8s,opacity .8s;margin-top:0}.clf.on{max-height:240px;opacity:1;margin-top:2.4rem}
.clf p{font-family:var(--cabo);font-size:clamp(2rem,4.4vw,3.8rem);line-height:1;margin-bottom:1.4rem}
/* closing band */
.cta{background-color:var(--bur);color:var(--ivo);padding:18vh 0;text-align:center;overflow:hidden;position:relative;background-image:linear-gradient(135deg,rgba(255,255,255,.1),transparent 36%,transparent 62%,rgba(0,0,0,.34)),url(leather_grain.png);background-size:100% 100%,360px;background-blend-mode:normal,soft-light}
.cta h2{font-size:clamp(3rem,9vw,8.4rem);max-width:10em;margin:0 auto .45em}.cta .kn{max-width:24em;margin:0 auto 2.4rem}.cta .hand{color:var(--ivo);display:block;margin-bottom:2rem}
/* services process */
.proc{background:var(--ivo) var(--grain);padding:16vh 0 18vh}.proc .lab{color:var(--mau)}
.proc h2{font-size:clamp(3rem,8.4vw,7.6rem);margin:.3em 0 .7em;max-width:9em}
.stp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:4vw;align-items:baseline;padding:4.4vh 0;border-top:1px solid rgba(73,23,26,.35);opacity:0;translate:0 40px;transition:opacity .9s,translate 1s cubic-bezier(.2,.7,.2,1)}
.stp.on{opacity:1;translate:0 0}.stp:last-child{border-bottom:1px solid rgba(73,23,26,.35)}
.stp h3{font-size:clamp(2.6rem,6.6vw,6.2rem);transition:transform .5s,color .4s}.stp:hover h3{transform:translateX(1.6vw);color:var(--mau)}
.stp p{font-family:'Knowledge',Georgia,serif;letter-spacing:0;font-size:1.2em;line-height:1.5;max-width:26em}
/* about: what I notice */
.notice{background:var(--ivo) var(--grain);padding:16vh 0}.notice .lab{color:var(--mau)}.notice h2{font-size:clamp(3rem,8vw,7.4rem);margin:.3em 0 .6em;max-width:9em}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4vw}
.tile{display:block;width:100%;perspective:1000px;background:none;border:0;color:inherit;font:inherit;text-align:left;aspect-ratio:4/5;cursor:pointer;opacity:0;translate:0 40px;transition:opacity .9s,translate 1s cubic-bezier(.2,.7,.2,1)}
.tile.on{opacity:1;translate:0 0}
.tile .fl{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.3,.7,.2,1)}
.tile .f,.tile .bk2{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;box-shadow:0 14px 24px rgba(30,5,8,.3)}
.tile .f{color:var(--ivo);background-color:var(--bg);background-image:linear-gradient(135deg,rgba(255,255,255,.16),transparent 36%,transparent 62%,rgba(0,0,0,.3)),url(leather_grain.png);background-size:100% 100%,360px;background-blend-mode:normal,soft-light}
.tile .f b{font-family:var(--cabo);font-weight:400;font-size:clamp(3rem,5.6vw,5.4rem);line-height:.9}.tile .f span{opacity:.75;margin-top:.8rem}
.tile .bk2{display:flex;transform:rotateY(180deg);background:url(paper_tex.jpg) center/cover;color:var(--bur)}
.tile .bk2 p{font-family:'Knowledge',Georgia,serif;letter-spacing:0;font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.4}.tile .bk2 .hand{margin-bottom:auto;font-size:2rem}
@media(hover:hover){.tile:hover .fl{transform:rotateY(180deg)}}.tile.tp .fl{transform:rotateY(180deg)}
/* archive */
.arch.pg{padding:8vh 0 16vh}.fil{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:6vh}
.chip{padding:.8rem 1.1rem;border:1px solid var(--bur);background:none;color:var(--bur);font:inherit;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:.25s}
.chip:hover{background:var(--oli);border-color:var(--oli);color:var(--ivo)}.chip[aria-pressed=true]{background:var(--bur);color:var(--ivo)}
.grid.flt{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:3vw}.grid.flt .pl{grid-column:auto;margin-top:0}.pl[hidden]{display:none}
#fnote{margin-top:3vh;color:var(--mau)}
.wall{margin:12vh auto 0;max-width:640px;padding:3.4rem 3.2rem 4rem;color:var(--bur);text-align:center;transform:rotate(-1.4deg)}.wall h3{font-size:clamp(2.2rem,4.4vw,3.6rem);margin-bottom:1rem}.wall p{margin-bottom:1.6rem;font-family:'Knowledge',Georgia,serif;letter-spacing:0;font-size:1.15em}
/* contact */
.contact.pg{padding:10vh 0 16vh}.contact .sch{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}
.sch button{padding:.75rem 1rem;border:1px solid var(--bur);background:none;color:var(--bur);font:inherit;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.25s}
.sch button:hover{background:var(--oli);border-color:var(--oli);color:var(--ivo)}.sch button[aria-pressed=true]{background:var(--bur);border-color:var(--bur);color:var(--ivo)}
.fld{display:grid;gap:.3rem}.contact .dets p{margin-bottom:.6rem}.contact .dets .btn{margin-top:1.4rem}.contact .dets .lab{color:var(--mau);margin-bottom:.2rem}
.contact .kn.big{font-size:clamp(1.4rem,2.2vw,2rem);max-width:20em;margin-bottom:2.4rem}
/* footer canvas */
#mark{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}footer .wrap{position:relative;z-index:2}footer .hint2{display:block;margin-top:.4rem;color:var(--mau);font-family:var(--cabo);font-size:1.5rem;transform:rotate(-2deg);width:max-content}
footer .lm,footer .mk{cursor:crosshair}
/* why page */
.why.pg{padding-top:0}
@media(max-width:800px){.dgrid{grid-template-columns:1fr}.door:nth-child(even){margin-top:0}.cg{grid-template-columns:1fr}.stp{grid-template-columns:1fr;gap:1rem}.tiles{grid-template-columns:1fr}.tile{aspect-ratio:5/3}.wall{padding:2.4rem 1.6rem 3rem}
 .cv,.ph,.cta,.door:not(.pap),.tile .f{background-image:linear-gradient(135deg,rgba(255,255,255,.14),transparent 34%,transparent 62%,rgba(0,0,0,.34)),url(leather_fine.png);background-size:100% 100%,230px}
 .mq{padding:1.4rem 0}}
@media(prefers-reduced-motion:reduce){.wd,.door,.cl,.tile,.stp{opacity:1!important;translate:none!important;transform:none!important}.cl .a{opacity:1}}

/* hero: the new eagle photograph, with a gentle ambient glide */
.hero .bg{background:url(hero_eagle_photo.jpg) 56% center/cover;transform:translate3d(var(--mx,0),var(--py,0),0) scale(var(--sc,1.02)) rotate(var(--rt,0deg));animation:glide 11s ease-in-out infinite}
@keyframes glide{0%,100%{translate:0 0}50%{translate:-10px -14px}}
.hero:after{background:linear-gradient(90deg,rgba(30,5,8,.62),rgba(30,5,8,.12) 60%,rgba(30,5,8,0)),linear-gradient(180deg,rgba(30,5,8,.35),transparent 28%,transparent 62%,rgba(30,5,8,.7))}
@media(max-width:800px){.hero .bg{background-position:58% center}.hero:after{background:linear-gradient(180deg,rgba(30,5,8,.4),rgba(30,5,8,.1) 30%,rgba(30,5,8,.55) 62%,rgba(30,5,8,.88))}}
@media(min-width:801px){.hero h1{font-size:clamp(2.2rem,7vw,7.8rem)}.hero .bg{transform-origin:70% 50%}}

/* marquee: small, airy, round dots */
.mq{padding:1.5rem 0}
.mq .tr span{font-size:clamp(1.1rem,1.7vw,1.5rem);gap:4.5rem;padding-right:4.5rem;letter-spacing:.02em}
.mq .tr i{width:.45rem;height:.45rem;border-radius:50%;transform:none;background:var(--ivo);opacity:.85}
@media(max-width:800px){.mq{padding:1.1rem 0}.mq .tr span{font-size:1.05rem;gap:2.6rem;padding-right:2.6rem}}

/* hero photo v3: desktop + mobile crops */
.hero .bg{background:url(hero_d.jpg) 62% center/cover}
.hero:after{background:linear-gradient(90deg,rgba(30,5,8,.6),rgba(30,5,8,.1) 55%,rgba(30,5,8,0)),linear-gradient(180deg,rgba(30,5,8,.3),transparent 28%,transparent 65%,rgba(30,5,8,.6))}
@media(max-width:800px){.hero .bg{background:url(hero_m.jpg) 50% 20%/cover}}
@media(max-width:800px){.hero .bg{background:#2a0a0e url(hero_m.jpg) 50% 0/100% auto no-repeat}.hero:after{background:linear-gradient(180deg,rgba(30,5,8,.35),rgba(30,5,8,0) 25%,rgba(30,5,8,.15) 45%,rgba(30,5,8,.85) 68%,rgba(30,5,8,.95))}}
@media(max-width:800px){.hero .bg{inset:-15% -3% -4%;background:url(hero_m.jpg) 50% 0/cover}}
@media(max-width:800px){.hero .bg{inset:-34% -3% -4%}}
@media(max-width:800px){.hero .bg{inset:-3% -3%;background:#2a0a0e url(hero_m.jpg) 85% 112%/auto 128% no-repeat}}
@media(min-width:801px){nav ul a{font-family:'Knowledge',Georgia,serif;font-size:1.02rem;letter-spacing:0;text-transform:none}nav ul a::first-letter,nav ul a .w{font-size:1em}nav ul a .w{font-weight:400}
nav ul a.navbtn{font-family:var(--cabo);font-size:1.15rem;letter-spacing:0;text-transform:lowercase;padding:.4rem 1.4rem .5rem;line-height:1.1}}
/* ================= clean pass: light, airy, rounded; mauve leads ================= */
:root{--grain:none;--g1:linear-gradient(135deg,#836163 0%,#49171A 120%);--g2:linear-gradient(135deg,#F6F4EE 0%,#e4d7d2 130%);--r:28px}
body{background:var(--ivo);color:var(--bur)}
/* buttons: curved, gradient, olive on hover */
.btn,.chip,.sch button{border-radius:999px;padding:1rem 2rem}
.btn{border:0;background:var(--g1);color:var(--ivo);box-shadow:0 8px 18px rgba(73,23,26,.22);transition:transform .3s,box-shadow .3s,background .3s}
.btn.b{background:var(--g1);color:var(--ivo)}
.btn.f{background:var(--g2);color:var(--bur)}
.btn:hover,.btn.f:hover,.btn.b:hover{background:var(--oli);color:var(--ivo);box-shadow:0 12px 24px rgba(101,100,52,.35);transform:translateY(-2px)}
.hero .btn:not(.f){background:rgba(246,244,238,.14);border:1px solid rgba(246,244,238,.7);box-shadow:none;color:var(--ivo)}
.hero .btn:not(.f):hover{background:var(--oli);border-color:var(--oli)}
.chip,.sch button{background:transparent;border:1px solid var(--mau);color:var(--bur);box-shadow:none}
.chip[aria-pressed=true],.sch button[aria-pressed=true]{background:var(--g1);border-color:transparent;color:var(--ivo)}
.chip:hover,.sch button:hover{background:var(--oli);border-color:var(--oli);color:var(--ivo)}
/* nav */
nav{background:rgba(246,244,238,.96);box-shadow:0 1px 0 rgba(131,97,99,.18)}nav.lt{background:transparent;box-shadow:none}nav.dk{background:var(--bur)}
@media(min-width:801px){nav ul{align-items:center}nav ul a.navbtn{padding:.55rem 1.3rem;border-radius:999px;background:var(--g1);color:var(--ivo)!important;font-size:.8em;letter-spacing:.1em;text-transform:uppercase;transition:.3s}nav ul a.navbtn:hover{background:var(--oli)}nav ul a.navbtn::first-letter{font-size:1em}}
@media(max-width:800px){nav ul{background:var(--g1)}}
/* page heads: clean ivory */
.ph{background:var(--ivo);color:var(--bur);background-image:none}
.ph:before{background:radial-gradient(520px circle at var(--gx,72%) var(--gy,30%),rgba(131,97,99,.16),transparent 70%)}
.ph .lab{color:var(--mau)}.ph h1 .o{color:var(--mau)}.ph .hand{color:var(--mau)}
/* marquee */
.mq{background:var(--g1);border:0}.mq .tr i{background:var(--ivo)}
/* doors */
.door{border-radius:var(--r);background-image:none;background:var(--bg);box-shadow:0 14px 30px rgba(73,23,26,.16)}
.door.pap{background:var(--g2);box-shadow:0 14px 30px rgba(73,23,26,.12),inset 0 0 0 1px rgba(131,97,99,.4)}
.door:hover .ar{background:var(--ivo);color:var(--mau)}
.doors,.clz,.proc,.notice,.arch,.contact{background:var(--ivo)}
/* cliché notes */
.cl{background:var(--ivo);border-radius:22px;box-shadow:0 10px 24px rgba(73,23,26,.12),inset 0 0 0 1px rgba(131,97,99,.45)}.cl:before{display:none}
.cl:hover{box-shadow:0 14px 28px rgba(73,23,26,.2),inset 0 0 0 1px var(--mau)}
/* closing band: a rounded panel */
.cta{background:var(--ivo);padding:6vh 0 14vh}
.cta .wrap{max-width:1300px}.cta .box{border-radius:calc(var(--r)*1.4);padding:clamp(3.4rem,10vh,8rem) 6vw;background:var(--g1);box-shadow:0 24px 50px rgba(73,23,26,.25);position:relative;overflow:hidden}
.cta .box:before{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at 85% 0%,rgba(246,244,238,.2),transparent 60%)}
.cta .box>*{position:relative}
/* tiles */
.tile .f,.tile .bk2{border-radius:var(--r)}.tile .f{background:var(--bg);background-image:linear-gradient(135deg,rgba(255,255,255,.14),transparent 50%,rgba(0,0,0,.18))}
.tile .bk2{background:var(--g2);box-shadow:0 14px 24px rgba(73,23,26,.16),inset 0 0 0 1px rgba(131,97,99,.4)}
/* about */
.about{background:var(--ivo);color:var(--bur)}
.about .frame:before{background:radial-gradient(closest-side,rgba(131,97,99,.4),rgba(131,97,99,.14) 55%,transparent 100%)}
.about .lab{color:var(--mau)}.about p.b{color:var(--mau)}
/* why page */
.why{background:var(--ivo);color:var(--bur)}
.why .kick,.why .e4 .card{border-radius:var(--r);transform:none}
.pp:before{display:none}
.why .kick{background:var(--g1);color:var(--ivo);box-shadow:0 20px 40px rgba(73,23,26,.25)}.why .kick .hand{color:var(--ivo)}
.why .e4 .card{background:var(--g2);box-shadow:0 14px 30px rgba(73,23,26,.14),inset 0 0 0 1px rgba(131,97,99,.4)}
.ent h3{color:var(--bur)}.e1 h3{color:var(--mau)}.e3 h3{color:var(--mau)}
.e2 .pho{transform:none;border-radius:var(--r);overflow:hidden}.e2 .pho:before{-webkit-mask:none;mask:none;border-radius:var(--r);filter:none}.e2 .pho:after{display:none}
/* eagle chapter: clean ivory stage, no torn paper */
.ec{background:var(--ivo)}.ec-pin{background:var(--ivo)}.ec .desk,.ec .sheet{display:none}.ec .chap{color:var(--mau)}
.note{background:var(--ivo);border-radius:20px;box-shadow:0 10px 24px rgba(73,23,26,.14),inset 0 0 0 1px rgba(131,97,99,.45)}.note:before{display:none}
.note.d{background:var(--g1);color:var(--ivo);box-shadow:0 12px 26px rgba(73,23,26,.25)}
.plate .al{fill:#836163}
/* services puzzle: flat, no leather */
.svc{background:var(--ivo)}.svc:before{display:none}
.lea{background-image:linear-gradient(135deg,#9a7678,#836163 45%,#6c4a4d)!important;background-color:var(--mau)}
.bk{background-image:linear-gradient(135deg,rgba(255,255,255,.14),transparent 45%,rgba(0,0,0,.14))!important}
.bk.pap{background-image:linear-gradient(135deg,#fff8,transparent 50%,rgba(131,97,99,.12))!important}
/* archive */
.pl .art{border-radius:var(--r);background:var(--g1)}.pl .art:after{background:var(--ivo)}.p2 .art,.p5 .art{background:var(--oli)}.p3 .art{background:var(--bur)}
.wall{border-radius:var(--r);background:var(--g1);color:var(--ivo);transform:none;box-shadow:0 20px 40px rgba(73,23,26,.25)}.wall .btn.b{background:var(--g2);color:var(--bur)}.wall .btn.b:hover{background:var(--oli);color:var(--ivo)}
dialog{border-radius:var(--r)}
/* forms */
input,select,textarea{border:1px solid rgba(131,97,99,.55);border-radius:16px;padding:.8rem 1rem;background:#fff4;transition:border-color .3s,box-shadow .3s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--mau);box-shadow:0 0 0 3px rgba(131,97,99,.22)}
/* footer & curtain */
footer{background:var(--g1)}.cv{background:var(--g1)}
.soc a{border-radius:50%}
@media(max-width:800px){.cv,.ph,.cta,.door:not(.pap),.tile .f{background-image:none}.door:not(.pap){background:var(--bg)}.cv{background:var(--g1)}.cta .box{padding:3.4rem 1.6rem}}
@media(min-width:801px){nav ul a{font-family:'Knowledge',Georgia,serif;font-size:1.02rem;letter-spacing:0;text-transform:none}
nav ul a.navbtn{font-family:var(--cabo);font-size:1.15rem;letter-spacing:0;text-transform:none;padding:.4rem 1.4rem .5rem;line-height:1.1}}
/* logo key: one calm fade-in, no flicker */
@keyframes kflash{from{opacity:0}to{opacity:1}}
.unf.on .ky{animation:kflash 1.6s .4s ease-out both}
.flock h2{font-size:clamp(2.4rem,6.2vw,6.8rem)}
@media(max-width:800px){.flock h2{font-size:15vw}.flock h2 em{font-size:.5em}}
@media(max-width:800px){.doors h2{font-size:20vw}}
.doors .door .lab{color:inherit;opacity:.9;font-size:.85rem}
@media(min-width:801px){.cta .kn{max-width:none;white-space:nowrap}}
/* ornamental frame on the closing panel: sits in the corners, never over the words */
.cta .box>.fr{position:absolute;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;opacity:.5}
.cta .box>.fr:before{content:none}
.fr.tl{left:2.2%;top:4%;width:min(24%,300px);aspect-ratio:379/254;background-image:url(fr_tl.png)}
.fr.tr{right:2.2%;top:4%;width:min(24%,310px);aspect-ratio:396/254;background-image:url(fr_tr.png)}
.fr.bl{left:2.2%;bottom:4%;width:min(24%,300px);aspect-ratio:378/273;background-image:url(fr_bl.png)}
.fr.br{right:2.2%;bottom:4%;width:min(24%,310px);aspect-ratio:396/273;background-image:url(fr_br.png)}
.fr.tc{left:50%;top:5%;width:min(30%,330px);aspect-ratio:410/45;transform:translateX(-50%);background-image:url(fr_tc.png)}
.fr.bc{left:50%;bottom:5%;width:min(30%,330px);aspect-ratio:410/43;transform:translateX(-50%);background-image:url(fr_bc.png)}
.cta .box{padding-top:clamp(5rem,16vh,9rem);padding-bottom:clamp(5rem,16vh,9rem)}
@media(max-width:800px){.cta .box{padding:6.2rem 1.4rem}.fr.tl,.fr.tr,.fr.bl,.fr.br{width:30%}.fr.tc,.fr.bc{width:40%}}
/* footer logo: the full-colour mark on an ivory plate */
.flogo{background:var(--ivo);border-radius:var(--r);padding:clamp(1.4rem,2.4vw,2.2rem);width:min(100%,360px);box-shadow:0 18px 36px rgba(30,5,8,.3)}
.flogo img{width:100%;height:auto}
footer .cols{grid-template-columns:1.6fr 1fr 1fr 1fr}
@media(max-width:800px){.flogo{width:min(100%,300px)}footer .cols{grid-template-columns:1fr 1fr}footer .cols>div:first-child{grid-column:1/-1}}
.flogo{width:min(100%,460px)}footer .cols{grid-template-columns:2fr 1fr 1fr 1fr}
@media(max-width:800px){.flogo{width:min(100%,360px)}}
.flogo{background:none;box-shadow:none;border-radius:0;padding:0;width:min(100%,250px)}
@media(max-width:800px){.flogo{width:min(100%,220px)}}
@media(max-width:800px){footer .cols{grid-template-columns:1fr 1fr}footer .cols>div:first-child{grid-column:1/-1}}
.soc{gap:.9rem}.soc a{width:50px;height:50px;border:0;border-radius:50%;background:none;overflow:visible;transition:transform .3s,filter .3s}
.soc a img{width:100%;height:100%;display:block}
.soc a:hover{background:none;transform:translateY(-4px) scale(1.08);filter:drop-shadow(0 6px 10px rgba(30,5,8,.35))}
.soc{gap:.6rem}.soc a{width:30px;height:30px}
.flogo{width:min(100%,330px)}@media(max-width:800px){.flogo{width:min(100%,280px)}}
footer .lm{margin-bottom:.2rem}
footer .hint2{margin:0 0 0 .3rem;font-size:clamp(2rem,3.4vw,3rem);color:var(--ivo);opacity:.85;line-height:1.1;transform:rotate(-2deg)}
footer .hint2{margin-left:min(22vw,20rem)}@media(max-width:800px){footer .hint2{margin-left:2.4rem}}
footer .cols,footer .cols .lab,footer small,footer .cols a{font-family:'Knowledge',Georgia,serif;text-transform:none;letter-spacing:0}
footer .cols{font-size:1.05rem;line-height:1.6}footer .cols .lab{font-size:1.05rem;opacity:.7;margin-bottom:.3rem}footer .cols li{margin-bottom:.15rem}footer small{font-size:.95rem}
@media(max-width:800px){footer .cols>ul:last-child{grid-column:1/-1}}
footer .cols>div:first-child{display:flex;flex-direction:column;align-items:center}
footer .cols>div:first-child .soc{justify-content:center}

/* dashboard */
.dash{padding:8vh 0 4vh;background:var(--ivo)}
.dcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4vw;margin-bottom:12vh}
.dcard{border-radius:var(--r);padding:2.2rem 2rem 2.4rem;background:var(--g2);box-shadow:0 14px 30px rgba(73,23,26,.12),inset 0 0 0 1px rgba(131,97,99,.4);transition:transform .35s,box-shadow .35s}
.dcard:nth-child(1){background:var(--g1);color:var(--ivo)}.dcard:nth-child(2){background:var(--oli);color:var(--ivo)}
.dcard:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(73,23,26,.22)}
.dcard h3{font-size:clamp(2.6rem,4.4vw,4.2rem);margin-bottom:.6rem}
.dcard p{font-family:'Knowledge',Georgia,serif;letter-spacing:0;font-size:1.15rem;line-height:1.45}
.login{display:grid;grid-template-columns:5fr 6fr;gap:6vw;align-items:center;border-radius:calc(var(--r)*1.3);padding:clamp(2rem,5vw,4.4rem);background:var(--ivo);box-shadow:0 20px 44px rgba(73,23,26,.14),inset 0 0 0 1px rgba(131,97,99,.4)}
.login .lab{color:var(--mau)}.login h2{font-size:clamp(2.8rem,6vw,5.6rem);margin:.3em 0 .4em}
.login form{display:grid;gap:1.2rem}.login .btn{justify-self:start}
@media(max-width:800px){.dcards{grid-template-columns:1fr}.login{grid-template-columns:1fr;gap:2rem}}
#lf,#lf label,#lf input,#lf .btn,#lf .msg{font-family:'Knowledge',serif;font-weight:400;font-style:normal}
footer small{text-align:center}
footer .cols li.lab{display:inline-block;align-self:start;width:fit-content;padding:.5rem 1.3rem;margin:0 0 1rem;border-radius:999px;background:var(--ivo);color:var(--bur);opacity:1;text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;line-height:1.2;cursor:default;pointer-events:none;box-shadow:0 6px 16px rgba(0,0,0,.18)}
footer .cols>ul{text-align:center;padding:0}
footer .cols>ul li.lab{display:block;margin-left:auto;margin-right:auto}
footer .cols>ul li.lab{width:fit-content}
footer .cols a[href^="mailto"]{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
@media(max-width:420px){footer .cols a[href^="mailto"]{font-size:.98rem}}
@media(max-width:800px){
footer .cols>div:first-child{display:contents}
footer .cols>div:first-child .flogo{grid-column:1/-1;order:0;justify-self:center;margin-bottom:1.6rem}
footer .cols>ul:nth-of-type(1),footer .cols>ul:nth-of-type(2){order:1}
footer .cols>ul:last-child{order:2}
footer .cols>div:first-child .soc{grid-column:1/-1;order:3;justify-content:center;margin-top:2.4rem}
}
@media(max-width:800px){.hero .bg{inset:-5% -8% -12%;background:#1e0508 url(hero_m.jpg) 80% 272%/auto 108% no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 58%,transparent 84%);mask-image:linear-gradient(180deg,#000 0,#000 58%,transparent 84%)}}
.tile .f .lab{color:var(--ivo);opacity:.92;font-size:.95rem;letter-spacing:.18em}
@media(max-width:800px){.cta h2.two{font-size:min(9.6vw,3.6rem);line-height:1.15}}

/* photography plate: one gallery */
.pl.gal{grid-column:1/-1!important;margin-top:4vh;cursor:default}.pl.gal .lab{margin-bottom:1.2rem}
.pl.gal .mos{column-count:3;column-gap:1rem}
.pl.gal .gi{display:block;width:100%;margin:0 0 1rem;padding:0;border:0;background:var(--g1);border-radius:var(--r);overflow:hidden;cursor:zoom-in;break-inside:avoid}
.pl.gal .gi img{display:block;width:100%;height:auto;transition:transform .6s}.pl.gal .gi:hover img{transform:scale(1.04)}
dialog#lb{max-width:min(1100px,94vw);width:auto;padding:.8rem;background:transparent;overflow:visible}dialog#lb img{display:block;max-width:100%;max-height:88vh;margin:auto;object-fit:contain;border-radius:var(--r)}
dialog#lb form .btn{position:absolute;top:-3.4rem;right:0;float:none!important}
.lbp,.lbx{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;padding:0;font-size:1.8rem;line-height:1;display:grid;place-items:center}.lbp{left:1.2rem}.lbx{right:1.2rem}
@media(max-width:800px){.pl.gal .mos{column-count:2;column-gap:.7rem}.pl.gal .gi{margin-bottom:.7rem}.lbp{left:.4rem}.lbx{right:.4rem}.lbp,.lbx{width:2.6rem;height:2.6rem}}
dialog#lb .lbp,dialog#lb .lbx{top:calc(50% - 1.5rem);transform:none!important;background:var(--ivo)!important;color:var(--bur)!important;box-shadow:0 2px 10px rgba(0,0,0,.25);margin:0}
@media(max-width:800px){dialog#lb .lbp,dialog#lb .lbx{top:calc(50% - 1.3rem)}}
/* lightbox v2: ivory panel, pink controls */
dialog#lb{background:var(--ivo)!important;padding:4.6rem 1.2rem 1.2rem!important;border-radius:var(--r);overflow:visible}
dialog#lb form .btn{top:1rem!important;right:1.2rem!important}
dialog#lb img{max-height:80vh}
dialog#lb .lbp,dialog#lb .lbx{width:3.6rem;height:3.6rem;font-size:2.8rem;font-weight:700;padding:0 0 .35rem;background:#836163!important;color:var(--ivo)!important;top:calc(50% + 1.5rem - 1.8rem)}
dialog#lb .lbp{left:2rem}dialog#lb .lbx{right:2rem}
@media(max-width:800px){dialog#lb{padding:4.2rem .7rem .7rem!important}dialog#lb form .btn{top:.8rem!important;right:.8rem!important}dialog#lb .lbp,dialog#lb .lbx{width:3rem;height:3rem;font-size:2.3rem;top:calc(50% + 1.4rem - 1.5rem)}dialog#lb .lbp{left:1.3rem}dialog#lb .lbx{right:1.3rem}}
dialog#lb .lbp svg,dialog#lb .lbx svg{width:2rem;height:2rem;display:block}dialog#lb .lbp,dialog#lb .lbx{padding:0!important}
dialog#lb form .btn{padding:.6rem 1.1rem!important;font-size:.68rem!important;letter-spacing:.16em!important;line-height:1.2;box-shadow:0 4px 10px rgba(73,23,26,.2)!important}
dialog#lb{padding-top:3.6rem!important}
@media(max-width:800px){dialog#lb{padding-top:3.3rem!important}dialog#lb form .btn{padding:.5rem .9rem!important;font-size:.64rem!important}}

/* galleries v3 */
.pl.gal{margin-top:7vh}.pl.gal:first-of-type{margin-top:0}
.pl.gal .gi.tall{aspect-ratio:3/4}.pl.gal .gi.tall img{height:100%;object-fit:cover;object-position:top}
.pl.gal .mos.one{column-count:1;max-width:min(760px,100%)}
@media(max-width:800px){.pl.gal .mos.one{max-width:100%}}
#lbw{max-height:80vh;overflow:auto;border-radius:var(--r);-webkit-overflow-scrolling:touch}
dialog#lb #lbw img{max-height:none;max-width:100%;width:auto;height:auto;margin:auto}
dialog#lb:not(.tall) #lbw img{max-height:80vh}
dialog#lb.tall{width:min(720px,94vw)}dialog#lb.tall #lbw img{width:100%}

/* frame artwork on the Work page closing card */
.wall{position:relative;overflow:hidden;max-width:760px;padding:clamp(5rem,12vh,7rem) 2rem!important}
.wall>.fr{position:absolute;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;opacity:.5}
.wall>h3,.wall>p,.wall>.btn{position:relative}
@media(max-width:800px){.wall{padding:6rem 1.4rem!important}}

/* why: beliefs grid */
.why .bels{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem;padding:12vh 0 14vh}
.why .bel{border-top:1.5px solid rgba(131,97,99,.55);padding-top:1.4rem}
.why .bel .lab{color:var(--mau);margin-bottom:1.6rem}
.why .bel h3{margin-bottom:.9rem}
.why .bel p:last-child{opacity:.85}
@media(max-width:1000px){.why .bels{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.why .bels{grid-template-columns:1fr;gap:2rem;padding:8vh 0 10vh}}
.why .bel p:last-child{font-size:clamp(.9rem,1.05vw,1.02rem);line-height:1.7}
.why .bel h3{font-size:clamp(1.5rem,2vw,1.9rem)}
.why .bel p:last-child{font-family:'Knowledge',Georgia,serif;text-transform:none;letter-spacing:0;font-size:clamp(1.05rem,1.25vw,1.2rem);line-height:1.55}
/* why: centred, longer intro; Knowledge font for body copy */
.why .kick{max-width:900px;margin:0 auto;transform:none;text-align:center;padding:3.6rem clamp(1.6rem,6vw,5rem) 3.8rem}
.why .kick p:not(.hand),.why .note,.why .mcap .note,.mean p:not(.hand),.why .cta .kn{font-family:'Knowledge',Georgia,serif;text-transform:none;letter-spacing:0}
.why .kick p:not(.hand){font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.6}
.ec .note,.mean p:not(.hand){font-family:'Knowledge',Georgia,serif;text-transform:none;letter-spacing:0}
.ec .note{font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.35}
.plate .al,.plate .at{font-family:'Knowledge',Georgia,serif;letter-spacing:0}
