/* Sina Engin public design system v7.0.7
   Single source of truth for all public pages.
   Renderer outputs semantic classes only; CMS block values enter through CSS variables. */

:root{
  --canvas:#f2f0ec;
  --slot:#e6e3de;
  --ink:#121212;
  --ink-soft:#3a3630;
  --ink-muted:#5c5852;
  --ink-faint:#8a857e;
  --ink-meta:#6e6a64;
  --rule:rgba(18,18,18,.13);
  --rule-strong:rgba(18,18,18,.25);
  --row-hover:rgba(18,18,18,.035);
  --font-body:"Archivo",sans-serif;
  --font-display:"Roboto",sans-serif;
  --font-poster:"Archivo Black","Archivo",sans-serif;
  --font-jp:"Noto Sans JP",sans-serif;
  --shell:1280px;
  --gutter:clamp(20px,5vw,72px);
  --header-h:56px;
  --section-y:clamp(34px,4.2vw,58px);
  --section-tighten:6px;
  --section-label-size:10px;
  --work-title:clamp(17px,1.7vw,22px);
  --work-title-jp:clamp(16px,1.6vw,21px);
}

*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul{margin:0;padding:0}ul{list-style:none}a{color:inherit;text-decoration:none}a:hover{color:var(--ink-faint)}
img,video,iframe{display:block;max-width:100%}button{font:inherit;color:inherit}
[hidden]{display:none!important}
::selection{background:var(--ink);color:var(--canvas)}
:focus{outline:none}:focus-visible{outline:1px solid var(--ink);outline-offset:3px}

.site-shell{width:min(100%,var(--shell));margin-inline:auto;padding-inline:var(--gutter)}
.page-jp{font-family:var(--font-jp)}
.site-version-badge{position:fixed;top:7px;left:9px;z-index:80;font-size:9px;font-weight:600;line-height:1;letter-spacing:.12em;text-transform:uppercase;opacity:.5;pointer-events:none;user-select:none}

/* Header / navigation ---------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(242,240,236,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.site-header__inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.site-brand{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.22em;white-space:nowrap;color:#000}
.site-nav{margin-left:auto}
.site-nav__list{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(14px,2vw,30px);font-family:var(--font-display);font-size:11px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted)}
.site-nav__list--jp{font-family:var(--font-jp);font-size:12px;letter-spacing:.12em;text-transform:none}
.site-header__actions{display:flex;align-items:center;gap:16px}
.language-toggle{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:11px;letter-spacing:.16em}
.language-toggle button,.language-toggle a{border:0;background:transparent;padding:0;cursor:pointer;color:rgba(18,18,18,.35)}
.language-toggle [aria-pressed="true"],.language-toggle a.is-active{color:var(--ink)}
.language-toggle__slash{color:rgba(18,18,18,.28)}
.nav-toggle{display:none;width:32px;height:32px;padding:0;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.nav-toggle span{display:block;width:20px;height:1px;background:var(--ink)}
html[data-lang="en"] .lang-ja-only{display:none!important}
html[data-lang="ja"] .lang-en-only{display:none!important}

/* Shared CMS blocks ----------------------------------------------------- */
.dynamic-section{display:block;padding-top:max(0px,calc(var(--block-pt,var(--section-y)) - var(--section-tighten)));padding-bottom:max(0px,calc(var(--block-pb,var(--section-y)) - var(--section-tighten)));text-align:var(--block-align,center)}
.section-label{width:100%;display:grid;grid-template-columns:minmax(24px,1fr) auto minmax(24px,1fr);align-items:center;gap:clamp(12px,2vw,22px);margin-bottom:clamp(16px,2vw,26px);font-family:var(--font-display);font-size:var(--section-label-size);font-weight:400;line-height:1.4;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint)}
.section-label::before,.section-label::after{content:"";display:block;width:100%;height:1px;background:var(--rule)}
.section-label__title{grid-column:2;white-space:nowrap;text-align:center}
.section-label--jp{font-family:var(--font-jp);letter-spacing:.2em;text-transform:none}
.dynamic-content{width:min(100%,var(--block-width,900px));margin-inline:auto;text-align:var(--block-align,center)}
.dynamic-heading{font-family:var(--font-display);font-size:var(--block-heading-desktop,clamp(26px,3.4vw,44px));line-height:1.18;font-weight:300;margin-bottom:clamp(18px,2.4vw,30px);text-align:var(--block-align,center)}
.page-jp .dynamic-heading{font-family:var(--font-jp)}
.dynamic-paragraphs{display:flex;flex-direction:column;gap:18px}
.dynamic-paragraph{font-size:var(--p-desktop,var(--block-body-desktop,16px));line-height:var(--p-line,var(--block-line-height,1.75));font-weight:var(--p-weight,400);font-family:var(--p-family,inherit);max-width:var(--p-width,100%);text-align:var(--p-align,var(--block-align,center));margin:0}
.is-align-center .dynamic-paragraph{margin-inline:auto}.is-align-right .dynamic-paragraph{margin-left:auto}
.dynamic-list{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;margin-top:24px}
.is-align-left .dynamic-list{justify-content:flex-start}.is-align-right .dynamic-list{justify-content:flex-end}
.dynamic-list-item{font-family:var(--p-family,var(--font-display));font-size:var(--p-desktop,28px);line-height:var(--p-line,1.25);font-weight:var(--p-weight,300);text-align:var(--p-align,var(--block-align,center))}

