/* Gallery layout, Obsidian frames, dark Blueprint grid and Nocturne colors. */
:root{color-scheme:dark;--ink:#edf4fc;--text:#b3c2d5;--muted:#a4b5cb;--rule:#2b3e56;--paper:#152236;--accent:#7ccbd3;background:#080f1b}
body{background-color:#080f1b;background-image:linear-gradient(#7ccbd308 1px,transparent 1px),linear-gradient(90deg,#7ccbd308 1px,transparent 1px),linear-gradient(#7ccbd30c 1px,transparent 1px),linear-gradient(90deg,#7ccbd30c 1px,transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px}
.wrap{max-width:1220px}.header{height:108px;border-bottom-color:var(--rule)}.monogram{font-family:Georgia,serif;font-weight:400;font-size:38px;letter-spacing:-3px;color:var(--accent)}.monogram span{color:var(--accent)}.brand>span:last-child{font-weight:400;letter-spacing:.08em}
.context-grid,.format-grid{grid-template-columns:1.25fr 1fr;gap:22px}
.context-card,.format-card{position:relative;border-radius:65px 4px 4px 4px;border:1px solid #5899a65e;background:linear-gradient(140deg,#1c3047,#111e30);padding:38px 30px 30px;box-shadow:inset 0 0 0 6px #111e30,inset 0 0 0 7px #5899a636,0 20px 50px #0002;overflow:hidden}
.context-card{min-height:235px}.context-card:first-child,.format-card:first-child{grid-row:span 2;min-height:490px;background:linear-gradient(145deg,#234c61,#142c40);border-color:#5899a6;box-shadow:inset 0 0 0 6px #142c40,inset 0 0 0 7px #7ccbd345,0 20px 50px #0002}
.context-card:after,.format-card:after{content:'◆';position:absolute;top:20px;right:24px;color:var(--accent);font-size:9px;pointer-events:none}.context-card .arrow{visibility:hidden}.card-top{padding-right:10px}.number,.format-label,.eyebrow{font-family:Segoe UI,Arial,sans-serif;font-size:9px;letter-spacing:.18em;color:var(--accent)}.featured .number{color:#a7dce2}
.badge{border-radius:0;border:0;background:transparent;color:#b3c2d5;font-family:Georgia,serif;font-style:italic;padding:0}
.context-card .card-heading{margin:20px 0 12px;gap:14px}.card-heading h3{font-family:Georgia,serif;font-weight:400;font-size:26px;letter-spacing:-.025em}.card-heading .card-icon{color:var(--accent);stroke-width:1;flex-basis:34px;width:34px;height:40px}
.context-card:first-child .card-heading{margin-top:75px}.context-card:first-child .card-heading h3{font-size:34px;line-height:1.1}.context-card:first-child .card-heading .card-icon{width:48px;height:48px;flex-basis:48px}.context-card>p{max-width:340px;margin-bottom:20px;font-size:13px;line-height:1.85}.featured p{color:#c7e1e9}.featured .card-action{border-color:#72a7b64d;color:#a7dce2}.future-note{padding-top:12px;max-width:300px}.featured:hover{background:linear-gradient(145deg,#2c596d,#1a3b50)}
.format-card{min-height:255px;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}.format-label{grid-column:1;margin-top:5px}.format-card h2{grid-column:1;grid-row:2;font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0;letter-spacing:-.025em}.format-card>p{grid-column:1;grid-row:3;font-size:12px;margin:0;line-height:1.85}.audience{grid-column:2;grid-row:1/4;margin:0;padding-top:0;border:0}.actions{grid-column:1/3}.format-card:first-child{display:flex;padding:40px 35px 35px}.format-card:first-child h2{margin:65px 0 20px;font-size:37px}.format-card:first-child .audience{margin:25px 0;border-top:1px solid #72a7b64d;padding-top:20px}.format-card:first-child p,.format-card:first-child .audience span{color:#c7e1e9}.format-card:first-child .format-label,.format-card:first-child .audience strong{color:#a7dce2}
.language-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:#152236;border:1px solid #3b536c;border-radius:14px;padding:4px}
.language-switch::before{content:'';position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 12px)/2);border-radius:10px;background:#047857;pointer-events:none;transition:transform 280ms cubic-bezier(.22,.75,.25,1),background-color 280ms ease}
html:lang(en) .language-switch::before{transform:translateX(calc(100% + 4px));background:#a31632}
@media(prefers-reduced-motion:reduce){.language-switch::before{transition:none}}
.language-switch button{position:relative;z-index:1;justify-content:center;border-radius:10px;background:transparent;color:#c2d1e2}
.language-switch button[aria-pressed=true]{background:transparent;color:#fff}
.language-switch .flag{box-shadow:0 0 0 1px #000}
.button{border-radius:2px;background:#192c42;color:#e5edf7;border-color:#3e5770}.button.primary{background:var(--accent);color:#0b2332;border-color:var(--accent)}.button:hover{background:#2b4c60;color:white}.button.primary:hover{background:#a3e0e6;color:#0b2332}.cv-hero h1{font-weight:450;letter-spacing:-.045em}.home-page .footer{border-top:3px double var(--rule)}
@media(max-width:850px){.context-grid,.format-grid{grid-template-columns:1fr 1fr;gap:18px}.context-card,.format-card{padding:32px 23px 25px}.context-card:first-child .card-heading h3{font-size:27px}.context-card:first-child .card-heading .card-icon{width:38px;flex-basis:38px}.format-card{display:flex}.format-card:first-child{padding:35px 25px 25px}.format-card:first-child h2{font-size:32px}.card-heading h3{font-size:24px}}
@media(max-width:680px){.header{height:auto;flex-shrink:0}.context-grid,.format-grid{grid-template-columns:1fr}.context-card:first-child,.format-card:first-child{grid-row:auto;min-height:350px}.context-card:first-child .card-heading{margin-top:40px}.context-card:first-child .card-heading h3{font-size:30px}.format-card:first-child h2{margin-top:30px}.context-card{min-height:285px}.format-card{min-height:330px}.home-page main{padding-top:35px;padding-bottom:35px}}
.cv-page .format-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}
.cv-page .format-card{display:flex;grid-row:auto;min-height:430px;padding:38px 28px 28px;background:linear-gradient(140deg,#1c3047,#111e30);border-color:#5899a65e;box-shadow:inset 0 0 0 6px #111e30,inset 0 0 0 7px #5899a636,0 20px 50px #0002}
.cv-page .format-card h2{font-size:27px;margin:22px 0 16px}.cv-page .format-card>p{font-size:13px;color:var(--text);margin:0 0 24px}.cv-page .format-card .audience{margin:0 0 26px;padding-top:20px;border-top:1px solid var(--rule)}.cv-page .format-card .audience span{color:var(--text)}.cv-page .format-card .format-label,.cv-page .format-card .audience strong{color:var(--accent)}
@media(max-width:850px){.cv-page .format-grid{grid-template-columns:1fr}.cv-page .format-card{min-height:350px}}
