/* Graphic UI layer: geometry and hierarchy, using the existing palette and tokens. */
:root{--graphic-rule:#80808030;--graphic-soft:#80808009;--graphic-inset:clamp(18px,2.4vw,32px)}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:pretty}h1{font-weight:750}.eyebrow{display:flex;align-items:center;gap:12px;line-height:1.5;letter-spacing:.15em}.eyebrow:before{content:'';width:26px;height:2px;background:currentColor;opacity:.55;flex-shrink:0}
.header{padding-block:22px;border-bottom:1px solid #ffffff13}.header-contact{letter-spacing:.025em}.header .brand{letter-spacing:-.045em}.menu-toggle,.menu-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #80808038;border-radius:var(--button-radius);transition:background .2s}.menu-toggle:hover,.menu-close:hover{background:#80808018}.menu-toggle svg{width:24px;height:24px}
.hero-copy{max-width:740px}.hero .hero-copy .eyebrow{opacity:.82;margin-bottom:26px}.hero h1{letter-spacing:-.05em;line-height:1.04}.hero-profession{font-weight:600;letter-spacing:-.02em;line-height:1.4}.hero-intro{line-height:1.8;max-width:480px}.hero-orbit{border-color:#ffffff20;box-shadow:0 0 0 70px #ffffff04,0 0 0 140px #ffffff03}
.stats{gap:14px;flex-wrap:wrap;margin-block:32px}.stats>div{min-width:154px;padding:16px 20px;border:1px solid #ffffff32;background:#ffffff09;gap:14px;backdrop-filter:blur(8px)}.stats strong{font-size:36px;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.stats small{font-size:10px;letter-spacing:.035em;line-height:1.6}.text-link{min-height:44px;gap:14px}.text-link:before{width:28px}.text-link .cr-icon{width:18px;height:18px}.hero-portrait img{filter:drop-shadow(-12px 10px 28px #00000015)}
.page-hero .hero-copy{max-width:900px}.page-hero .eyebrow{margin-bottom:16px}.page-hero h1{line-height:1.14;letter-spacing:-.035em}.page-intro{max-width:700px;line-height:1.8;margin-top:20px}.light:before{content:'';width:180px;height:180px;right:0;top:0;background:repeating-linear-gradient(0deg,transparent 0 19px,#80808030 19px 20px),repeating-linear-gradient(90deg,transparent 0 19px,#80808030 19px 20px);opacity:.22;pointer-events:none}
.section>h2{max-width:850px;margin-bottom:32px}.button{min-height:44px;padding:13px 20px;font-weight:650;line-height:1.4}.button .cr-icon{width:18px;height:18px}.button:focus-visible,.footer-back:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.drawer{padding:96px 32px 34px;border-left:1px solid #ffffff14;box-shadow:-25px 0 80px #00000024}.drawer small{padding:0 14px;line-height:1.6;margin-bottom:30px}.drawer-menu>li>a{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.025em;padding:13px 14px;margin-block:3px;border-left:2px solid transparent;transition:background .2s,border-color .2s}.drawer-menu>li>a:hover,.drawer-menu>li>a[aria-current="page"]{border-left-color:var(--accent);background:#80808012}.drawer-menu .sub-menu{margin:8px 0 14px 27px;padding-left:16px;border-left:1px solid #80808035}.drawer-menu .sub-menu a{font-size:14px;padding:9px 8px;line-height:1.5;opacity:.88}.drawer p{padding-inline:14px;line-height:1.8}.menu-close{right:26px;top:24px}
.page-navigation{border-color:var(--graphic-rule)}.page-menu-scroll{padding-block:9px}.page-menu>li>a{font-size:13px;line-height:1.5;min-height:44px;padding:11px 15px}.page-menu a:hover,.page-menu .current-menu-item>a,.page-menu .current-menu-ancestor>a{color:var(--button-text);background:var(--accent);border-color:var(--accent)}.page-menu-panels a:hover,.page-menu-panels a[aria-current="page"]{background:var(--accent);color:var(--button-text)}
.timeline article{padding:28px var(--graphic-inset);gap:28px;border:1px solid var(--graphic-rule);background:var(--graphic-soft);margin-bottom:14px}.timeline article:last-child{border-bottom:1px solid var(--graphic-rule)}.timeline strong{font-size:13px;letter-spacing:.01em;line-height:1.6;font-weight:600}.timeline h3{font-size:22px;line-height:1.35;letter-spacing:-.025em}.timeline p{line-height:1.8}.timeline+.button{margin-top:18px}
.skills-grid{gap:clamp(32px,6vw,80px)}.skills-visual img{border:1px solid var(--graphic-rule)}.skills-art{padding:32px;border:1px solid var(--graphic-rule);min-height:390px;background:linear-gradient(145deg,#242424,#0a0a0a)}.skills-art strong{font-size:clamp(42px,4.5vw,60px);font-weight:750;line-height:1.04;letter-spacing:-.04em}.floating-icon{padding:19px;border:1px solid #ffffff24;box-shadow:0 12px 28px #00000020}.skills h3{font-size:15px;line-height:1.5;letter-spacing:0}.skills h3 span{font-variant-numeric:tabular-nums}.skill-track{height:5px}.skills>div{margin-bottom:24px}.skills-grid p{line-height:1.8}
.portfolio{border-top:0}.project{display:block;padding:14px;border:1px solid var(--graphic-rule);border-radius:var(--card-radius);background:var(--graphic-soft);transition:transform .25s,box-shadow .25s}.project:hover{transform:translateY(-4px);box-shadow:var(--card-shadow)}.project-image{margin-bottom:20px;border:0;box-shadow:none}.project small{font-size:11px;line-height:1.5;letter-spacing:.02em}.project h3{padding-block:4px 8px;font-size:21px;line-height:1.4;letter-spacing:-.025em}.project h3>.cr-icon{margin-top:4px;opacity:.6}
.testimonial-head{margin-bottom:20px}.slider-controls{gap:12px}.slider-controls span{font-size:12px;font-variant-numeric:tabular-nums}.quote{padding:clamp(26px,4.5vw,52px);border:1px solid #ffffff25;box-shadow:var(--card-shadow)}.quote blockquote{font-size:clamp(21px,2.5vw,30px);line-height:1.6;letter-spacing:-.018em;max-width:850px}.quote figcaption{padding-top:22px;border-top:1px solid #ffffff30;margin-top:26px;gap:3px}.quote figcaption strong{font-size:15px}.quote figcaption small{font-size:10px;letter-spacing:.08em}.quote-mark{opacity:.75;bottom:22px;right:22px}
.contact{border-top:0;gap:clamp(32px,6vw,80px)}.contact h3{font-size:clamp(24px,2.7vw,34px);line-height:1.4;letter-spacing:-.025em}.contact p{line-height:1.8}.contact-link{padding-block:18px;border-bottom:1px solid var(--graphic-rule);font-size:clamp(17px,1.8vw,22px);line-height:1.6;margin:0;gap:14px}.contact-link>.cr-icon{width:20px;height:20px;opacity:.7}.socials{gap:10px;margin-top:28px}.socials a{padding:11px 14px;min-height:44px;border:1px solid var(--graphic-rule);border-radius:var(--button-radius);font-size:12px}.socials a:hover{background:#80808013}
.cr-blog-index .slug-main>.blog-list-section.section{padding-top:28px}.cr-blog-index .page-hero.section{padding-bottom:36px}
.blog-toolbar{padding-block:0 20px;border-color:var(--graphic-rule)}.blog-toolbar p{font-variant-numeric:tabular-nums}.blog-toolbar a{min-height:44px;padding:9px 14px;border:1px solid var(--graphic-rule);border-radius:var(--button-radius)}.blog-card{border-color:var(--graphic-rule);box-shadow:var(--card-shadow);transition:transform .25s,box-shadow .25s}.blog-card:hover{transform:translateY(-4px)}.blog-card-body{padding:24px;line-height:1.7}.blog-card h2{font-size:clamp(21px,2vw,26px);line-height:1.35;letter-spacing:-.025em}.blog-card .blog-meta{font-size:10px;letter-spacing:.025em;gap:7px}.blog-card p{font-size:calc(var(--body-size)*.9);line-height:1.8}.blog-card .blog-read{font-size:12px;letter-spacing:.02em;min-height:44px}.blog-image-placeholder{background:repeating-linear-gradient(0deg,transparent 0 31px,#ffffff09 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,#ffffff09 31px 32px)}.page-numbers a,.page-numbers span{min-width:42px;min-height:42px;border-radius:var(--button-radius)}
.post-back-link{min-height:36px;letter-spacing:.01em;margin-bottom:20px}.post-hero .eyebrow{font-size:10px}.post-hero h1{line-height:1.22;letter-spacing:-.028em}.single-content{line-height:var(--body-leading)}.single-content p,.single-content li{line-height:var(--body-leading)}.single-content p{margin-block:1.2em}.full-post-meta{padding-bottom:24px;gap:8px}.full-post-meta>span,.full-post-meta>a{font-size:11px;border-color:var(--graphic-rule);padding:8px 11px;line-height:1.7;background:var(--graphic-soft)}.single-featured{border:1px solid var(--graphic-rule)}.single-content blockquote{padding:20px 24px;line-height:1.8}.single-content blockquote p{margin:0}.single-content table th,.single-content table td{padding:12px 16px;border-bottom:1px solid var(--graphic-rule);text-align:left}.single-content table{border-collapse:collapse}.single-content pre{padding:20px;border:1px solid var(--graphic-rule);background:var(--graphic-soft);font-size:13px;line-height:1.7}.cr-comments{border-color:var(--graphic-rule)}.cr-comments textarea,.cr-comments input:not([type="checkbox"]){background:var(--light-bg);color:var(--ink);border-color:var(--graphic-rule)}
.footer{padding-block:26px;border-top:1px solid #ffffff13}.footer small{font-size:11px;line-height:1.8;letter-spacing:.015em}.footer-back{box-shadow:0 8px 22px #00000024}.content-page img{border-radius:var(--card-radius)}
@media(max-width:1000px){.header{padding-block:18px}.skills-grid{gap:36px}.timeline article{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.4fr);gap:20px}.hero-copy{width:65%}.hero h1{letter-spacing:-.04em}}
@media(max-width:650px){.cr-blog-index .slug-main>.blog-list-section.section{padding-top:24px}.cr-blog-index .page-hero.section{padding-bottom:24px}.header{padding:17px 7%}.hero-copy{width:100%}.hero h1{max-width:100%}.hero-intro{max-width:100%;font-size:14px}.hero-profession{font-size:20px;max-width:95%}.stats{gap:10px}.stats>div{min-width:0;flex:1;padding:14px 12px;gap:10px}.stats strong{font-size:31px}.stats small{font-size:9px}.hero .hero-copy .eyebrow{font-size:10px}.drawer{width:100vw;padding:90px 22px 30px}.drawer-menu>li>a{font-size:27px;padding:13px 14px}.drawer small{margin-bottom:24px}.page-hero .eyebrow{font-size:10px;letter-spacing:.12em}.page-intro{font-size:14px}.timeline article{grid-template-columns:1fr;gap:13px;padding:24px}.timeline h3{font-size:21px}.skills-grid{gap:38px}.skills-art{min-height:310px}.skills-visual img{height:330px}.floating-icon{padding:16px;right:12px;top:-16px}.portfolio-grid{gap:22px}.project{padding:12px}.project h3{font-size:20px}.quote{padding:26px 24px 40px}.quote blockquote{font-size:21px}.contact h3{margin-top:22px;font-size:26px}.contact-link{font-size:17px}.blog-card-body{padding:22px}.blog-toolbar a{padding:9px 12px;font-size:11px}.single-content blockquote{padding:18px}.full-post-meta>span,.full-post-meta>a{font-size:10px;padding:7px 9px}.footer{padding-block:24px}.hero-portrait{pointer-events:none}}
@media(prefers-reduced-motion:reduce){.project,.blog-card,.drawer-menu a{transition:none;transform:none!important}}
