/* The display face is bundled so the identity does not depend on device fonts. */
@font-face{font-family:'HP Display';src:url('assets/hp-display.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
:root{--display:'HP Display',Impact,'Arial Narrow',Arial,sans-serif}
html{scroll-padding-top:110px}
header{transition:height .3s,background .3s,border-color .3s}
header.is-scrolled{position:fixed;height:84px;background:#171511f2;border-color:#bfa06a40;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
header.is-scrolled .official-logo{width:72px;height:72px}
body.menu-open header{position:fixed;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-actions{display:flex;align-items:center;gap:12px;margin-top:24px;pointer-events:auto}
.hero-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:12px 20px;font-size:12px;line-height:1.2;border:1px solid #cbb58a78;transition:background .25s,color .25s,transform .25s}
.hero-action b{font-size:19px;font-weight:400}
.hero-action.primary{background:var(--gold-light);color:var(--ink);border-color:var(--gold-light)}
.hero-action.secondary{background:#17151140;color:var(--paper)}
.hero-action:active{transform:scale(.97)}
.rhythm-strip{position:relative;overflow:hidden;background:var(--gold);color:var(--ink);border-top:1px solid #e9d6b3;border-bottom:1px solid #17151122;padding:15px 0}
.rhythm-track{display:flex;align-items:center;width:max-content;animation:rhythm-run 35s linear infinite}
.rhythm-track>span{display:flex;align-items:center;gap:36px;white-space:nowrap;font:900 23px/1 var(--display);letter-spacing:1px;padding-right:36px}
.rhythm-track i{font:24px/1 Georgia;font-style:normal}
.rhythm-strip:hover .rhythm-track{animation-play-state:paused}
.motion-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:1;min-width:79px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:var(--ink);border:1px solid #17151150;border-radius:3px;font:12px/1 Arial;box-shadow:-18px 0 18px 3px var(--gold)}
.motion-toggle>span:first-child{font-size:17px;line-height:1}
.motion-paused *{animation-play-state:paused!important}
.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}
.motion-paused .hero-art>img{transform:none;transition:none}
.motion-paused .hero-copy h1>span,.motion-paused .hero-art,.motion-paused .gallery-panel{animation:none!important}
.motion-ready .reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .7s ease,transform .85s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;transform:none}
.hero-copy h1>span{animation:title-arrive .85s cubic-bezier(.2,.65,.2,1) both}
.hero-copy h1>.word-percussion{animation-delay:.13s}
.hero-art{animation:cover-arrive 1.1s cubic-bezier(.2,.65,.2,1) both}
.hero-art>img{animation:none;transform:translate3d(0,var(--photo-shift,0px),0) scale(1.07);transition:transform .15s linear;will-change:transform}
.hero-art:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid #e8d4ad55;background:linear-gradient(115deg,transparent 30%,#ffe3a519 45%,transparent 60%);background-size:250% 100%;animation:light-pass 9s ease-in-out infinite}
.product,.gallery-photo,.encounters figure{transition:transform .25s,box-shadow .25s}
.product:active{transform:scale(.985)}
.image-open,.product>div>b{transition:transform .3s,background .3s}
.product:active>div>b,.gallery-photo:active .image-open{transform:rotate(45deg);background:var(--gold)}
.gallery-panel:not([hidden]){animation:panel-arrive .4s ease both}
.gallery-tabs .tab-number{font-size:.8em;opacity:.65;margin-right:6px}
.gallery-controls button,.gallery-close,.close-modal{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}
.whatsapp-float{min-height:46px;display:inline-flex;align-items:center;bottom:max(18px,env(safe-area-inset-bottom));touch-action:manipulation}
nav,dialog{overscroll-behavior:contain}
body.dialog-open{overflow:hidden}
body.menu-open .whatsapp-float,body.dialog-open .whatsapp-float{display:none}
#gallery-modal figure{touch-action:pan-y pinch-zoom}
.gallery-controls button:active{background:var(--gold);color:var(--ink)}
@keyframes title-arrive{from{opacity:0;transform:translate3d(0,25px,0)}to{opacity:1;transform:none}}
@keyframes cover-arrive{from{opacity:0;transform:translate3d(0,18px,0) scale(.98)}to{opacity:1;transform:none}}
@keyframes light-pass{0%,35%{background-position:160% 0}80%,100%{background-position:-100% 0}}
@keyframes panel-arrive{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes rhythm-run{to{transform:translateX(-50%)}}
@media(hover:hover) and (pointer:fine){.hero-action:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}.product:hover{transform:translateY(-5px)}}

/* The exact original bitmap remains visible when mask compositing is absent. */
@supports not ((mask-composite:exclude) and (mask-mode:luminance)){
 .brand::before,.footer-main>a:first-child::before{display:none}
 .brand,.footer-main>a:first-child{mix-blend-mode:screen}
 .official-logo,.footer-logo{opacity:1;filter:invert(1);mix-blend-mode:normal}
}

@media(max-width:760px){
 html{scroll-padding-top:98px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{font-size:15px;line-height:1.7}
 header{height:84px;padding:0 20px;background:#171511e6;border-bottom:1px solid #bfa06a2b}
 .official-logo{width:76px;height:76px}
 header.is-scrolled{height:76px}
 header.is-scrolled .official-logo{width:66px;height:66px}
 .nav-end{gap:14px}
 #lang{min-width:68px;min-height:46px;font-size:11px;letter-spacing:.6px;padding:12px 6px}
 #menu{min-width:70px;min-height:46px;gap:10px;font-size:10px;letter-spacing:1px;padding:10px 0 10px 8px}
 .menu-icon,.menu-icon i{width:26px}
 nav{padding:114px 26px max(42px,env(safe-area-inset-bottom));gap:22px;align-content:start;background:#171511;min-height:100svh;overflow-y:auto}
 .nav-intro>span{font-size:32px;color:var(--gold)}
 .nav-links a{font-size:clamp(36px,11vw,55px);line-height:1.25;padding:14px 0 14px 34px;letter-spacing:.2px}
 .nav-links a:before{top:29px;font-size:10px}
 .hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;padding:110px 20px 30px;gap:0;overflow:hidden}
 .hero-kicker{position:static;order:1;display:flex;gap:8px;font-size:9px;letter-spacing:1.1px;margin-bottom:20px;line-height:1.5}
 .hero-year{font-size:9px;letter-spacing:1px}
 .signal{height:5px;width:5px;box-shadow:0 0 10px #d9b46a}
 .hero-copy{display:contents;pointer-events:auto}
 .hero-copy h1{order:2;letter-spacing:-.01em;line-height:.86;margin:0 0 22px;width:100%;position:relative;z-index:1;font-weight:900}
 .hero-copy h1>span{font-size:clamp(80px,29vw,180px);line-height:.83;letter-spacing:-.01em}
 .hero-copy h1>.word-percussion{font-size:clamp(38px,12.5vw,88px);margin-top:11px;letter-spacing:-.018em;line-height:.94;white-space:nowrap}
 .font-ready .hero-copy h1>span{font-size:clamp(110px,39vw,240px)}
 .font-ready .hero-copy h1>.word-percussion{font-size:clamp(51px,18vw,113px)}
 .hero-art{position:relative;order:3;inset:auto;width:100%;height:auto;bottom:auto;aspect-ratio:1.12;max-height:520px;max-width:none;z-index:0;clip-path:none;border-radius:3px 3px 30px 3px;overflow:hidden;margin:0}
 .hero-art>img{height:100%;object-position:40% 42%;filter:saturate(.85) contrast(1.04)}
 .hero-art:after{border:0;background:linear-gradient(0deg,#17151178,transparent 45%)}
 .hero-art:before{border-radius:inherit}
 .art-corner{font-size:25px;left:17px;top:10px;color:#f4e1b9}
 .photo-caption{display:flex!important;bottom:16px;left:18px;right:18px;font-size:8px;line-height:1.5;letter-spacing:1px;color:#e9d6b3}
 .photo-caption>span:first-child{display:none}
 .photo-caption>span:last-child{margin-left:auto}
 .hero-bottom{order:4;display:block;width:100%;margin:22px 0 0}
 .hero-line{font:15px/1.65 Arial,Helvetica,sans-serif;letter-spacing:0;color:#d3cbbb;max-width:36ch}
 .hero-line br{display:none}
 .circle-link{display:none}
 .hero-actions{order:5;display:grid;grid-template-columns:1.15fr 1fr;gap:10px;width:100%;margin-top:20px}
 .hero-action{min-height:50px;padding:12px 14px;gap:12px;font-size:12px;font-weight:600;letter-spacing:0;border-radius:3px}
 .hero-action.primary{box-shadow:0 6px 24px #0002}
 .hero-action.secondary{background:#241f1738}
 .hero-foot{display:none}
 .hero-geometry{width:580px;height:580px;right:-310px;top:80px;opacity:.25;animation-duration:110s}
 .hero-glow{background:radial-gradient(ellipse at 80% 50%,#a27b3720,transparent 65%)}
 .rhythm-strip{padding:17px 0}
 .rhythm-track>span{font-size:20px;gap:24px;padding-right:24px;letter-spacing:.6px}
 .rhythm-track i{font-size:19px}
 .manifesto{padding:54px 24px;gap:24px}
 .manifesto-label{font-size:10px;letter-spacing:1.6px;color:#735f3c}
 .manifesto>p{font-size:clamp(38px,11vw,68px);letter-spacing:-.6px;line-height:1.04;font-weight:900}
 .manifesto>p em{font-size:.78em;line-height:1.4;white-space:normal}
 .manifesto>div{padding-left:0}
 .rosette{position:static;font-size:36px;line-height:1;margin:0 0 20px}
 .manifesto>div p{font-size:15px;line-height:1.75;margin-bottom:24px;color:#625846}
 .manifesto .text-link{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 16px;background:#171511;color:#f1e9d9;border:0;font-size:13px;border-radius:3px;max-width:330px}
 .section{padding:58px 24px}
 .section-top{margin-bottom:26px;gap:12px}
 .section-num{font-size:10px}
 .section .eyebrow{font-size:10px;letter-spacing:1.3px}
 .section h2{font-size:clamp(33px,8.8vw,50px);letter-spacing:-1px;line-height:1.12;margin-bottom:24px}
 .section p{font-size:15px;line-height:1.75}
 .section-heading{margin-bottom:28px}
 .section-heading>p{margin-top:20px;font-size:15px}
 .text-link{font-size:13px;min-height:44px;padding:9px 0 8px;line-height:1.6}
 .gallery-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0;margin-bottom:18px}
 .gallery-tabs button{min-height:46px;font-size:11px;line-height:1.35;padding:10px 8px;text-align:center;border:1px solid #bfa06a50;border-radius:3px;color:#b9b09f;transition:background .2s,color .2s,border .2s}
 .gallery-tabs button[aria-selected=true]{background:var(--gold-light);color:var(--ink);border-color:var(--gold-light)}
 .gallery-tabs button:after{display:none}
 .gallery-tabs .tab-number{display:none}
 .gallery-panel{gap:18px}
 .gallery-lead .gallery-photo{height:auto;aspect-ratio:4/3;border-radius:4px;overflow:hidden}
 .gallery-overlay{left:18px;bottom:18px;right:18px}
 .gallery-overlay .eyebrow{font-size:9px}
 .gallery-overlay h3{font-size:38px;margin:9px 0 4px;letter-spacing:.2px;font-weight:900}
 .gallery-overlay p{font-size:12px;line-height:1.4;margin:0;color:#ead6ad}
 .image-open{height:44px;width:44px;top:12px;right:12px;font-size:22px;background:#17151166}
 .gallery-side{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:0}
 .gallery-side .gallery-photo{height:auto;aspect-ratio:16/10;border-radius:4px;overflow:hidden}
 .gallery-note{padding:22px 0 0}
 .gallery-note>p{font-size:14px;line-height:1.7;margin:0 0 12px;max-width:none}
 .gallery-note .text-link{font-size:13px}
 .gallery-hint{font-size:11px!important;line-height:1.6!important;margin-top:16px}
 .collection-heading{margin-bottom:30px}
 .collection-heading h2{font:900 clamp(48px,14vw,80px)/.97 var(--display);letter-spacing:-.6px;margin:0}
 .collection-heading p{font-size:15px;line-height:1.75;margin-top:22px;max-width:none}
 .pusaka{gap:25px;margin-bottom:38px}
 .pusaka-photo{height:auto;aspect-ratio:1;border-radius:4px;overflow:hidden}
 .pusaka-photo img{object-position:50% 54%}
 .product-index{font-size:10px;left:14px;bottom:14px;letter-spacing:1px}
 .pusaka-copy{padding-right:0}
 .pusaka h3{font:900 clamp(64px,22vw,105px)/.85 var(--display);letter-spacing:-.8px;margin:20px 0 26px}
 .pusaka p{font-size:15px;line-height:1.75}
 .product-rosette{font-size:85px;bottom:0;right:-5px}
 .products{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:0 0 20px;scrollbar-width:thin;scrollbar-color:#9b7b45 #9b7b4520;scroll-padding-left:0;-webkit-overflow-scrolling:touch}
 .product{min-width:0;scroll-snap-align:start;padding-bottom:6px}
 .products .product>div{height:auto;aspect-ratio:1;border-radius:4px}
 .product>div img{object-fit:contain}
 .product>div>span{font-size:10px}
 .product>div>b{width:44px;height:44px;line-height:44px;font-size:24px;right:12px;bottom:12px}
 .product h4{font:900 28px/1.1 var(--display);margin:16px 0 8px}
 .product p{font-size:13px;line-height:1.5}
 .craft-layout{gap:34px}
 .craft-intro{font-size:15px;margin-bottom:24px}
 .services article{padding:22px 0;gap:18px}
 .services article>span{font-size:11px;padding-top:6px}
 .services h3{font-size:28px;line-height:1.15;margin-bottom:10px;letter-spacing:.3px;font-weight:900}
 .services p{font-size:14px;line-height:1.7}
 .craft .text-link{margin-top:16px}
 .craft-pair{display:block;width:100%;margin:0;padding:0 0 48px}
 .craft-pair img:first-child{height:auto;aspect-ratio:4/5;width:83%;border-radius:4px;object-position:center}
 .craft-pair img:nth-child(2){right:0;bottom:80px;width:43%;height:auto;aspect-ratio:3/4;border-width:6px;border-radius:3px;box-shadow:0 12px 35px #0005}
 .craft-pair>span{font-size:9px;letter-spacing:1px;line-height:1.6;bottom:0}
 .story{gap:30px;padding-top:54px;padding-bottom:54px}
 .story-photo>img{height:auto;aspect-ratio:4/5;border-radius:4px;object-position:50% 40%}
 .story-photo>span{font-size:8px;letter-spacing:1px;left:12px;bottom:12px;padding:8px}
 .story-copy p{font-size:15px;line-height:1.8}
 .story .section-top{margin-bottom:20px}
 .story .text-link{font-size:13px;margin-top:4px}
 .encounters{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:90%;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:0 0 22px;scrollbar-width:thin;scrollbar-color:#9b7b45 #9b7b4520;-webkit-overflow-scrolling:touch}
 .encounters figure{scroll-snap-align:start;min-width:0}
 .encounters img{height:auto;aspect-ratio:4/3;object-fit:contain;background:#c9c1b1;border-radius:4px}
 .encounters figcaption>span{font-size:11px;letter-spacing:.8px;line-height:1.5;margin-top:16px}
 .encounters figcaption small{font-size:13px;line-height:1.65;margin-top:8px;max-width:none}
 .contact{gap:36px}
 .contact h2{font:900 clamp(52px,15vw,90px)/.95 var(--display);letter-spacing:-.5px;margin-top:24px}
 .contact-intro>p:not(.eyebrow){font-size:15px;line-height:1.75}
 .phone-link{font:900 clamp(34px,10.8vw,56px)/1.1 var(--display);letter-spacing:0;min-height:50px;gap:18px;margin:20px 0 12px}
 .phone-link span{font-size:27px}
 .phone-note{font-size:10px;letter-spacing:1.3px}
 .socials{gap:15px;margin-top:24px;font-size:12px;flex-wrap:wrap}
 .socials a{min-height:44px;display:inline-flex;align-items:center}
 form{padding:26px 0 0}
 .contact form .eyebrow{margin-bottom:24px;font-size:11px}
 label{font-size:12px;line-height:1.5;margin-top:22px;margin-bottom:7px}
 input,select,textarea,#brief-result textarea{font-size:16px;line-height:1.5;padding:12px;border:1px solid #bfa06a50;border-radius:3px;background:#211e18;min-height:48px}
 input:focus,select:focus,textarea:focus{outline:1px solid var(--gold);outline-offset:2px}
 textarea::placeholder{font-size:14px}
 .button{font-size:13px;min-height:49px;padding:13px 17px;border-radius:3px}
 form>.button{width:100%;margin-top:22px}
 .section p.form-note,#product-modal .form-note{font-size:12px;line-height:1.7;color:#a79c88;margin-top:16px}
 .result-actions{flex-wrap:wrap;gap:14px}
 #brief-result{margin-top:30px}
 #copy-status{font-size:12px}
 footer{padding:26px 24px max(90px,calc(70px + env(safe-area-inset-bottom)))}
 .footer-main{gap:20px;padding-bottom:20px;align-items:center}
 .footer-logo{height:90px;width:90px}
 .footer-main>p{font-size:24px;font-weight:900;line-height:1.1}
 .footer-top{font-size:11px;margin-left:0;min-height:44px;display:inline-flex;align-items:center;width:100%}
 .footer-bottom{display:grid;grid-template-columns:1fr;gap:9px;font-size:10px;letter-spacing:.3px;line-height:1.6;padding-top:20px}
 .footer-bottom span:last-child{margin-left:0}
 .whatsapp-float{right:16px;bottom:max(14px,env(safe-area-inset-bottom));font-size:12px;min-height:48px;padding:10px 17px;box-shadow:0 5px 25px #0005;background:#171511f5;border-color:#c3a774;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s}
 .past-hero:not(.at-contact) .whatsapp-float{opacity:1;visibility:visible;transform:none}
 .whatsapp-float span{font-size:19px;margin-right:9px;line-height:1}
 dialog{max-height:calc(100svh - 24px);max-height:calc(100dvh - 24px);overscroll-behavior:contain}
 #product-modal[open]{display:block;padding:58px 20px 28px;width:calc(100% - 24px);max-width:500px;border-radius:7px}
 .close-modal,.gallery-close{right:8px;top:7px;font-size:30px;background:#171511e8;border-radius:50%}
 #modal-img{max-height:38svh;object-fit:contain;margin:0 0 25px}
 #modal-title{font:900 43px/1 var(--display);letter-spacing:.2px;margin:17px 0}
 #modal-desc{font-size:15px;line-height:1.7}
 #product-modal .button{font-size:13px;width:100%;padding:14px}
 #gallery-modal{width:calc(100% - 16px);padding:60px 12px max(20px,env(safe-area-inset-bottom));border-radius:7px}
 #gallery-full{max-height:57svh;min-height:180px;object-fit:contain}
 #gallery-caption{font-size:13px;line-height:1.5;padding-top:20px}
 .gallery-controls{gap:28px;margin-top:18px}
 .gallery-controls button{height:48px;width:48px;font-size:23px}
 #gallery-count{font-size:12px}
}
@media(max-width:370px){
 header{padding-left:16px;padding-right:16px}
 .hero{padding-left:20px;padding-right:20px;padding-top:106px}
 .hero-kicker{font-size:8px;letter-spacing:.5px;margin-bottom:18px}
 .hero-year{font-size:8px}
 .hero-copy h1>.word-percussion{margin-top:9px}
 .hero-art{aspect-ratio:1.08}
 .hero-line{font-size:14px}
 .hero-action{font-size:11px;padding:12px 11px;gap:7px}
 .manifesto,.section{padding-left:20px;padding-right:20px}
 .gallery-tabs button{font-size:10px;padding:10px 6px}
 .phone-link{font-size:37px}
 .contact h2{font-size:52px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .motion-ready .reveal{opacity:1;transform:none;transition:none}
 .hero-copy h1>span,.hero-art,.rhythm-track,.hero-art:before,.hero-geometry,.gallery-panel{animation:none!important}
 .hero-art>img{transform:none;transition:none;will-change:auto}
 .motion-toggle{display:none}
}