/* Hero ------------------------------------------------------------------ */
.hero{padding-top:var(--block-pt,clamp(36px,5vw,68px));padding-bottom:max(0px,calc(var(--block-pb,clamp(38px,5vw,66px)) - var(--section-tighten)))}
.hero__name{text-align:center;font-family:var(--font-poster);font-size:clamp(38px,6.6vw,92px);line-height:1;font-weight:400;letter-spacing:.04em;white-space:nowrap}
.hero__name--jp{font-family:var(--font-jp);font-size:clamp(34px,5.6vw,78px);line-height:1.1;font-weight:700;letter-spacing:.06em}
.hero__role{margin-top:clamp(8px,1vw,12px);margin-bottom:clamp(20px,2.6vw,32px);text-align:center;font-family:var(--font-display);font-size:clamp(10px,.85vw,12px);line-height:1.5;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);text-wrap:balance}
.hero__role--jp{font-family:var(--font-jp);font-size:clamp(11px,.95vw,13px);letter-spacing:.2em;text-transform:none}
.hero__layout{width:min(100%,900px);margin-inline:auto;display:grid;grid-template-columns:minmax(170px,1fr) minmax(180px,250px) minmax(170px,1fr);grid-template-areas:"left portrait right";align-items:center;gap:clamp(20px,2.8vw,38px)}
.hero__info{display:flex;flex-direction:column;gap:20px}.hero__info--left{grid-area:left;text-align:right}.hero__info--right{grid-area:right;text-align:left}
.hero__portrait{grid-area:portrait;width:100%;max-width:250px;justify-self:center}.hero__portrait-frame{position:relative;aspect-ratio:3/4;overflow:hidden;background:transparent}.hero__portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:transparent;filter:grayscale(1) contrast(1.04)}
.hero__eyebrow{margin-bottom:8px;font-family:var(--font-display);font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint)}
.hero__value{font-size:15px;line-height:1.6}

/* Home Works ------------------------------------------------------------ */
.works-home .dynamic-content{width:min(100%,1000px);text-align:left}
.works-home .dynamic-heading{text-align:left}
.work-category__title{margin-top:clamp(28px,3.4vw,44px);margin-bottom:8px;font-family:var(--font-display);font-size:clamp(19px,2.1vw,26px);line-height:1.3;font-weight:300;text-align:left}
.work-list{width:100%}
.work-item{border-top:1px solid var(--rule)}
.work-item__summary,.work-item__static{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 96px;column-gap:16px;align-items:start;padding:26px 0;background:transparent;border:0;color:inherit;text-align:left}
.work-item__summary{cursor:pointer;list-style:none}.work-item__summary::-webkit-details-marker{display:none}.work-item__summary:hover{background:var(--row-hover)}
.work-item__number{padding-top:4px;font-family:var(--font-display);font-size:11px;line-height:1.35;color:var(--ink-faint);text-align:left}
.work-item__copy{min-width:0;text-align:left}.work-item__title{display:block;font-family:var(--font-display);font-size:var(--work-title);line-height:1.35;font-weight:400;text-align:left}.page-jp .work-item__title{font-family:var(--font-jp);font-size:var(--work-title-jp);line-height:1.5}
.work-item__role{display:block;margin-top:8px;font-family:var(--font-display);font-size:10px;line-height:1.4;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-meta);text-align:left}.page-jp .work-item__role{font-family:var(--font-jp);letter-spacing:.16em;text-transform:none}
.work-item__action{justify-self:end;padding-top:4px;font-family:var(--font-display);font-size:10px;line-height:1.4;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-meta);white-space:nowrap;text-align:right}.page-jp .work-item__action{font-family:var(--font-jp);letter-spacing:.16em;text-transform:none}
.work-native:not([open]) .work-watch-open{display:none}.work-native[open] .work-watch-closed{display:none}
.work-video-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s ease;border-bottom:0 solid var(--rule)}.work-native[open] .work-video-panel{grid-template-rows:1fr;border-bottom-width:1px}.work-video-panel__inner{min-height:0;overflow:hidden}.work-video-panel__content{padding:clamp(18px,2.5vw,30px) 0 clamp(30px,4vw,52px)}
.work-video-frame{width:min(100%,920px);margin-inline:auto;background:#111;aspect-ratio:16/9;overflow:hidden;display:grid;place-items:center}.work-video-panel--portrait .work-video-frame{width:min(100%,430px);aspect-ratio:9/16;max-height:78vh}.work-video-frame iframe,.work-video-frame video{width:100%;height:100%;border:0;object-fit:cover}.work-video-external{display:flex;min-height:280px;align-items:center;justify-content:center;padding:28px;color:#f3f1ed;text-transform:uppercase;letter-spacing:.14em;font:500 11px/1.4 var(--font-body)}
.view-all-works{margin-top:30px;text-align:center}.view-all-works a{font-family:var(--font-display);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-meta)}

