@font-face{font-family:Masao Sans;src:url('./nimbus-sans.woff') format('woff');font-display:swap;font-weight:400}@font-face{font-family:Masao Sans;src:url('./nimbus-sans-bold.woff') format('woff');font-display:swap;font-weight:700}
:root{--ink:#101010;--paper:#f4f3ef;--red:#b6352b;--muted:#62615d;--line:#d6d5d0;--gutter:clamp(1.25rem,5vw,6rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6.5rem}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 'Masao Sans',Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}p,h1,h2,h3{margin:0}p+p{margin-top:1rem}button,a,summary{-webkit-tap-highlight-color:transparent}::selection{color:white;background:var(--red)}.wrap{width:min(100%,1600px);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(4.5rem,8vw,8.5rem)}.eyebrow{font-size:.8125rem;letter-spacing:.12em;font-weight:700;line-height:1.5;color:var(--red)}.eyebrow.light{color:#f4f3ef}.divider{padding-inline:.65rem;opacity:.5}.skip-link{position:fixed;top:1rem;left:1rem;z-index:1000;transform:translateY(-200%);padding:.7rem 1rem;background:white;color:black}.skip-link:focus{transform:translateY(0)}
.site-header{min-height:96px;display:flex;align-items:center;gap:3rem;padding-inline:var(--gutter);background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}.wordmark{font-size:1.4rem;font-weight:700;letter-spacing:-.055em;display:inline-flex;align-items:center;line-height:1;white-space:nowrap}.wordmark span{font-weight:400;margin-left:.28rem}.wordmark i{height:7px;width:7px;margin:0 0 17px 6px;border-radius:50%;background:var(--red)}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:2rem;font-size:.9375rem}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';height:1px;background:currentColor;position:absolute;bottom:-4px;left:0;right:100%;transition:right .2s}.desktop-nav a:hover:after{right:0}.nav-contact{font-size:.9375rem;border-bottom:1px solid var(--ink);padding-block:.4rem;margin-left:2rem;display:flex;gap:1.5rem}.nav-contact span{font-size:1.3rem}.menu-toggle,.mobile-menu{display:none}
.hero{background:#171715;color:white;min-height:700px;min-height:calc(100svh - 96px);max-height:1080px;position:relative;display:flex;flex-direction:column;justify-content:center;isolation:isolate;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 52%;opacity:.92}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.84) 0,rgba(0,0,0,.58) 40%,rgba(0,0,0,.12) 78%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 35%)}.hero-content{padding-top:5rem;padding-bottom:8rem}.hero h1{font-weight:400;font-size:clamp(4.5rem,8.5vw,9.5rem);letter-spacing:-.058em;line-height:.99;margin:1.65rem 0 1.7rem;max-width:1000px}.hero h1 em,.contact h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em}.hero-description{max-width:26rem;line-height:1.65;color:#e4e2dc;font-size:1.0625rem}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:2.5rem;min-height:56px;padding:.9rem 1.35rem;font-size:.9375rem;font-weight:700;transition:background .2s,color .2s,transform .2s}.button span{font-size:1.4rem;line-height:1}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:white;transform:translateY(-2px)}.hero .button{margin-top:2rem}.hero-bottom{position:absolute;bottom:2.2rem;left:0;right:0;display:flex;justify-content:space-between;font-size:.8125rem;letter-spacing:.035em;color:#e5e3dc}.hero-bottom a{display:flex;gap:1.5rem}.hero-bottom a span{font-size:1.2rem}.specialties{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:clamp(1rem,4vw,5.5rem);padding:1.7rem var(--gutter);font-size:.8125rem;letter-spacing:.12em;font-weight:700}.specialties b{font-size:1.6rem;color:var(--red);font-weight:400;line-height:1}
.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:3.8rem}.section-heading>.eyebrow{padding-top:.6rem}h2{font-size:clamp(2.45rem,4.25vw,4.75rem);font-weight:400;line-height:1.08;letter-spacing:-.05em}.section-heading>div>p{margin-top:1.25rem;max-width:31rem;color:var(--muted);font-size:1.0625rem}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:2.25rem;row-gap:0}.service-visual{border-bottom:1px solid var(--line);padding-bottom:2.6rem}.service-photo{overflow:hidden;position:relative;aspect-ratio:1.38;background:#302b24}.service-photo img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.service-card:hover .service-photo img{transform:scale(1.025)}.hospitality-card .service-photo img{object-position:68% center}.image-note{position:absolute;bottom:1rem;left:1rem;padding:.25rem .6rem;background:rgba(0,0,0,.72);font-size:.75rem;letter-spacing:.04em;color:white}.service-copy{padding:2rem 0 0}.service-number{font-size:.8125rem;color:var(--red);letter-spacing:.08em;font-weight:700}.service-card h3{font-size:clamp(1.85rem,2.6vw,3rem);line-height:1.12;letter-spacing:-.04em;font-weight:400;margin:.8rem 0 1.15rem}.service-card p{color:var(--muted);max-width:35rem}.tags{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.65rem;margin:1.4rem 0 0}.tags li{border:1px solid var(--line);border-radius:2rem;padding:.3rem .75rem;font-size:.8125rem;color:#514f4a}.text-card{padding:2.6rem 0;border-bottom:1px solid var(--line)}.text-card .text-link{margin-top:1.5rem}.text-link{display:inline-flex;gap:2rem;align-items:center;border-bottom:1px solid #99958d;padding-bottom:.35rem;font-size:.9375rem;font-weight:700}.text-link span{font-size:1.3rem}.text-link:hover{color:var(--red);border-color:var(--red)}.service-footnote{font-size:.875rem;color:var(--muted);margin-top:1.6rem}
.approach{background:#e9e8e3}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.steps article{border-top:1px solid #b9b7b0;padding-top:1.5rem}.steps article>span{color:var(--red);font-size:.875rem}.steps h3{font-size:1.7rem;line-height:1.25;letter-spacing:-.03em;font-weight:400;margin:1.4rem 0 1rem}.steps p{color:#595752;max-width:25rem}.about{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(3rem,7vw,8rem);align-items:center}.brand-panel{background:#0d0d0d;color:#d8d5cb;min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1/1}.brand-panel img{width:70%;max-width:360px;height:auto}.brand-panel p{font-size:.75rem;letter-spacing:.14em;text-align:center;line-height:1.8;margin:1.3rem 1rem 2rem}.about h2{margin:1.5rem 0 1.6rem}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:35rem}.about-copy>p.about-intro{font-size:1.15rem;color:var(--ink)}.about-copy .text-link{margin-top:1.8rem}
.contact{color:var(--paper);background:#171717}.contact-inner{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:5rem}.contact .eyebrow{opacity:.65}.contact h2{font-size:clamp(3rem,5.7vw,6.5rem);margin-top:1.7rem}.contact h2 em{white-space:normal}.contact-details{padding-bottom:.2rem;max-width:28rem}.contact-details>p:first-child{font-size:1.1rem;color:#ceccc5;margin-bottom:1.8rem}.phone-link{display:block;margin-top:1rem;font-size:.9375rem;color:#d9d6cf;text-decoration:underline;text-decoration-color:#6d6b66;text-underline-offset:5px}.contact-details .location{font-size:.8125rem;letter-spacing:.03em;margin-top:2rem;color:#aaa8a1}.site-footer{padding-top:2.7rem;padding-bottom:2rem}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:2rem}.footer-top p{font-size:.75rem;letter-spacing:.1em;color:var(--muted)}.back-top{font-size:.875rem}.footer-bottom{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.25rem;display:flex;justify-content:space-between;gap:2rem;color:var(--muted);font-size:.8125rem}.credits{max-width:34rem;text-align:right}.credits summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.credits p{margin-top:1rem}.credits a{text-decoration:underline}
.wordmark-kanji{display:block;flex-shrink:0;width:2.5rem;height:2.5rem;margin-right:.65rem;color:var(--red)}
.service-footnote a{display:inline-block;margin-left:.5rem;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.pricing-note{margin-top:2rem;max-width:75rem;color:#ceccc5;font-size:1rem;line-height:1.6}
.pricing{background:#171717;color:var(--paper)}.pricing .eyebrow{color:#ee9588}.pricing .section-heading>div>p{color:#ceccc5;max-width:37rem}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.price-card{min-width:0;padding:clamp(1.4rem,2.2vw,2.25rem);background:#202020;border:1px solid #464540;display:flex;flex-direction:column}.price-card-featured{border-color:#d06e60;background:#29201e}.price-card h3{font-size:1.5rem;font-weight:400;line-height:1.25;letter-spacing:-.02em;min-height:3.75rem;max-width:16rem}.package-price{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap;margin-top:1.6rem}.package-price strong{font-size:3.25rem;font-weight:400;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.package-price>span{font-size:.875rem;color:#ceccc5}.price-card ul{padding:1.5rem 0 0;margin:1.5rem 0 0;border-top:1px solid #494741;list-style:none}.price-card li{position:relative;padding-left:1.2rem;color:#dedbd3;font-size:1rem;line-height:1.5}.price-card li+li{margin-top:.7rem}.price-card li:before{content:'•';position:absolute;left:0;color:#ee9588}.price-card .package-offer{font-size:.9375rem;color:#f1b2a7;margin-top:.6rem}.price-card .package-offer+ul{margin-top:.85rem}.pricing-addons{margin-top:3.5rem}.pricing-addons h3,.pricing-travel h3{font-size:1.6rem;font-weight:400;letter-spacing:-.025em;line-height:1.25}.addon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.6rem 0 0;gap:0 2.25rem}.addon-grid>div{padding:1.4rem 0;border-top:1px solid #55534d}.addon-grid dt{font-size:1rem;line-height:1.4;color:#dedbd3}.addon-grid dt span{display:block;font-size:.875rem;color:#bbb8b0;margin-top:.25rem}.addon-grid dd{margin:.65rem 0 0;font-size:1.7rem;letter-spacing:-.02em;line-height:1.3;font-variant-numeric:tabular-nums}.addon-grid dd span{font-size:.9375rem;letter-spacing:0;color:#ceccc5}.pricing-travel{display:flex;align-items:center;justify-content:space-between;gap:3rem;border-top:1px solid #55534d;padding-top:2.25rem;margin-top:1.25rem}.pricing-travel>div{max-width:48rem;flex:1}.pricing-travel p{font-size:1rem;color:#ceccc5;margin-top:1rem}.pricing-travel .button{flex-shrink:0}.pricing .button:focus-visible{outline-color:#ee9588}
@media(min-width:1600px){.hero-bottom,.hero-content{padding-inline:6rem}.site-header{padding-inline:max(6rem,calc((100vw - 1408px)/2))}}
@media(max-width:900px){.site-header{min-height:82px;gap:1.5rem}.desktop-nav{gap:1.3rem}.nav-contact{margin-left:.5rem}.hero{min-height:720px;max-height:none}.hero h1{font-size:clamp(4rem,10vw,6.8rem)}.section-heading{grid-template-columns:1fr;gap:1.2rem}.section-heading>.eyebrow{padding:0}.steps{gap:1.6rem}.about{gap:2.5rem;grid-template-columns:1fr 1fr}.brand-panel{min-height:360px;aspect-ratio:auto}.brand-panel img{width:90%}.contact-inner{gap:3rem;grid-template-columns:1.2fr 1fr}.specialties{gap:1.3rem;font-size:.75rem}.service-grid{column-gap:1.4rem}}
@media(max-width:640px){html{scroll-padding-top:1.25rem}.site-header{min-height:76px;gap:1rem;flex-wrap:wrap;padding-block:1rem}.wordmark{font-size:1.25rem}.desktop-nav{display:none}.nav-contact{display:none}.menu-toggle{display:flex;margin-left:auto;background:none;border:1px solid #ccc9c1;width:42px;height:42px;padding:12px 10px;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;flex-shrink:0}.menu-toggle span{height:1px;background:var(--ink);width:20px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;position:absolute;top:100%;right:0;left:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem var(--gutter) 1.5rem;flex-direction:column}.mobile-menu a{padding:.7rem 0;font-size:1.1rem}.hero{min-height:calc(100svh - 76px);min-height:max(650px,calc(100svh - 76px))}.hero-image img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.3)),linear-gradient(0deg,rgba(0,0,0,.6),transparent 60%)}.hero-content{padding-block:4rem 7.5rem}.hero h1{font-size:clamp(3.65rem,13vw,5.4rem);margin:1.6rem 0 1.5rem}.hero .eyebrow{font-size:.75rem;letter-spacing:.075em}.hero-description{max-width:23rem;font-size:1rem}.hero .button{margin-top:1.7rem}.hero-bottom{bottom:1.5rem;font-size:.75rem;align-items:end;gap:1.2rem}.hero-bottom>span{max-width:11rem}.hero-bottom a{gap:.65rem;white-space:nowrap}.specialties{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:center;font-size:.75rem;padding-block:1.3rem}.specialties b{display:none}.section-heading{margin-bottom:2.5rem}.section-heading>div>p{font-size:1rem}h2{font-size:2.4rem}.service-grid{grid-template-columns:1fr}.service-visual{padding-bottom:2.3rem}.service-visual+.service-visual{padding-top:2.3rem}.service-photo{aspect-ratio:1.2}.service-card h3{font-size:2.05rem}.service-copy{padding-top:1.5rem}.text-card{padding-block:2.1rem}.steps{grid-template-columns:1fr;gap:2.2rem}.steps article{padding-top:1.2rem}.steps h3{margin-top:.75rem}.steps p{max-width:100%}.about{grid-template-columns:1fr;gap:3rem}.brand-panel{min-height:0;aspect-ratio:1}.brand-panel img{width:70%;max-width:270px}.brand-panel p{margin-top:1rem;margin-bottom:1.6rem}.contact-inner{grid-template-columns:1fr;gap:2.5rem}.contact h2{font-size:clamp(2.85rem,10.3vw,4.2rem)}.contact-details{max-width:100%}.footer-top{align-items:flex-start;flex-wrap:wrap;gap:1.6rem}.footer-top p{display:none}.footer-bottom{flex-direction:column;gap:1rem}.credits{text-align:left}.site-footer{padding-top:2.1rem}.button{min-height:56px}.text-link{min-height:44px}.phone-link{padding-block:.45rem}.back-top{min-height:44px;display:flex;align-items:center;margin-top:-.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:1100px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card h3{max-width:none}.pricing-travel{align-items:flex-start;flex-direction:column;gap:1.5rem}}
@media(min-width:641px) and (max-width:800px){.site-header{gap:1rem}.desktop-nav{gap:.85rem}.site-header .wordmark{font-size:1.2rem}.nav-contact{gap:.7rem;margin-left:0}}
@media(max-width:640px){.price-grid{grid-template-columns:1fr;gap:1rem}.price-card{padding:1.5rem}.price-card h3{min-height:0;font-size:1.6rem}.package-price{margin-top:1.2rem}.package-price strong{font-size:3rem}.price-card ul{padding-top:1.25rem;margin-top:1.25rem}.addon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}.addon-grid dd{font-size:1.5rem}.pricing-addons{margin-top:2.5rem}.pricing-travel{margin-top:.5rem;padding-top:1.75rem}.service-footnote a{margin:.5rem 0 0;display:block}}
@media(max-width:380px){.addon-grid{grid-template-columns:1fr}}
@media(max-width:380px){.hero-bottom{flex-wrap:wrap}.hero-bottom>span{max-width:none}.wordmark{white-space:normal;flex-wrap:wrap}.button{gap:1.3rem}}
@media(max-width:640px){.site-header .wordmark{flex-wrap:nowrap;white-space:nowrap}.wordmark-kanji{width:2.1rem;height:2.1rem;margin-right:.5rem}}

.social-link{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;margin-top:.65rem;padding-block:.4rem;font-size:1rem;line-height:1.5;color:var(--paper)}.social-link>span:first-child{text-decoration:underline;text-decoration-color:#88847c;text-underline-offset:5px}.social-link:hover{color:#f1b2a7}.footer-instagram{display:inline-flex;align-items:baseline;gap:.4rem;color:var(--ink);text-decoration:underline;text-decoration-color:#99958d;text-underline-offset:4px}.footer-instagram:hover{color:var(--red)}@media(max-width:640px){.footer-instagram{min-height:44px;align-items:center}}

.email-option{margin-top:1.25rem}.email-option>span{display:block;font-size:.875rem;color:#ceccc5}.email-option>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:1rem;color:var(--paper);overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#88847c;text-underline-offset:5px}.email-option>a:hover{color:#f1b2a7}

/* User-provided food portfolio: preserve each photograph's complete composition. */
.portfolio{border-bottom:1px solid var(--line)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2.25rem;align-items:start}.portfolio-item{margin:0;min-width:0}.portfolio-image{display:block;position:relative;background:#24221d;cursor:zoom-in}.portfolio-image img{width:100%;height:auto}.portfolio-enlarge{position:absolute;right:.8rem;bottom:.8rem;background:rgba(16,16,16,.8);color:white;padding:.35rem .65rem;font-size:.75rem;letter-spacing:.025em}.portfolio-item figcaption{font-size:.9375rem;margin-top:.8rem;color:var(--muted)}.photo-dialog{border:1px solid #56534c;padding:1rem;background:#171717;color:var(--paper);width:min(1100px,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);overflow:auto}.photo-dialog::backdrop{background:rgba(0,0,0,.9)}.photo-dialog-toolbar,.photo-dialog-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem}.photo-dialog-toolbar{padding-bottom:.75rem}.photo-dialog-toolbar p{font-size:.9375rem}.photo-dialog button{background:none;color:inherit;border:1px solid #716c62;padding:.45rem .8rem;min-height:44px;cursor:pointer;font-size:.875rem;white-space:nowrap}.photo-dialog button:hover{background:#34322d}.photo-dialog button:focus-visible{outline-color:#ee9588}.photo-close span{margin-left:.5rem;font-size:1.2rem}.photo-dialog-image{width:100%;height:auto;max-height:calc(100dvh - 11rem);object-fit:contain}.photo-dialog-navigation{padding-top:.75rem}.photo-counter{font-size:.8125rem;color:#ceccc5}body.photo-viewer-open{overflow:hidden}
@media(max-width:640px){.portfolio-grid{grid-template-columns:1fr;gap:2rem}.portfolio-item figcaption{margin-top:.6rem}.photo-dialog{width:calc(100vw - 1rem);padding:.65rem;max-height:calc(100dvh - 1rem)}.photo-dialog-toolbar{gap:.5rem}.photo-dialog-toolbar p{font-size:.875rem}.photo-dialog button{padding:.45rem .65rem}.photo-dialog-image{max-height:calc(100dvh - 10rem)}}
@media(min-width:641px) and (max-width:800px){.desktop-nav,.nav-contact{display:none}.menu-toggle{display:flex;margin-left:auto;background:none;border:1px solid #ccc9c1;width:42px;height:42px;padding:12px 10px;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;flex-shrink:0}.menu-toggle span{height:1px;background:var(--ink);width:20px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;position:absolute;top:100%;right:0;left:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem var(--gutter) 1.5rem;flex-direction:column}.mobile-menu a{padding:.7rem 0;font-size:1.1rem}}

/* One photograph at a time; the grid remains usable if JavaScript is unavailable. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.portfolio-carousel.is-ready{max-width:900px;margin-inline:auto}
.carousel-help{color:var(--muted);font-size:.8125rem;margin-bottom:.85rem}
.carousel-stage{position:relative}
.is-ready .portfolio-grid{display:block;touch-action:pan-y pinch-zoom}
.is-ready .portfolio-item[hidden]{display:none}
.is-ready .portfolio-image{height:min(55vw,540px,62svh);min-height:180px;background:#24221d;overflow:hidden;user-select:none;-webkit-user-select:none}
.is-ready .portfolio-image img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none}
.is-ready .portfolio-item figcaption{margin-top:.8rem;padding-inline:.25rem}
.carousel-arrows{position:absolute;left:.8rem;right:.8rem;top:0;height:min(55vw,540px,62svh);min-height:180px;pointer-events:none;display:flex;align-items:center;justify-content:space-between}
.carousel-arrows[hidden],.carousel-controls[hidden],.carousel-help[hidden]{display:none}
.carousel-arrows button{pointer-events:auto;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(16,16,16,.76);color:white;font-size:1.5rem;cursor:pointer;line-height:1;transition:background .2s}
.carousel-arrows button:hover{background:#101010}
.carousel-arrows button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-top:1px solid var(--line);margin-top:.8rem;padding-top:.3rem}
.carousel-dots{display:flex;align-items:center;flex-wrap:wrap}
.carousel-dot{display:grid;place-items:center;width:28px;min-height:44px;padding:0;border:0;background:none;color:var(--muted);cursor:pointer}
.carousel-dot::before{content:'';width:6px;height:6px;border-radius:50%;background:#aaa69d;transition:transform .2s,background .2s}
.carousel-dot[aria-current=true]::before{background:var(--red);transform:scale(1.5)}
.carousel-dot:hover::before{background:var(--ink)}
.carousel-count{color:var(--muted);font-size:.8125rem;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:.25rem}
@media(max-width:640px){.is-ready .portfolio-image,.carousel-arrows{height:min(64vw,380px)}.carousel-arrows{left:.5rem;right:.5rem}.portfolio-enlarge{right:.5rem;bottom:.5rem}.carousel-help{font-size:.75rem;max-width:20rem}.carousel-dot{width:27px}.is-ready .portfolio-item figcaption{font-size:.875rem}}
@media(max-width:350px){.carousel-dot{width:24px}}

/* The tribute portrait is shown uncropped, with the original dedication retained. */
.brand-panel.tribute-panel{width:100%;max-width:490px;min-height:0;aspect-ratio:auto;justify-self:center;overflow:hidden}
.tribute-panel .tribute-portrait{width:100%;max-width:none;height:auto}
.tribute-dedication{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;padding:1rem 1.25rem}
.tribute-dedication img{width:88px;max-width:24%;height:auto;flex-shrink:0}
.tribute-dedication p{margin:0;text-align:left;font-size:.6875rem;letter-spacing:.12em}
@media(max-width:640px){.tribute-dedication{gap:.8rem;padding:.8rem 1rem}.tribute-dedication img{width:76px}.tribute-dedication p{font-size:.625rem;letter-spacing:.1em}}
