/* Shared public card, private preview and personal-page primitives. */
.sc-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:36px; }
.sc-heading h1 { font:700 clamp(34px,5vw,64px)/1.2 var(--font-display); margin:12px 0 18px; }
.sc-heading p { color:var(--muted); max-width:650px; }
.sc-label { font:11px/1.5 var(--font-mono); letter-spacing:.16em; color:var(--sc-accent,var(--accent-2)); }
.sc-palette--cyan { --sc-accent:#65dfec; --sc-soft:#15373e; }
.sc-palette--copper { --sc-accent:#efb77a; --sc-soft:#3e2d20; }
.sc-palette--silver { --sc-accent:#d5dceb; --sc-soft:#2f333d; }
.sc-identity { display:flex; align-items:center; gap:16px; min-width:0; }
.sc-identity-text { min-width:0; }
.sc-avatar { width:64px; height:64px; flex:0 0 auto; position:relative; display:grid; place-items:center; background:var(--sc-soft); border:1px solid #a8b8bf90; color:var(--sc-accent); font:400 28px var(--font-body); overflow:hidden; }
.sc-avatar img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.sc-avatar--square { border-radius:12px; }
.sc-avatar--round { border-radius:50%; }
.sc-name { font:700 24px/1.35 var(--font-body); margin:0 0 8px; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sc-meta { color:#b7c0c9; font:14px/1.65 var(--font-body); margin:0; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sc-meta span { margin-inline:3px; }
.sc-direction-detail { color:var(--sc-accent); font-size:14px; margin:3px 0 0; overflow:hidden; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow-wrap:anywhere; }
.sc-official { display:flex; align-items:center; gap:5px; width:fit-content; max-width:100%; border:1px solid #65dfec70; border-radius:6px; padding:4px 8px; margin:10px 0 0; font:11px/1.6 var(--font-body); color:#79d6e3; background:#071015de; }
.sc-official svg { flex-shrink:0; }
.sc-official span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.sc-tags { display:flex; flex-wrap:wrap; list-style:none; gap:7px; padding:0; margin:0; }
.sc-tags li { padding:3px 9px; border:1px solid #d5e4e638; border-radius:5px; color:inherit; font:12px/1.5 var(--font-body); overflow-wrap:anywhere; }
.sc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 16px; }
.sc-card { --sc-ink:#f1f2ef; --sc-muted:#b6bbb9; --sc-surface:#071015; width:100%; aspect-ratio:3/5; min-width:0; position:relative; isolation:isolate; overflow:hidden; border:1px solid #9da9ae50; border-radius:11px; color:var(--sc-ink); background:var(--sc-surface); container-type:inline-size; transition:transform .35s var(--ease-out),border-color .35s,box-shadow .35s; }
.sc-card-surface,.sc-photo,.sc-photo-mask,.sc-card-texture { position:absolute; inset:0; pointer-events:none; }
.sc-card-surface { z-index:-1; background:var(--sc-surface); overflow:hidden; }
.sc-preset--graphite { --sc-surface:#0a1921; }
.sc-preset--copper { --sc-surface:#251e1a; }
.sc-background--gradient.sc-preset--graphite .sc-card-surface { background:radial-gradient(ellipse at 90% 0,#20384388,transparent 70%),linear-gradient(130deg,#0d2029,#050e12 78%); }
.sc-background--gradient.sc-preset--copper .sc-card-surface { background:radial-gradient(ellipse at 0 0,#704b3177,transparent 70%),linear-gradient(130deg,#29221d,#100e0d); }
.sc-preset--ivory:not(.sc-has-photo) { --sc-ink:#192629; --sc-muted:#3c4c50; --sc-accent:#165b6b; --sc-soft:#f0e8d7; --sc-surface:#e6decf; border-color:#d3cbbf80; }
.sc-background--gradient.sc-preset--ivory .sc-card-surface { background:radial-gradient(ellipse at 5% 0,#f5e6ce,transparent 78%),linear-gradient(118deg,#e5d4b9 12%,#b6c7c6 65%,#689ba8); }
.sc-photo { overflow:hidden; }
.sc-photo img { width:100%; height:100%; object-fit:cover; object-position:var(--sc-x,50%) var(--sc-y,50%); transform:scale(var(--sc-zoom,1)); transform-origin:var(--sc-x,50%) var(--sc-y,50%); transition:transform .65s var(--ease-out); }
.sc-blur--soft { filter:blur(4px); inset:-8px; }
.sc-blur--medium { filter:blur(8px); inset:-16px; }
.sc-photo-mask { background:linear-gradient(180deg,#050b0d0a 0%,#050b0d16 30%,#050b0da8 52%,#050b0ded 77%,#050b0df7 100%); }
.sc-mask--deep { background:linear-gradient(180deg,#050b0d22,#050b0d55 30%,#050b0dd1 55%,#050b0df5 85%); }
.sc-mask--strong { background:linear-gradient(180deg,#050b0d55,#050b0d99 35%,#050b0ded 60%,#050b0dfa); }
.sc-card--type.sc-has-photo .sc-photo-mask { background:#050b0dcc; }
.sc-card--plate.sc-has-photo .sc-photo-mask { background:linear-gradient(#050b0d55,#050b0dd1 25%,#050b0de8 65%,#050b0df5); }
.sc-texture--grid .sc-card-texture { background-image:linear-gradient(120deg,transparent 65%,#65dfec06 65.2%,transparent 65.4%),repeating-linear-gradient(150deg,transparent 0 45px,#65dfec06 46px,transparent 47px); mask-image:linear-gradient(transparent 42%,#000); }
.sc-texture--lines .sc-card-texture { background-image:repeating-linear-gradient(135deg,transparent 0 9px,#ffffff08 9px 10px); opacity:.35; }
.sc-preset--ivory .sc-card-texture { background-image:url("../img/tex-copper-light.b316ab198301.webp"); background-size:cover; mix-blend-mode:multiply; opacity:.065; mask-image:none; }
.sc-texture--none .sc-card-texture { background:none; }
.sc-card-content { position:absolute; inset:24px; display:flex; flex-direction:column; min-height:0; }
.sc-card-identity { flex:0 0 auto; min-width:0; }
.sc-card .sc-identity { display:block; }
.sc-card .sc-avatar { width:60px; height:60px; margin-bottom:12px; background:#142328; box-shadow:0 2px 12px #0002; }
.sc-card .sc-name { font-size:clamp(21px,8cqi,30px); margin-bottom:5px; color:var(--sc-ink); }
.sc-card .sc-meta { color:var(--sc-muted); }
.sc-card--gallery .sc-card-content { justify-content:flex-end; top:auto; bottom:36px; max-height:calc(100% - 60px); }
.sc-card--gallery.sc-has-photo .sc-card-content::before { content:''; position:absolute; inset:-18px -24px -36px; z-index:-1; pointer-events:none; background:linear-gradient(180deg,transparent,#050b0da8 24%,#050b0dd9 65%); }
.sc-card-modules { display:flex; flex-direction:column; gap:12px; min-height:0; overflow:hidden; margin-top:16px; padding-right:0; }
.sc-card-intro { font:400 16px/1.85 var(--font-body); color:var(--sc-muted); margin:0; white-space:pre-line; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; flex-shrink:1; min-height:0; }
.sc-card .sc-tags { padding-right:22px; color:var(--sc-muted); max-height:61px; overflow:hidden; flex-shrink:0; }
.sc-card--gallery .sc-tags { margin-top:20px; }
.sc-card--gallery.sc-has-position .sc-tags { margin-top:0; }
.sc-card-work { font:12px/1.8 var(--font-body); color:#e0b57f; flex-shrink:1; overflow:hidden; min-height:0; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; }
.sc-card-work a { color:inherit; position:relative; z-index:3; }
.sc-card-link { color:var(--sc-ink); position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:flex-end; padding:22px; z-index:2; font:300 27px/1 var(--font-body); text-decoration:none; }
.sc-card-link span { transition:transform .35s var(--ease-out); }
.sc-card-link:focus-visible { outline:2px solid var(--sc-accent); outline-offset:-5px; border-radius:10px; }
.sc-card:focus-within { border-color:var(--sc-accent); }
.sc-card--plate .sc-card-content { padding-top:22%; }
.sc-card--plate .sc-avatar { width:78px; height:78px; font-size:36px; margin-bottom:20px; background:radial-gradient(#15404b66,#081116); }
.sc-card--plate .sc-card-modules { flex:1; margin-top:18px; }
.sc-card--plate .sc-card-modules::before { content:''; width:18px; height:2px; background:var(--sc-accent); margin-bottom:4px; }
.sc-card--plate .sc-tags { margin-top:auto; }
.sc-card--type .sc-card-content { inset:30px; }
.sc-card-quote { flex:1; min-height:0; overflow:hidden; padding-top:28px; margin-bottom:28px; }
.sc-rule { display:block; width:22px; height:2px; background:var(--sc-accent); margin-bottom:30px; }
.sc-card-quote p { font:600 clamp(26px,12cqi,44px)/1.55 var(--font-serif); color:var(--sc-ink); margin:0; white-space:pre-line; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.sc-card--type .sc-identity { display:flex; gap:12px; }
.sc-card--type .sc-avatar { width:54px; height:54px; margin:0; background:#303733; color:#eee9df; font-size:26px; }
.sc-card--type .sc-name { font-size:23px; }
.sc-card--type .sc-card-modules { margin-top:18px; flex-shrink:1; }
.sc-preset--ivory:not(.sc-has-photo) .sc-tags li { border-color:#344e5360; }
.sc-card .sc-official { max-width:100%; }
.sc-page { color:#edf0f5; background:#101316; border:1px solid #394147; padding:42px; border-radius:6px; overflow-wrap:anywhere; }
.sc-page.sc-texture--grid { background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px); background-size:28px 28px; }
.sc-page.sc-texture--lines { background-image:repeating-linear-gradient(120deg,transparent 0 9px,#ffffff04 9px 10px); }
.sc-page-hero { padding-bottom:36px; border-bottom:1px solid #ffffff2c; }
.sc-page-hero .sc-label { margin-bottom:28px; }
.sc-page .sc-name { font-size:clamp(26px,4vw,50px); -webkit-line-clamp:unset; }
.sc-page .sc-avatar { width:88px; height:88px; }
.sc-page .sc-meta { font-size:14px; }
.sc-page-intro { font-size:22px; line-height:1.8; max-width:42em; }
.sc-page-cover { height:300px; position:relative; background:var(--sc-soft); margin-bottom:28px; overflow:hidden; }
.sc-page-cover img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; z-index:1; }
.sc-focus--top .sc-page-cover img { object-position:center top; }
.sc-focus--bottom .sc-page-cover img { object-position:center bottom; }
.sc-focus--left .sc-page-cover img { object-position:left center; }
.sc-focus--right .sc-page-cover img { object-position:right center; }
.sc-art-placeholder { display:block; padding:18px; color:var(--sc-accent); font:700 38px/1.05 var(--font-mono); }
.sc-page-modules { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding-top:36px; }
.sc-section { min-width:0; }
.sc-section h3 { font:700 22px var(--font-body); display:flex; gap:18px; align-items:center; margin:0 0 24px; }
.sc-section--works,.sc-section--gallery { grid-column:1/-1; }
.sc-prose { white-space:normal; line-height:2; color:#d1dae1; }
.sc-works,.sc-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sc-works img,.sc-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--sc-soft); }
.sc-works h4 { font-size:18px; margin:12px 0; }
.sc-works p,.sc-gallery figcaption { font-size:14px; color:#b7c0c9; line-height:1.8; }
.sc-gallery figure { margin:0; }
.sc-history,.sc-links { padding:0; list-style:none; }
.sc-history li { display:flex; gap:12px; flex-wrap:wrap; padding-block:12px; border-bottom:1px solid #ffffff20; font-size:14px; }
.sc-history span { color:#b7c0c9; }
.sc-links li { margin-bottom:16px; }
.sc-page a { color:var(--sc-accent); }
.sc-page--type .sc-page-modules { display:block; max-width:720px; margin-inline:auto; }
.sc-page--type .sc-section { padding-block:24px; border-bottom:1px solid #ffffff20; }
.sc-page--type .sc-page-hero { max-width:720px; margin-inline:auto; }
.sc-page--type .sc-page-intro { font-size:28px; }
.sc-page--gallery .sc-page-modules { grid-template-columns:1fr; }
.sc-empty-module { color:#b7c0c9; font-size:14px; }
.sc-back { margin:30px 0; display:inline-block; }
.sc-pagination { display:flex; gap:20px; justify-content:center; padding-top:36px; font-size:14px; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    .sc-card:hover { transform:translateY(-4px); border-color:#a1c3ccaa; box-shadow:0 12px 32px #0003; }
    .sc-card:hover .sc-photo img { transform:scale(calc(var(--sc-zoom,1) * 1.03)); }
    .sc-card:hover .sc-card-link span { transform:translateX(3px); }
}
@media(max-width:959px) {
    .sc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sc-card { aspect-ratio:3/4; }
    .sc-card-content { inset:20px; }
    .sc-card--plate .sc-card-content { padding-top:8%; }
    .sc-card--type .sc-card-content { inset:24px; }
    .sc-card-quote { padding-top:10px; margin-bottom:16px; }
    .sc-card-quote p { font-size:clamp(26px,10cqi,38px); -webkit-line-clamp:3; }
    .sc-rule { margin-bottom:20px; }
    .sc-card .sc-avatar { width:50px; height:50px; margin-bottom:8px; }
    .sc-card--type .sc-avatar { margin-bottom:0; }
    .sc-card--plate .sc-avatar { width:64px; height:64px; margin-bottom:14px; }
    .sc-card .sc-name { font-size:23px; }
    .sc-card-modules { margin-top:12px; gap:9px; }
    .sc-card-intro { font-size:14px; -webkit-line-clamp:2; }
    .sc-card--gallery .sc-tags { margin-top:8px; }
    .sc-card-link { padding:18px; }
}
@media(max-width:639px) {
    .sc-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
    .sc-card { max-width:430px; margin-inline:auto; }
    .sc-heading { display:block; }
    .sc-page { padding:22px; }
    .sc-page .sc-avatar { width:60px; height:60px; }
    .sc-page-modules,.sc-works,.sc-gallery { grid-template-columns:minmax(0,1fr); }
    .sc-page-cover { height:200px; }
    .sc-page-intro { font-size:18px; }
}
.sc-preview-desktop .sc-card { aspect-ratio:3/5; }
.sc-preview-desktop .sc-card-content { inset:24px; }
.sc-preview-desktop .sc-card--gallery .sc-card-content { top:auto; bottom:36px; }
.sc-preview-desktop .sc-card--plate .sc-card-content { padding-top:22%; }
.sc-preview-desktop .sc-card--type .sc-card-content { inset:30px; }
.sc-preview-desktop .sc-card-quote { padding-top:28px; margin-bottom:28px; }
.sc-preview-desktop .sc-card-quote p { font-size:clamp(26px,12cqi,44px); -webkit-line-clamp:4; }
.sc-preview-desktop .sc-rule { margin-bottom:30px; }
.sc-preview-desktop .sc-card .sc-avatar { width:60px; height:60px; margin-bottom:12px; }
.sc-preview-desktop .sc-card--type .sc-avatar { width:54px; height:54px; margin:0; }
.sc-preview-desktop .sc-card--plate .sc-avatar { width:78px; height:78px; margin-bottom:20px; }
.sc-preview-desktop .sc-card .sc-name { font-size:clamp(21px,8cqi,30px); }
.sc-preview-desktop .sc-card--type .sc-name { font-size:23px; }
.sc-preview-desktop .sc-card-modules { margin-top:16px; gap:12px; }
.sc-preview-desktop .sc-card--type .sc-card-modules { margin-top:18px; }
.sc-preview-desktop .sc-card--plate .sc-card-modules { margin-top:18px; }
.sc-preview-desktop .sc-card-intro { font-size:16px; -webkit-line-clamp:3; }
.sc-preview-desktop .sc-card--gallery .sc-tags { margin-top:20px; }
.sc-preview-desktop .sc-card--gallery.sc-has-position .sc-tags { margin-top:0; }
.sc-preview-desktop .sc-card-link { padding:22px; }
.sc-preview-mobile .sc-card { aspect-ratio:3/4; }
@media(prefers-reduced-motion:reduce) { .sc-card,.sc-photo img,.sc-card-link span { transition:none; animation:none; } }

/* Independent full-page compositions, shared by the editor and public renderer. */
.sc-page{background-color:#0b151b;border-color:#293d49;padding:0;overflow:hidden}
.sc-page-hero{position:relative;padding:46px;border-bottom-color:#2a3d48}
.sc-page .sc-page-identity{position:relative;z-index:2}
.sc-page .sc-page-intro{font-size:20px;line-height:1.9;margin:24px 0;color:#bccdd6;max-width:38em;white-space:pre-line}
.sc-page .sc-page-modules{padding:40px 46px;gap:36px}
.sc-page .sc-section h3{font-size:20px;font-weight:550;letter-spacing:1px;margin-bottom:20px}
.sc-page .sc-section h3 .sc-label{font-size:10px}
.sc-page .sc-prose{color:#a9bdc9;font-size:15px;line-height:2}
.sc-page .sc-works{grid-template-columns:repeat(2,minmax(0,1fr))}
.sc-page .sc-works article{border:1px solid #2d414e;border-radius:6px;overflow:hidden;background:#0d1c24}
.sc-page .sc-work-copy{padding:18px}.sc-page .sc-works h4{font-size:17px;margin:0 0 10px}.sc-page .sc-works p{font-size:13px;line-height:1.9;margin:0 0 12px}.sc-page .sc-work-copy>a{font-size:12px}
.sc-page .sc-work-placeholder{aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(140deg,var(--sc-soft),#091319);color:var(--sc-accent);font:12px var(--font-mono);letter-spacing:.15em}
.sc-page .sc-image-link{display:block;overflow:hidden}.sc-page .sc-image-link img{display:block;transition:transform .4s ease}.sc-page .sc-image-link:focus-visible{outline:2px solid var(--sc-accent);outline-offset:-3px}
.sc-page .sc-gallery{gap:16px}.sc-page .sc-gallery img{border-radius:5px}.sc-page .sc-gallery figcaption{font-size:12px;padding-top:8px}
.sc-page .sc-links a{display:flex;justify-content:space-between;align-items:center;border:1px solid #2b424e;padding:13px 17px;border-radius:5px;font-size:14px;text-decoration:none;background:#10232c55;gap:20px}
.sc-page-signature{border-top:1px solid #2a3d48;margin:0 46px;padding:24px 0;display:flex;justify-content:space-between;gap:18px;color:#688491;font:10px/1.5 var(--font-mono)}
.sc-page--plate .sc-page-hero{display:grid;grid-template-columns:1fr 18%;gap:24px;background:radial-gradient(ellipse at 90% 0,var(--sc-soft),transparent 70%)}
.sc-page--plate .sc-page-hero:after{content:"ESTA";writing-mode:vertical-rl;font:700 65px/1 var(--font-mono);color:#81b6c318;letter-spacing:.1em;align-self:center;justify-self:end}
.sc-page--gallery .sc-page-hero{padding:0;min-height:410px;display:flex;align-items:flex-end}
.sc-page--gallery .sc-page-cover{position:absolute;inset:0;height:auto;margin:0}
.sc-page--gallery .sc-page-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07121b11,#07121b55 35%,#07121be8 85%);z-index:1}
.sc-page--gallery .sc-page-identity{padding:130px 40px 35px;width:100%}
.sc-page--gallery .sc-page-identity>.sc-label{margin-bottom:22px}
.sc-page--gallery .sc-page-intro{margin-top:20px;margin-bottom:16px}
.sc-page--type{background:#e8e2d7;color:#203239}
.sc-page--type .sc-page-hero{padding-top:64px;padding-bottom:36px;text-align:center;border-bottom-color:#20323933;max-width:none;background:linear-gradient(130deg,#f2eadc,#cadad9)}
.sc-page--type .sc-identity{justify-content:center}.sc-page--type .sc-name{font-family:var(--font-serif);font-weight:550;color:#1d3035}
.sc-page--type .sc-page-intro{font-family:var(--font-serif);font-size:30px;color:#35494d;max-width:24em;margin:28px auto}
.sc-page--type .sc-tags{justify-content:center;color:#42606b}.sc-page--type .sc-tags li{border-color:#42606b55}
.sc-page--type .sc-meta,.sc-page--type .sc-prose{color:#475f68}.sc-page--type .sc-page-identity>.sc-label{color:#3e6b73}
.sc-page--type .sc-section{border-bottom-color:#20323933}.sc-page--type .sc-section h3{font-family:var(--font-serif);color:#263f48}
.sc-page--type .sc-label,.sc-page--type a{color:#1d6c79}.sc-page--type .sc-page-modules{max-width:800px}
.sc-page--type .sc-works article{background:#ffffff55;border-color:#76929966}.sc-page--type .sc-works p,.sc-page--type .sc-gallery figcaption,.sc-page--type .sc-history span,.sc-page--type .sc-empty-module{color:#48606a}
.sc-page--type .sc-history li{border-color:#76929955}.sc-page--type .sc-links a{background:#ffffff55;border-color:#76929955}.sc-page--type .sc-page-signature{border-color:#76929966;color:#57717d}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.sc-page .sc-image-link:hover img{transform:scale(1.025)}}
@media(max-width:639px){.sc-page-hero,.sc-page .sc-page-modules{padding:25px 21px}.sc-page .sc-page-modules{gap:27px}.sc-page .sc-works{grid-template-columns:1fr}.sc-page .sc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-page--gallery .sc-page-identity{padding:100px 21px 28px}.sc-page--gallery .sc-page-hero{min-height:350px}.sc-page--plate .sc-page-hero{display:block}.sc-page--plate .sc-page-hero:after{display:none}.sc-page--type .sc-page-hero{padding-top:42px}.sc-page--type .sc-page-intro{font-size:24px}.sc-page-signature{margin:0 21px;font-size:9px;flex-wrap:wrap}.sc-page .sc-section h3{font-size:18px}.sc-page .sc-prose{font-size:14px}}
@media(prefers-reduced-motion:reduce){.sc-page .sc-image-link img{transition:none}}
