:root{--color-bg:#FFFFFF;--color-surface:#F2F2F2;--color-text:#000000;--color-accent:#E63946;--color-muted:#777777;--color-border:#D9D9D9;--font-sans:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;--font-serif:"Georgia","Times New Roman",serif;--font-mono:"SF Mono","Roboto Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-md:18px;--font-size-lg:22px;--font-size-xl:28px;--font-size-2xl:34px;--font-size-3xl:42px;--line-height-tight:1.2;--line-height-base:1.5;--line-height-relaxed:1.7;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-11:80px;--space-12:96px;--radius-0:0;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-round:9999px;--shadow-none:none;--transition-fast:120ms ease-out;--transition-base:180ms ease-out;--transition-slow:240ms ease-out;--container-max-width:1120px}
*,:before,:after{box-sizing:border-box}
html,body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0;padding:0}
ul,ol{margin:0;padding:0}
html{scroll-behavior:smooth;text-size-adjust:100%}
body{min-height:100vh;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased}
img,video,canvas,svg{display:block;max-width:100%;height:auto}
img{object-fit:cover}
button,input,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;margin:0}
button{border-radius:0;background:none;border:none;padding:0;cursor:pointer}
a{text-decoration:none;color:inherit}
a:hover{text-decoration:underline}
main{display:block}
hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-7) 0}
h1,h2,h3,h4,h5,h6{font-weight:500;line-height:var(--line-height-tight);letter-spacing:0.01em}
h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-5)}
h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4)}
h3{font-size:var(--font-size-xl);margin-bottom:var(--space-3)}
h4{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}
h5{font-size:var(--font-size-md);margin-bottom:var(--space-2)}
h6{font-size:var(--font-size-sm);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:0.08em}
p {margin-bottom:var(--space-4);max-width:72ch}
small{font-size:var(--font-size-xs)}
strong,b{font-weight:600}
ul{list-style:none !important}
.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--space-5)}
.section{padding:var(--space-9) 0}
.section--narrow{padding:var(--space-7) 0}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6)}
.section-header-title{max-width:40rem}
.section-meta{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-muted)}
.flex{display:flex}
.flex-center{display:flex;align-items:center;justify-content:center}
.flex-between{display:flex;align-items:center;justify-content:space-between}
.flex-column{display:flex;flex-direction:column}
.gap-2{gap:var(--space-2)}
.gap-3{gap:var(--space-3)}
.gap-4{gap:var(--space-4)}
.gap-6{gap:var(--space-6)}
.grid{display:grid;gap:var(--space-6)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.grid-2-1{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-7)}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-6)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.text-center{text-align:center}
.text-right{text-align:right}
.text-muted{color:var(--color-muted)}
.text-accent{color:var(--color-accent)}
.meta{font-size:var(--font-size-xs);letter-spacing:0.08em;text-transform:uppercase;color:var(--color-muted)}
.rule{border-top:1px solid var(--color-border);margin:var(--space-6) 0}
.navbar{position:sticky;top:0;z-index:20;background-color:var(--color-bg);border-bottom:1px solid var(--color-border)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0}
.nav-brand{font-size:var(--font-size-md);letter-spacing:0.16em;text-transform:uppercase}
.nav-menu{display:flex;align-items:center;gap:var(--space-5);font-size:var(--font-size-sm)}
.nav-link{position:relative;padding-bottom:2px}
.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background-color:var(--color-text);transition:width var(--transition-base)}
.nav-link:hover:after,.nav-link[aria-current="page"]:after{width:100%}
.nav-toggle{display:none;flex-direction:column;gap:4px;width:32px;height:32px;align-items:center;justify-content:center}
.nav-toggle-bar{width:18px;height:1px;background-color:var(--color-text)}
.hero{position:relative;width:100%;min-height:70vh;display:flex;align-items:stretch;justify-content:center}
.hero-media{position:absolute;inset:0;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.32)}
.hero-inner{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:flex-end;padding:var(--space-8) var(--space-5)}
.hero-panel{max-width:420px;background-color:var(--color-bg);padding:var(--space-6);border-radius:var(--radius-md);border:1px solid var(--color-border)}
.hero-panel-header{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.12em;color:var(--color-muted);margin-bottom:var(--space-2)}
.hero-title{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);margin-bottom:var(--space-3)}
.hero-meta{font-size:var(--font-size-sm);margin-bottom:var(--space-3);color:var(--color-muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 18px;border-radius:var(--radius-round);border:1px solid transparent;font-size:var(--font-size-sm);line-height:1;text-transform:uppercase;letter-spacing:0.12em;background-color:transparent;color:var(--color-text);transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}
.btn-primary{background-color:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}
.btn-primary:hover{background-color:#c62f3b;border-color:#c62f3b;text-decoration:none}
.btn-outline{border-color:var(--color-border);background-color:var(--color-bg)}
.btn-outline:hover{border-color:var(--color-text);text-decoration:none}
.btn:disabled,.btn[aria-disabled="true"]{opacity:0.5;cursor:not-allowed}
.btn-ghost{border-color:transparent;background-color:transparent}
.input,textarea,select{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm)}
.input::placeholder,textarea::placeholder{color:var(--color-muted)}
textarea{min-height:120px;resize:vertical}
label{display:block;font-size:var(--font-size-xs);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:var(--space-1)}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.form-group {margin-bottom:var(--space-4)}
.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}
.table th,.table td{padding:10px 0;border-bottom:1px solid var(--color-border);text-align:left}
.table th{font-weight:500;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.12em;color:var(--color-muted)}
.card{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);padding:var(--space-5)}
.card--surface{background-color:var(--color-surface)}
.card-header{margin-bottom:var(--space-3)}
.card-meta{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.08em;color:var(--color-muted);margin-bottom:var(--space-1)}
.card-title{font-size:var(--font-size-md);margin-bottom:var(--space-1)}
.card-caption{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-muted);margin-top:var(--space-2)}
.frame{position:relative;width:100%;overflow:hidden;background-color:var(--color-surface)}
.frame--16x9{aspect-ratio:16/9}
.frame--3x2{aspect-ratio:3/2}
.frame--square{aspect-ratio:1/1}
.frame img{width:100%;height:100%;object-fit:cover}
.frame-caption{margin-top:var(--space-2);font-size:var(--font-size-xs);letter-spacing:0.08em;text-transform:uppercase}
.band{background-color:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-4) 0;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.16em}
.band-inner{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;align-items:center}
.badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:var(--radius-round);border:1px solid var(--color-border);font-size:10px;letter-spacing:0.12em;text-transform:uppercase}
.badge-accent{border-color:var(--color-accent);color:var(--color-accent)}
.footer{border-top:1px solid var(--color-border);padding:var(--space-6) 0 var(--space-5)}
.footer-inner{display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between;align-items:flex-start;font-size:var(--font-size-xs)}
.footer-nav{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.footer-nav a{color:var(--color-muted)}
.footer-meta{color:var(--color-muted)}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
:focus{outline:none}
@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto !important;animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
}
@media (max-width:960px){.grid-2,.grid-2-1,.grid-3{grid-template-columns:1fr}
.section-header{flex-direction:column;align-items:flex-start}
.hero-inner{justify-content:center;align-items:flex-end}
.hero-panel{width:100%;max-width:520px}
.form-row{grid-template-columns:1fr}
}
@media (max-width:768px){.navbar-inner{padding:var(--space-3) 0}
.nav-toggle{display:flex}
.nav-menu{position:absolute;inset-inline:0;top:100%;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:flex-start;padding:var(--space-3) var(--space-5);gap:var(--space-3);display:none}
.nav-menu.is-open{display:flex}
.hero{min-height:80vh}
.hero-inner{padding:var(--space-6) var(--space-4)}
.section{padding:var(--space-7) 0}
.section--narrow{padding:var(--space-5) 0}
.container{padding:0 var(--space-4)}
.footer-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:480px){h1{font-size:var(--font-size-2xl)}
h2{font-size:var(--font-size-xl)}
.hero-title{font-size:var(--font-size-xl)}
.hero-inner{padding:var(--space-5) var(--space-3)}
.container{padding:0 var(--space-3)}
.hero-actions{flex-direction:column;align-items:stretch}
}
body{overflow-x:hidden}
.no-wrap {white-space:nowrap}
.nowrap {white-space:nowrap}
.editorial-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--space-7);align-items:flex-start}
.editorial-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.16em;color:var(--color-muted)}
.editorial-lead{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}
.editorial-meta{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-muted)}
@media (max-width:960px){.editorial-row{grid-template-columns:1fr;gap:var(--space-5)}
}
.gallery-grid{display:grid;grid-template-columns:2fr 1.2fr;gap:var(--space-4)}
.gallery-grid-side{display:grid;grid-template-rows:1fr 1fr;gap:var(--space-4)}
@media (max-width:960px){.gallery-grid{grid-template-columns:1fr}
.gallery-grid-side{grid-template-columns:1fr;grid-template-rows:auto}
}
.metadata-row{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.12em;color:var(--color-muted)}
.chip {border-radius:var(--radius-round);border:1px solid var(--color-border);padding:4px 10px}
.badge-slot{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs)}
.badge-dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-accent)}