:root{--black:#11110f;--cream:#eee7d8;--gold:#d4b477;--line:#ffffff26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--black);color:var(--cream);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px 4%;background:linear-gradient(#11110fee,#11110f00);transition:background .3s}header.scrolled{background:#11110ff5;border-bottom:1px solid var(--line)}.brand{font:800 38px/.8 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px}.brand span{display:block;font:500 10px/1.5 'DM Sans',sans-serif;letter-spacing:2px;margin-top:8px}nav{display:flex;gap:36px;font-size:14px}nav a:hover{color:var(--gold)}.book{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:19px 23px;background:var(--gold);color:#171511;font-size:14px;font-weight:600;transition:background .25s,transform .25s}.book:hover{background:#eed7ab;transform:translateY(-3px)}.book span{font-size:24px;line-height:1}.book.small{padding:13px 18px}.scroll-story{height:260vh}.story-stage{position:sticky;top:0;height:100svh;min-height:680px;overflow:hidden;background:#080808}.portrait,.craft-image,.scrim{position:absolute;inset:0}.portrait{left:28%;}.portrait img,.craft-image img{width:100%;height:100%;object-fit:cover}.portrait img{object-position:center 30%}.craft-image{opacity:0}.craft-image img{object-position:center 40%}.scrim{background:linear-gradient(90deg,#080808 0%,#080808a8 25%,transparent 65%),linear-gradient(0deg,#080808cc,transparent 48%)}.topline{position:absolute;top:125px;left:4%;right:4%;display:flex;justify-content:space-between;font:12px 'DM Mono',monospace;letter-spacing:1px;color:#ded9ce}.chapter{position:absolute;left:7%;bottom:100px;right:5%;}.eyebrow{font:12px/1.6 'DM Mono',monospace;letter-spacing:1.5px;margin:0 0 24px;color:var(--gold)}.rule{display:inline-block;width:30px;height:1px;background:var(--gold);vertical-align:middle;margin-right:10px}h1{font:800 clamp(100px,12.7vw,205px)/.8 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.025em;margin:0 0 35px;}.outline{color:transparent;-webkit-text-stroke:1.5px var(--gold)}.hero-bottom{display:flex;align-items:center;gap:38px}.hero-bottom p,.second>p:last-child{font-size:16px;line-height:1.7;color:#ddd8ce}.second{opacity:0;pointer-events:none}.second h2{font:700 clamp(76px,9vw,145px)/.9 'Barlow Condensed',Impact,sans-serif;margin:0 0 28px}.second h2 em{font:italic .84em/.95 Georgia,serif;color:var(--gold)}.stage-bottom{position:absolute;bottom:29px;left:4%;right:4%;display:flex;justify-content:space-between;font:11px 'DM Mono',monospace;letter-spacing:1.3px}.progress{position:absolute;bottom:0;height:3px;background:#ffffff20;width:100%}.progress i{display:block;height:100%;width:0;background:var(--gold)}.about,.visit,footer{padding:36px 7% 90px}.about{background:var(--cream);color:var(--black)}.section-label{display:flex;justify-content:space-between;border-bottom:1px solid currentColor;padding:0 0 20px;font:12px 'DM Mono',monospace;letter-spacing:1px}.about-grid{display:grid;grid-template-columns: .9fr 1.1fr;align-items:center;gap:10%;padding-top:75px}.logo-frame{width:100%;max-width:380px;aspect-ratio:1/1.08;overflow:hidden;position:relative;transform:rotate(-5deg);box-shadow:10px 18px 0 #11110f12}.logo-frame img{position:absolute;width:159%;max-width:none;left:-20%;top:-20%}.about-copy .eyebrow{color:#76603a}.about-copy h2{font:600 clamp(45px,5vw,78px)/1 'Barlow Condensed',sans-serif;letter-spacing:-.02em;margin:0 0 30px}.about-copy h2 em{font-family:Georgia,serif;font-weight:400;font-size:.82em}.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:440px}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid;padding:20px 0 10px;font-size:14px}.ticker{overflow:hidden;background:var(--gold);color:var(--black);border-top:1px solid #111; border-bottom:1px solid #111;padding:16px 0}.ticker div{width:max-content;font:600 54px/.95 'Barlow Condensed',sans-serif;animation:marquee 45s linear infinite}@keyframes marquee{to{transform:translateX(-40%)}}.visit{padding-top:40px;padding-bottom:100px}.visit-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-top:75px}.visit h2{font:700 clamp(60px,7.5vw,115px)/.9 'Barlow Condensed',sans-serif;margin:0 0 38px}.visit h2 em{font:italic .9em Georgia,serif;color:var(--gold)}.booking-note{font-size:13px;color:#aaa69c;margin-top:16px}.hours h3{margin:0 0 22px;font-size:19px;font-weight:500}.hours dl{margin:0}.hours dl>div{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font-size:15px;gap:20px}.hours dd{margin:0;text-align:right}.hours dd span{display:inline-block;margin-left:20px;min-width:67px}.hours .closed{color:#aaa69c}footer{background:#1d1e1a;padding-bottom:27px}.contact{display:flex;justify-content:space-between;gap:24px;padding:50px 0 70px}.contact a{font-size:clamp(20px,2.5vw,36px)}.contact span{color:var(--gold);margin-left:20px}.footer-name{display:block;white-space:nowrap;font:700 12.1vw/.85 'Barlow Condensed',sans-serif;letter-spacing:-.025em}.footer-name span{font:400 2vw sans-serif;vertical-align:top}.footer-base{display:flex;justify-content:space-between;margin-top:45px;font:11px 'DM Mono',monospace;letter-spacing:1px;color:#b6b5aa}.skip{position:fixed;top:-100px;z-index:100;background:var(--gold);color:#111;padding:18px}.skip:focus{top:0}
@media(min-width:1600px){.portrait{left:35%}.chapter{bottom:12vh}}@media(max-width:760px){header{padding:17px 5%}.brand{font-size:31px}nav{display:none}.book.small{font-size:13px;padding:12px 14px}.story-stage{min-height:690px}.topline{top:110px;font-size:10px;left:5%;right:5%}.topline span:first-child{max-width:180px}.portrait{left:0}.portrait img{object-position:60% 20%}.scrim{background:linear-gradient(0deg,#080808 0%,#080808cc 30%,transparent 80%)}.chapter{left:6%;right:6%;bottom:80px}h1{font-size:clamp(100px,24vw,170px);margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:1px;margin-bottom:20px}.hero-bottom{display:block}.hero-bottom p{font-size:15px;line-height:1.6;margin-bottom:20px}.hero-bottom .book{padding:16px 20px}.stage-bottom{font-size:9px;left:6%;right:6%}.second h2{font-size:24vw}.about,.visit,footer{padding-left:6%;padding-right:6%}.section-label{font-size:10px}.about-grid,.visit-grid{grid-template-columns:1fr;gap:55px;padding-top:50px}.logo-frame{max-width:260px;margin:auto}.about-copy h2{font-size:53px}.about-copy>p:not(.eyebrow){font-size:17px}.visit h2{font-size:80px}.visit{padding-bottom:65px}.hours dl>div{font-size:14px}.hours dd span{margin-left:14px}.contact{flex-direction:column;padding:35px 0 55px}.contact a{font-size:25px}.footer-name{font-size:12.4vw}.footer-base{font-size:9px}.ticker div{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.scroll-story{height:auto}.story-stage{position:relative}.second{display:none}.portrait{transform:none!important}}
/* Client portfolio */
.gallery{padding:36px 7% 85px;background:#11110f}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:55px 0 45px}.gallery-heading h2{font:700 clamp(64px,7vw,110px)/.88 'Barlow Condensed',sans-serif;margin:0}.gallery-heading h2 em{font:italic .76em/1.2 Georgia,serif;color:var(--gold)}.gallery-heading>p{font-size:16px;line-height:1.7;color:#bbb7ad;margin:0 0 8px}.cut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}.cut{margin:0;overflow:hidden}.cut img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#080808;transition:filter .3s}.cut figcaption{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;font:11px 'DM Mono',monospace;letter-spacing:1px;color:#b9b3a7}.cut figcaption span:last-child{color:var(--gold)}.more-cuts{margin-top:35px}.more-cuts summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;border:1px solid #d4b47766;padding:19px 22px;font-size:15px;color:var(--gold)}.more-cuts summary::-webkit-details-marker{display:none}.more-cuts summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.more-cuts summary:hover{background:#d4b47712}.more-cuts summary>span:last-child{font-size:25px;line-height:1;transition:transform .2s}.more-cuts[open] summary>span:last-child{transform:rotate(45deg)}.more-cuts[open] .cut-grid{margin-top:30px}@media(max-width:760px){.gallery{padding:30px 6% 60px}.gallery-heading{display:block;padding:40px 0 30px}.gallery-heading>p{margin:25px 0 0}.cut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.cut figcaption{font-size:9px;letter-spacing:.4px}.gallery-heading h2{font-size:70px}}@media(max-width:380px){.cut-grid{grid-template-columns:1fr}}
/* Angled, interactive booking links */
.book,.book.small,.hero-bottom .book{--cut:14px;position:relative;isolation:isolate;gap:24px;min-height:62px;padding:8px 8px 8px 25px;background:transparent;color:var(--black);font:600 20px/1.15 'Barlow Condensed',sans-serif;letter-spacing:.65px;text-transform:uppercase;transition:transform .25s,filter .25s;filter:drop-shadow(0 4px 0 #6d5834)}
.book::before,.book::after{content:"";position:absolute;inset:0;z-index:-1;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));transition:background .3s,clip-path .4s}
.book::before{background:var(--gold)}.book::after{background:#f5e9cf;clip-path:polygon(0 0,0 0,0 100%,0 100%)}
.book .cta-label{font:inherit;position:relative}.book .cta-arrow{position:relative;display:block;flex:0 0 46px;width:46px;height:46px;background:#171713;overflow:hidden;color:var(--gold);clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}
.cta-arrow i{position:absolute;inset:0;display:grid;place-items:center;font:normal 28px/1 'DM Sans',sans-serif;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.cta-arrow i:last-child{transform:translate(-110%,110%)}
.book:hover,.book:focus-visible{background:transparent;transform:translateY(-3px);filter:drop-shadow(0 7px 0 #6d5834)}.book:hover::after,.book:focus-visible::after{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.book:hover .cta-arrow i:first-child,.book:focus-visible .cta-arrow i:first-child{transform:translate(110%,-110%)}.book:hover .cta-arrow i:last-child,.book:focus-visible .cta-arrow i:last-child{transform:translate(0,0)}
.book:active{transform:translateY(3px);filter:drop-shadow(0 1px 0 #6d5834)}.book:focus-visible{outline:2px solid var(--cream);outline-offset:7px}.book.small{min-height:48px;font-size:17px;padding:6px 6px 6px 20px;gap:20px}.book.small .cta-arrow{flex-basis:36px;width:36px;height:36px}.book.small .cta-arrow i{font-size:23px}
@media(max-width:760px){.book,.hero-bottom .book{font-size:18px;gap:20px;max-width:100%}.book.small{font-size:16px;gap:13px;padding-left:17px}.book.small .cta-arrow{flex-basis:32px;width:32px;height:36px}}@media(prefers-reduced-motion:reduce){.book:hover,.book:focus-visible,.book:active{transform:none}.cta-arrow i{transition:none}}
/* Official Fido identity */
.brand{display:flex;align-items:center;gap:12px}.brand .brand-emblem{display:block;width:50px;height:58px;object-fit:contain}.brand .brand-type{margin:0;font:inherit;letter-spacing:inherit}.brand .brand-type>span{font:500 10px/1.5 'DM Sans',sans-serif;letter-spacing:2px;margin-top:8px}.logo-frame{aspect-ratio:1206/1399;transform:none;background:#030404;box-shadow:none}.logo-frame img{position:static;display:block;width:100%;height:100%;object-fit:contain;max-width:100%}@media(max-width:760px){.brand{gap:9px}.brand .brand-emblem{width:38px;height:44px}}

/* Vector arrows render identically on desktop and mobile. */
.book .cta-arrow{background:transparent;color:#171713;border-left:1px solid #17171340;clip-path:none}.cta-arrow svg{display:block;width:29px;height:29px}.book.small .cta-arrow svg{width:24px;height:24px}
