/* Round 2: master-derived raster layers + real layout. See asset provenance. */
:root { --folio-paper:#f5ebdb; --folio-ink:#29382f; --folio-muted:#7e7562; --folio-gold:#b58d4e; --folio-header:clamp(64px,5.4vw,94px); }
[data-theme="dark"] { --folio-paper:#10221c; --folio-ink:#e4dfce; --folio-muted:#a4ad98; --folio-gold:#af9561; }
body:has(#view-home:not(.hidden)) { background:var(--folio-paper); color:var(--folio-ink); position:relative; }
body:has(#view-home:not(.hidden))::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:url('assets/master-derived/paper-extract-derived.svg') repeat; background-size:72px 144px; opacity:1; }
[data-theme="dark"] body:has(#view-home:not(.hidden))::before { opacity:.065; mix-blend-mode:luminosity; }
.app-shell { position:relative; }
body:has(#view-home:not(.hidden)) .app-shell { background:var(--folio-paper) url('assets/master-derived/paper-extract-derived.svg') repeat; background-size:72px 144px; }
body:has(#view-home:not(.hidden))::before { display:none; }
[data-theme="dark"] body:has(#view-home:not(.hidden)) .app-shell { background:var(--folio-paper); }
body:has(#view-home:not(.hidden)) .ambience { display:none; }
.master-filter-definitions { position:absolute; overflow:hidden; pointer-events:none; }
body:has(#view-home:not(.hidden)) header.site-header { height:var(--folio-header); min-height:0; padding:0; border:0; background:transparent; box-shadow:none; backdrop-filter:none; z-index:20; }
body:has(#view-home:not(.hidden)) header.site-header::after { content:""; position:absolute; height:1px; background:rgba(160,128,73,.19); left:3.25%; right:3.25%; bottom:0; z-index:-1; }
body:has(#view-home:not(.hidden)) .header-container { max-width:1920px; width:100%; height:100%; padding:0 5.2%; display:flex; justify-content:flex-start; gap:0; }
.master-brand-mark { width:clamp(44px,4vw,64px); height:clamp(42px,3.75vw,60px); flex:none; }
body:has(#view-home:not(.hidden)) .brand-wrap { gap:12px; }
body:has(#view-home:not(.hidden)) .brand-title { color:var(--folio-ink); font-family:var(--font-literary); font-size:clamp(26px,2.45vw,44px); font-weight:700; letter-spacing:.08em; }
body:has(#view-home:not(.hidden)) .site-nav { margin-left:3.7vw; gap:3.1vw; font-family:var(--font-literary); }
body:has(#view-home:not(.hidden)) .nav-text-link { padding:0; font-size:clamp(13px,1.1vw,18px); font-weight:600; color:var(--folio-ink); }
.nav-islands-link { display:none; }
body:has(#view-home:not(.hidden)) .header-right-actions { margin-left:auto; gap:10px; color:var(--folio-ink); font-family:var(--font-literary); }
body:has(#view-home:not(.hidden)) .header-right-actions::before { content:""; height:15px; width:1px; background:var(--folio-gold); margin-right:12px; opacity:.65; }
body:has(#view-home:not(.hidden)) .header-sep { display:none; }
body:has(#view-home:not(.hidden)) .action-btn-text { font-family:var(--font-literary); font-size:14px; color:var(--folio-ink); }
body:has(#view-home:not(.hidden)) .action-btn-icon { width:26px; height:32px; color:var(--folio-muted); }
#themeToggleBtn { position:relative; }
#themeToggleBtn #themeIcon { font-size:0; }
#themeToggleBtn::after { content:""; width:13px; height:13px; border-radius:50%; display:block; background:linear-gradient(95deg,#d1b67b 40%,#9a783e 80%); box-shadow:inset -3px -1px 3px #72512644; }
[data-theme="dark"] .master-brand-mark image { filter:url(#master-night-key); }
#view-home { position:relative; max-width:1920px; width:100%; margin:0 auto; }
section.hero-section { height:calc(min(100vw,1920px)*.3218 - var(--folio-header)); min-height:350px; overflow:visible; isolation:auto; border:0; background:transparent; }
.hero-visual-stage.master-visual-stage { inset:0; width:100%; height:100%; mask:none; -webkit-mask:none; z-index:21; pointer-events:none; }
.master-hero-art,.master-orbit-detail { width:100%; height:auto; position:absolute; top:calc(-1*var(--folio-header)); left:0; overflow:visible; pointer-events:none; }
.master-orbit-detail { color:var(--folio-gold); z-index:1; }
[data-theme="light"] .master-raster-paint { filter:url(#master-paper-normalize); }
[data-theme="light"] .hero-visual-stage.master-visual-stage,[data-theme="light"] .island-artwork-card { mix-blend-mode:multiply; }
.master-brand-mark { overflow:hidden; border-radius:50%; }
.night-waterfall-detail { display:none; }
[data-theme="dark"] .night-waterfall-detail { display:block; }
body.folio-scrolled:has(#view-home:not(.hidden)) header.site-header { z-index:50; background:color-mix(in srgb,var(--folio-paper) 94%,transparent); backdrop-filter:blur(12px); }
[data-theme="dark"] body:has(#view-home:not(.hidden)) header.site-header { background:transparent; }
[data-theme="dark"] body.folio-scrolled:has(#view-home:not(.hidden)) header.site-header { background:#10221cee; }
[data-theme="dark"] .master-raster-paint { filter:url(#master-night-key); }
.hero-content { z-index:22; width:85.2%; max-width:none; padding:2.2vw 0 22px; margin:auto; height:100%; justify-content:flex-start; }
.hero-title { color:var(--folio-ink); font-size:clamp(38px,3.15vw,60px); line-height:1.22; font-weight:600; letter-spacing:.045em; margin:0 0 .8vw; max-width:40%; }
.hero-sub-en { font-family:var(--font-display); color:#9c8968; font-size:clamp(8px,.68vw,12px); line-height:1.7; letter-spacing:.23em; margin:0 0 1.2vw; max-width:270px; }
.hero-rule { width:25px; margin-bottom:1.1vw; background:var(--folio-gold); }
.hero-quote-block { font-family:var(--font-literary); font-size:clamp(11px,.91vw,17px); line-height:1.8; font-weight:400; letter-spacing:.045em; color:var(--folio-muted); width:34%; margin:0 0 1.4vw; }
.btn-hero-primary { font-family:var(--font-literary); font-size:clamp(12px,.96vw,17px); line-height:1.4; min-height:43px; padding:10px 30px; gap:24px; background:linear-gradient(100deg,#20382d,#2a4538); color:#d5bc82; border:1px solid #9c864e88; box-shadow:inset 0 0 10px #d5b87933,0 3px 9px #6b582016; }
.hero-vertical-quote { right:4.7%; bottom:5%; width:100px; color:var(--folio-muted); text-shadow:none; font-size:clamp(11px,.93vw,16px); letter-spacing:.12em; z-index:23; }
.hero-vertical-quote .quote-en { color:#9c8968; font-size:clamp(7px,.58vw,10px); line-height:1.75; padding-top:12px; margin-top:10px; border:0; position:relative; }
.hero-vertical-quote .quote-en::before { content:"/"; position:absolute; top:-6px; left:0; color:var(--folio-gold); }
[data-theme="dark"] .hero-quote-block,[data-theme="dark"] .hero-vertical-quote { color:var(--folio-muted); }
[data-theme="dark"] .hero-sub-en,[data-theme="dark"] .hero-vertical-quote .quote-en { color:#b3a381; }
section.archipelago-section { position:relative; width:93.5%; max-width:none; padding:26px 0 0; margin:0 auto; border:0; scroll-margin-top:calc(var(--folio-header) + 15px); }
.archipelago-section::before { content:""; position:absolute; height:1px; background:rgba(160,128,73,.2); left:0; right:0; top:0; }
.archipelago-header { display:flex; gap:20px; align-items:center; margin:0; padding:0; border:0; }
.section-title-wrap { flex-shrink:0; gap:13px; }
.section-bar { background:var(--folio-gold); width:3px; height:20px; }
.section-title { font-family:var(--font-literary); font-size:clamp(24px,2.15vw,38px); letter-spacing:.07em; font-weight:600; color:var(--folio-ink); }
.section-subtitle-en { font-family:var(--font-display); font-size:clamp(9px,.7vw,13px); letter-spacing:.2em; font-weight:400; color:#9c8968; }
.archipelago-header::after { content:""; flex:1; height:1px; background:rgba(160,128,73,.22); order:1; }
.section-quote-right { font-family:var(--font-literary); font-size:clamp(11px,.92vw,17px); letter-spacing:.05em; color:var(--folio-muted); white-space:nowrap; order:2; }
.section-quote-right::after { content:""; display:inline-block; width:26px; height:1px; vertical-align:middle; background:var(--folio-gold); margin-left:24px; }
.islands-master-grid { grid-template-columns:minmax(0,1.28fr) repeat(2,minmax(0,1fr)); gap:4vw; }
.island-chapter-col { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:clamp(168px,12.4vw,238px) auto; min-width:0; position:relative; }
.island-chapter-col:not(:last-child)::after { content:""; position:absolute; width:1px; background:rgba(160,128,73,.18); top:20px; bottom:0; right:-2vw; }
.chapter-meta-top { grid-area:1/1; z-index:4; width:47%; margin:16px 0 0 7%; pointer-events:none; }
.chapter-num { font-family:var(--font-display); font-size:clamp(14px,1.16vw,22px); font-weight:400; color:var(--folio-gold); letter-spacing:.08em; margin-bottom:4px; }
.chapter-heading-wrap { display:block; margin:0; }
.chapter-name { font-family:var(--font-literary); font-size:clamp(22px,1.9vw,35px); line-height:1.3; font-weight:600; letter-spacing:.05em; color:var(--folio-ink); margin-bottom:2px; }
.chapter-name-en { display:block; font-family:var(--font-display); font-size:clamp(8px,.65vw,12px); color:var(--folio-gold); letter-spacing:.25em; font-weight:400; }
.chapter-name-en::after { content:""; display:block; width:21px; height:1px; background:var(--folio-gold); margin-top:13px; margin-bottom:12px; }
.chapter-desc { font-family:var(--font-literary); font-size:clamp(10px,.92vw,17px); line-height:1.8; letter-spacing:.04em; color:var(--folio-muted); }
.island-artwork-card { grid-area:1/1; justify-self:end; align-self:center; width:82%; height:100%; aspect-ratio:auto; position:relative; overflow:visible; background:transparent; border:0; border-radius:0; margin:0; z-index:3; cursor:default; }
.island-artwork-card:hover { transform:none; }
.island-master-art { display:block; width:100%; height:100%; overflow:visible; }
.island-svg-overlay { width:69%; left:22%; opacity:.45; }
#col-observe .island-svg-overlay { width:20%; height:33%; top:0; left:auto; right:12%; opacity:.65; }
#col-connect .island-svg-overlay { width:85%; height:75%; left:12%; top:-7%; opacity:.3; }
#col-collect .island-svg-overlay { width:63%; height:74%; left:30%; top:0; opacity:.25; }
.chapter-services-row { grid-area:2/1; gap:10px; margin:0; position:relative; z-index:5; }
.service-master-card { min-width:0; min-height:clamp(134px,9.4vw,180px); border-radius:11px; border:1px solid rgba(171,144,94,.28); padding:14px 20px 12px; color:var(--folio-ink); background:rgba(255,251,239,.32); box-shadow:0 5px 12px #78623e0c,inset 0 0 22px #fff8e82b; position:relative; overflow:hidden; }
.service-master-card::before { content:""; position:absolute; inset:0; z-index:-1; background:url('assets/brand/fuyu/v1/drawer-landscape.webp') right bottom/100% auto no-repeat; opacity:.34; mask-image:linear-gradient(to bottom,transparent 48%,#000 100%); -webkit-mask-image:linear-gradient(to bottom,transparent 48%,#000 100%); pointer-events:none; }
.service-master-card:hover { background:rgba(255,252,243,.6); border-color:#af8a4c; box-shadow:0 7px 15px #785a2420; }
.card-icon-tag { width:37px; height:37px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#fff4d9aa; box-shadow:0 0 8px #bd974b22; color:#865a27; margin:0 0 9px; }
.card-icon-tag svg { width:25px; height:25px; }
.card-title-text,.card-sub-text { font-family:var(--font-literary); font-size:clamp(11px,.96vw,18px); line-height:1.32; font-weight:400; color:var(--folio-ink); margin:0; }
.card-sub-text { font-size:clamp(10px,.9vw,17px); }
.card-arrow-mark { color:#986c33; align-self:flex-start; font-size:18px; margin-top:9px; }
.astrolabe-core-interactive { width:38px; height:38px; left:78%; top:20%; }
.astrolabe-core-interactive svg { width:36px; height:36px; }
.core-pulse-beacon { width:7px; height:7px; box-shadow:0 0 6px #bc955b; }
.core-hint-badge { opacity:0; bottom:-20px; }
.astrolabe-core-interactive:hover .core-hint-badge,.astrolabe-core-interactive:focus-visible .core-hint-badge { opacity:1; }
.fission-celestial-canvas { inset:-25px -5px -110px -35%; min-height:310px; z-index:40; }
.island-artwork-card:has(.fission-celestial-canvas.active) { z-index:40; }
[data-theme="dark"] .service-master-card { background:#1730284d; border-color:#9e885443; box-shadow:inset 0 0 20px #14291f44,0 5px 15px #0002; }
[data-theme="dark"] .service-master-card::before { background-image:url('assets/brand/fuyu/v1/drawer-landscape-dark.webp'); opacity:.28; }
[data-theme="dark"] .card-icon-tag { background:#a58b3920; color:#c1a36c; }
[data-theme="dark"] .card-arrow-mark { color:#c1a36c; }
section.about-section { max-width:none; width:93.5%; margin:24px auto 0; padding:0; border:0; }
.about-master-card { background:transparent; border-color:#ad8a4733; box-shadow:0 4px 13px #8a713611; }
.about-main-col,.about-bio-text,.about-author-sub { font-family:var(--font-literary); }
#view-dashboard .archipelago-header { flex-wrap:wrap; align-items:flex-start; }
#view-dashboard .archipelago-header::after { display:none; }
#view-dashboard .section-title-wrap { flex-shrink:1; flex-wrap:wrap; min-width:0; max-width:100%; }
#view-dashboard .section-title { font-size:clamp(18px,2vw,28px); max-width:100%; overflow-wrap:anywhere; line-height:1.5; }
body:has(#view-home:not(.hidden)) footer.site-footer { border:0; background:transparent; padding-top:24px; }
[data-theme="dark"] body:has(#view-home:not(.hidden)) footer.site-footer { background:transparent; }
@media(min-width:1700px) { .hero-content { padding-top:2.5vw; } }
@media(max-width:1100px) and (min-width:769px) { section.hero-section { min-height:360px; } .master-hero-art,.master-orbit-detail { top:calc(-.7*var(--folio-header)); } .hero-content { padding-top:26px; } .hero-title { font-size:35px; } .hero-quote-block { font-size:10.5px; width:37%; } .hero-sub-en { margin-bottom:13px; } .hero-rule { margin-bottom:13px; } .hero-vertical-quote { right:3%; width:85px; bottom:5%; } .islands-master-grid { gap:3vw; } .island-chapter-col:not(:last-child)::after { right:-1.5vw; } .service-master-card { padding:12px 10px; } .chapter-desc { font-size:10px; } }
@media(max-width:768px) {
 :root { --folio-header:68px; }
 body:has(#view-home:not(.hidden)) .header-container { padding:0 6%; }
 body:has(#view-home:not(.hidden)) .brand-wrap { gap:7px; }
 .master-brand-mark { width:39px; height:39px; }
 body:has(#view-home:not(.hidden)) .brand-title { font-size:24px; }
 .mobile-services-capsule { margin-left:auto; margin-right:12px; padding:6px 12px; font-family:var(--font-literary); font-size:11px; background:transparent; border-color:#b89a653d; }
 body:has(#view-home:not(.hidden)) .header-right-actions { margin-left:0; gap:4px; }
 body:has(#view-home:not(.hidden)) .header-right-actions::before { margin-right:6px; height:20px; }
 body:has(#view-home:not(.hidden)) .action-btn-text { font-size:11px; }
 body:has(#view-home:not(.hidden)) .action-btn-icon { width:23px; }
 #themeToggleBtn { display:flex; }
 .mobile-services-capsule > span:first-child { display:initial; }
 body:has(#view-home:not(.hidden)) .action-btn-text { display:inline-flex; }
 body:has(#view-home:not(.hidden)) .site-nav { display:none; }
 section.hero-section { height:480px; min-height:0; display:block; }
 .hero-visual-stage.master-visual-stage { top:67px; height:300px; overflow:hidden; z-index:1; }
 .master-hero-art,.master-orbit-detail { width:190%; max-width:none; left:-55%; top:0; }
 .hero-content { width:86%; padding:27px 0 0; height:100%; min-height:0; z-index:3; display:flex; }
 .hero-title { font-size:32px; line-height:1.28; max-width:72%; letter-spacing:.04em; margin-bottom:12px; }
 .hero-sub-en { font-size:8px; line-height:1.7; margin:0; max-width:170px; }
 .hero-rule { display:none; }
 .hero-quote-block { width:77%; font-size:11.5px; line-height:1.9; letter-spacing:.02em; margin:170px 0 17px; }
 .hero-quote-block span { display:inline; }
 .hero-quote-block span:first-child { display:block; }
 .hero-quote-block span:last-child { display:none; }
 .btn-hero-primary { font-size:12px; min-height:42px; padding:10px 22px; gap:20px; }
 .hero-vertical-quote { bottom:30px; right:6%; font-size:10px; width:76px; z-index:3; letter-spacing:.07em; }
 .hero-vertical-quote .quote-en { font-size:6px; margin-top:8px; padding-top:8px; }
 section.archipelago-section { width:88%; padding-top:22px; }
 .archipelago-header { flex-wrap:wrap; column-gap:8px; row-gap:8px; margin-bottom:14px; }
 .section-title-wrap { gap:9px; }
 .section-title { font-size:23px; }
 .section-subtitle-en { font-size:8px; letter-spacing:.15em; }
 .section-bar { height:21px; }
 .archipelago-header::after { min-width:25px; }
 .section-quote-right { width:100%; text-align:right; font-size:10px; }
 .section-quote-right::after { display:none; }
 .islands-master-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .island-chapter-col { grid-template-rows:160px auto; }
 .island-chapter-col:not(:last-child)::after { display:none; }
 .chapter-meta-top { width:46%; margin:16px 0 0; }
 .chapter-num { font-size:19px; display:inline; margin:0 8px 0 0; }
 .chapter-heading-wrap { display:inline; }
 .chapter-name { display:inline; font-size:24px; }
 .chapter-name-en { margin-top:5px; font-size:8px; }
 .chapter-name-en::after { margin-top:12px; margin-bottom:11px; width:20px; }
 .chapter-desc { font-size:11px; line-height:1.8; }
 .island-artwork-card { width:79%; }
 .service-master-card { padding:12px 12px 10px; min-height:115px; border-radius:10px; }
 .chapter-services-row { gap:9px; }
 .chapter-services-row.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .chapter-services-row.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .card-icon-tag { width:30px; height:30px; margin-bottom:8px; }
 .card-icon-tag svg { width:23px; height:23px; }
 .card-title-text { font-size:11px; }
 .card-sub-text { font-size:10px; }
 .card-arrow-mark { font-size:16px; margin-top:7px; }
 .cols-2 .service-master-card { min-height:86px; flex-direction:row; align-items:flex-start; padding:12px 14px; }
 .cols-2 .service-master-card>div:first-child { display:grid; grid-template-columns:29px 1fr; column-gap:8px; align-items:start; }
 .cols-2 .card-icon-tag { grid-row:span 2; margin:2px 0 0; }
 .cols-2 .card-arrow-mark { position:absolute; right:12px; bottom:9px; }
 .fission-celestial-canvas { inset:-10px -5px -125px -29%; min-height:300px; padding:14px; }
 .fission-canvas-title { font-size:11px; }
 section.about-section { width:88%; margin-top:24px; }
 .about-master-card { padding:18px; gap:15px; }
 .about-main-col { min-width:0; }
 .about-bio-text { font-size:11px; }
}
@media(max-width:350px) {
 .mobile-services-capsule { padding:5px 8px; margin-right:8px; font-size:10px; }
 body:has(#view-home:not(.hidden)) .header-container { padding:0 5%; }
 body:has(#view-home:not(.hidden)) .brand-title { font-size:22px; }
 .master-brand-mark { width:32px; height:34px; }
 body:has(#view-home:not(.hidden)) .header-right-actions::before { margin-right:3px; }
 section.hero-section { height:480px; }
 .hero-title { font-size:29px; }
 .hero-quote-block { width:86%; margin-top:172px; font-size:10.5px; }
 .hero-vertical-quote { bottom:21px; right:5%; width:66px; font-size:9px; }
 .hero-vertical-quote .quote-en { display:none; }
 .btn-hero-primary { padding:10px 18px; gap:13px; }
 .section-title { font-size:21px; }
 .section-subtitle-en { font-size:7px; }
 .card-title-text { font-size:10px; }
 .card-sub-text { font-size:9px; }
 .service-master-card { padding:11px 9px; }
 .chapter-desc { font-size:10px; }
}
@media(min-width:550px) and (max-width:768px) {
 .master-hero-art,.master-orbit-detail { width:110%; left:-10%; }
 .hero-visual-stage.master-visual-stage { top:80px; height:310px; }
 .hero-quote-block { margin-top:180px; max-width:340px; }
}
@media(prefers-reduced-motion:reduce) { .master-orbit-detail { display:none; } }