/* Works archive --------------------------------------------------------- */
.works-page-hero{padding-top:var(--block-pt,72px);padding-bottom:var(--block-pb,56px);text-align:var(--block-align,left)}
.works-page-hero__title{font-family:var(--font-poster);font-size:var(--block-heading-desktop,clamp(52px,8vw,104px));line-height:.95;font-weight:400}.page-jp .works-page-hero__title{font-family:var(--font-jp);font-weight:500}
.works-page-hero .dynamic-paragraph{margin-top:26px;max-width:var(--p-width,var(--block-width,760px))}
.works-jump{display:flex;flex-wrap:wrap;gap:14px 24px;margin:0 0 32px}.works-jump a{font-family:var(--font-display);font-size:10px;line-height:1.4;letter-spacing:.22em;color:var(--ink-meta)}.page-jp .works-jump a{font-family:var(--font-jp);letter-spacing:.16em}
.works-archive{width:min(100%,var(--block-width,1200px));margin-inline:auto}
.works-group{padding-top:52px;padding-bottom:58px;border-top:1px solid var(--rule)}
.works-group__header{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:16px;align-items:baseline;margin-bottom:20px;text-align:left}
.works-group__number{font-family:var(--font-display);font-size:10px;line-height:1.4;letter-spacing:.22em;color:var(--ink-faint)}
.works-group__title{font-family:var(--font-display);font-size:10px;line-height:1.4;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-meta);font-weight:400}.page-jp .works-group__title{font-family:var(--font-jp);letter-spacing:.16em;text-transform:none}
.works-empty{padding:56px 0;border-top:1px solid var(--rule)}

/* Contact --------------------------------------------------------------- */
.contact{text-align:center}
.contact__inner{width:min(100%,760px);margin-inline:auto;display:flex;flex-direction:column;align-items:center}
.contact__email{display:inline-block;margin-top:4px;padding-bottom:4px;border-bottom:1px solid var(--rule-strong);font-family:var(--font-display);font-size:clamp(18px,1.8vw,24px);font-weight:300;line-height:1.15;color:var(--ink)}
.contact__socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;align-items:stretch;width:min(100%,340px);margin-top:clamp(30px,4vw,42px)}
.contact-social{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;padding-inline:22px;color:var(--ink);font-family:var(--font-display);font-size:10px;font-weight:500;line-height:1;letter-spacing:.25em;text-transform:uppercase;text-align:center;transition:opacity .18s ease,transform .18s ease}
.contact-social:hover{opacity:.55;transform:translateY(-2px)}
.contact-social+.contact-social{border-left:1px solid var(--rule)}
.contact-social__icon{display:block;flex:none;width:42px;height:42px;margin-bottom:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-social__dot{fill:currentColor;stroke:none}
.contact__location{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:34px;color:var(--ink);white-space:nowrap}
.contact__location-icon{display:block;flex:0 0 18px;width:18px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.contact__location-label{flex:none;font-family:var(--font-display);font-size:9px;font-weight:500;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap}
.contact__location-value{font-size:14px;font-weight:300;line-height:1.3;white-space:nowrap}

/* Photography ----------------------------------------------------------- */
.photography-head{padding-top:var(--block-pt,44px);padding-bottom:var(--block-pb,30px)}
.photography-head__title{font-family:var(--font-poster);font-size:var(--block-heading-desktop,54px);line-height:1.05;font-weight:400}.page-jp .photography-head__title{font-family:var(--font-jp);font-weight:500}
.photography-head__intro{margin-top:14px;max-width:var(--block-width,900px);font-size:var(--block-body-desktop,16px);line-height:var(--block-line-height,1.7)}
.photo-gallery-wrap{width:min(1080px,calc(100% - clamp(24px,6vw,96px)));margin-inline:auto}
.lr-album{padding:clamp(28px,5vw,64px) 0;border-top:1px solid var(--rule)}
.lr-album__title{margin:0 0 24px;font-family:var(--font-body);font-size:clamp(22px,3vw,40px);font-weight:400;line-height:1.05;letter-spacing:-.03em}
.lr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.5vw,18px)}
.lr-item{margin:0;background:var(--slot);overflow:hidden;min-height:0;aspect-ratio:4/5}.lr-item--wide{grid-column:span 2;aspect-ratio:16/9}.lr-item--standard{aspect-ratio:1}.lr-item--portrait{aspect-ratio:3/4}.lr-item img{width:100%;height:100%;object-fit:cover}
.lr-more{display:block;margin:32px auto 0;border:1px solid rgba(20,20,20,.45);background:transparent;padding:11px 26px;font:500 11px/1 var(--font-body);letter-spacing:.16em;cursor:pointer}.lr-more:hover{background:var(--ink);color:var(--canvas)}

/* Footer ---------------------------------------------------------------- */
.site-footer{border-top:1px solid var(--rule)}.site-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding-top:32px;padding-bottom:44px;font-family:var(--font-display);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint)}

/* Responsive ------------------------------------------------------------ */
@media(min-width:900px){
  .lr-grid--cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lr-grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lr-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lr-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lr-grid--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lr-grid--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lr-grid--cols-1 .lr-item--wide{grid-column:span 1}.lr-grid:not(.lr-grid--cols-1) .lr-item--wide{grid-column:span 2}
}
@media(max-width:959px){
  .hero__layout{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"portrait portrait" "left right";width:min(100%,680px);gap:28px 34px}.hero__portrait{width:clamp(180px,32vw,240px)}.hero__info--left,.hero__info--right{text-align:center}
}
@media(max-width:767px){
  :root{--header-h:56px}
  .site-version-badge{top:6px;left:7px;font-size:8px;opacity:.45}
  .site-nav{display:none;position:absolute;top:100%;left:0;width:100%;margin:0;padding:8px var(--gutter) 16px;background:var(--canvas);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .site-header[data-nav-open="true"] .site-nav{display:block}
  .site-nav__list{flex-direction:column;align-items:flex-start;gap:0}.site-nav__list a{display:block;padding:10px 0}
  .nav-toggle{display:flex}
  .dynamic-section{padding-top:max(0px,calc(var(--block-pt,32px) - var(--section-tighten)));padding-bottom:max(0px,calc(var(--block-pb,32px) - var(--section-tighten)))}.section-label{margin-bottom:16px}.dynamic-heading{font-size:var(--block-heading-mobile,30px)}.dynamic-paragraph{font-size:var(--p-mobile,var(--block-body-mobile,14px))}.dynamic-list-item{font-size:var(--p-mobile,20px)}
  .work-item__summary,.work-item__static{grid-template-columns:34px minmax(0,1fr) 62px;column-gap:8px;padding:22px 0}.work-item__action{font-size:9px;letter-spacing:.14em}
  .work-video-panel__content{padding:14px 0 30px}.work-video-panel--portrait .work-video-frame{width:min(86vw,390px);max-height:none}
  .works-page-hero__title{font-size:var(--block-heading-mobile,clamp(48px,16vw,76px))}
  .photography-head__title{font-size:var(--block-heading-mobile,36px)}.photography-head__intro{font-size:var(--block-body-mobile,14px)}
  .contact__email{font-size:clamp(18px,5.4vw,22px);overflow-wrap:anywhere}.contact__socials{width:min(100%,290px);margin-top:34px}.contact-social{padding-inline:16px;font-size:9px;letter-spacing:.21em}.contact-social__icon{width:36px;height:36px;margin-bottom:11px}.contact__location{gap:6px;margin-top:28px;max-width:100%}.contact__location-icon{flex-basis:15px;width:15px;height:20px}.contact__location-label{font-size:8px;letter-spacing:.19em}.contact__location-value{font-size:11px}
  .site-footer__inner{padding-top:28px;padding-bottom:36px}
}
@media(max-width:560px){
  .hero{padding-top:max(0px,calc(var(--block-pt,40px) - 20px))}.hero__name{font-size:clamp(34px,11.2vw,48px);line-height:.92;letter-spacing:.025em;white-space:nowrap}.hero__role{margin-top:8px;margin-bottom:6px}.hero__layout{grid-template-columns:1fr;grid-template-areas:"portrait" "left" "right";gap:10px}.hero__portrait{width:min(62vw,220px);margin-block:-10px}.hero__info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;text-align:center}
  .lr-grid{gap:6px}.lr-album{padding:28px 0}
  .works-group{padding-top:42px;padding-bottom:48px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-video-panel{transition:none}}
