/*
Theme Name: Abhishek Sharma Portfolio
Theme URI: https://abhisharma.ca
Author: Abhishek Sharma
Description: Editorial portfolio theme for architectural design, documentation and visualization. Ink on a warm-light ground, one red accent, zero corner radius. Includes a Projects post type with a Discipline taxonomy, a filterable work archive, case-study template, resume and contact templates.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: as-portfolio
Tags: portfolio, one-column, custom-menu, editor-style, featured-images, translation-ready
*/

:root{
--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;
--color-accent:#ec3013;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-100:#fff2ef;--color-accent-800:#7c1405;
--color-divider:color-mix(in srgb,#201e1d 40%,transparent);
--color-neutral-100:#f8f4f4;--color-neutral-700:#605d5d;--color-neutral-800:#444141;
--font-heading:"Archivo",system-ui,sans-serif;--font-body:"Archivo",system-ui,sans-serif;
--shadow-md:0 3px 10px color-mix(in srgb,#2d2b2b 16%,transparent);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.55}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;line-height:1.12;letter-spacing:-.015em;margin:0 0 8px}
h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}
p{margin:0 0 12px}
a{color:var(--color-accent-700);text-underline-offset:3px}
a:hover{color:var(--color-accent)}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
figcaption{font-size:11px;margin-top:4px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}
.text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.grayscale{filter:grayscale(1) contrast(1.08)}
.hr{height:2px;border:0;margin:16px 0;background:var(--color-divider)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:800;font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:8px 14px;border-radius:0}
.btn-primary{background:var(--color-accent);color:var(--color-bg)}
.btn-primary:hover{background:var(--color-accent-600);color:var(--color-bg)}
.btn-primary:active{background:var(--color-accent-700)}
.btn-secondary{border-color:var(--color-divider)}
.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}
.btn-ghost{color:var(--color-accent-700);padding-inline:4px}
.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}
.btn-block{width:100%;justify-content:flex-start;text-align:left}
.field>label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}
.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0}
.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}
.input:focus-visible{border-color:var(--color-accent);outline-offset:0}
textarea.input{min-height:90px;resize:vertical}
.seg{display:inline-flex;flex-wrap:wrap;overflow:hidden;border:1px solid var(--color-divider)}
.seg-opt{display:inline-flex;align-items:center;padding:7px 12px;font-size:13px;cursor:pointer;background:none;border:0;font-family:inherit;color:inherit;position:relative}
.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}
.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}
.seg-opt input{position:absolute;opacity:0;width:0;height:0}
.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:0;text-decoration:none}
.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}
.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}
.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent-700)}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent);padding:8px;border-bottom:2px solid var(--color-divider)}
.table td{padding:8px;border-bottom:1px solid var(--color-divider)}
.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}

.wrap{max-width:1320px;margin:0 auto;padding:0 48px}
.disp{font-family:var(--font-heading);font-weight:800;letter-spacing:-.03em;line-height:.98}
.kick{font:600 11px/1.3 var(--font-heading);letter-spacing:.16em;text-transform:uppercase}
.kick-accent{color:var(--color-accent-700)}
.kick-mute{color:var(--color-neutral-700)}
.sec{border-top:2px solid var(--color-text)}
.site-head{position:sticky;top:0;z-index:40;background:var(--color-bg);border-bottom:2px solid var(--color-text)}
.site-head.is-stuck{box-shadow:var(--shadow-md)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.brand img{height:28px;width:auto}
.brand-txt{border-left:2px solid var(--color-divider);padding-left:14px}
.brand-name{font-family:var(--font-heading);font-weight:800;font-size:15px;display:block;letter-spacing:-.01em}
.mainnav{display:flex;align-items:center;gap:32px}
.mainnav ul{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}
.mainnav a{font:600 13px/1 var(--font-heading);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--color-text)}
.mainnav a:hover{color:var(--color-accent-700)}
.mainnav li.current-menu-item>a,.mainnav li.current_page_item>a{color:var(--color-accent-700);border-bottom:2px solid var(--color-accent);padding-bottom:3px}
.navtoggle{display:none}
.mobnav{display:none;border-top:2px solid var(--color-divider);padding-bottom:12px}
.mobnav.open{display:block}
.mobnav ul{list-style:none;margin:0;padding:0;display:grid}
.mobnav a{display:block;font:600 13px/1 var(--font-heading);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--color-text);padding:16px 0;border-bottom:1px solid var(--color-divider)}
.mobbar{display:none}

.split{display:grid;grid-template-columns:1.1fr 1fr;gap:0}
.split-l{padding:72px 48px 72px 0;border-right:2px solid var(--color-text)}
.split-even{grid-template-columns:1fr 1fr}
.hero-img{min-height:560px;overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:2px solid var(--color-divider)}
.stats>div{padding:20px;border-right:1px solid var(--color-divider)}
.stats>div:first-child{padding-left:0}
.stats>div:last-child{border-right:0}
.stat-n{font-family:var(--font-heading);font-weight:800;font-size:36px;letter-spacing:-.02em}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 24px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.pcard{display:block;text-decoration:none;color:inherit;border-top:2px solid var(--color-text);padding-top:16px}
.pcard .ph{aspect-ratio:4/3;overflow:hidden;background:var(--color-surface)}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.pcard:hover{border-top-color:var(--color-accent)}
.pcard:hover .ph img{transform:scale(1.03)}
.pcard h4{margin:8px 0 2px}
.pcard-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px}
.ph-empty{display:flex;align-items:center;justify-content:center;height:100%;font:600 11px/1.4 var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:var(--color-neutral-700);text-align:center;padding:16px}

.cap{display:grid;grid-template-columns:1fr 1.5fr}
.cap-l{padding:56px 48px 56px 0;border-right:2px solid var(--color-text)}
.cap-r{display:grid;grid-template-columns:1fr 1fr}
.cap-r>div{padding:32px 40px;border-bottom:1px solid var(--color-divider)}
.cap-r>div:nth-child(odd){border-right:1px solid var(--color-divider)}
.cap-r>div:nth-last-child(-n+2){border-bottom:0}
.poster{background:var(--color-accent);color:var(--color-bg)}
.poster a.btn-invert{background:var(--color-bg);color:var(--color-text);border-color:var(--color-bg)}
.poster a.btn-outline{border-color:var(--color-bg);color:var(--color-bg)}
.factrow{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:2px solid var(--color-divider)}
.factrow>div{padding:24px;border-right:1px solid var(--color-divider)}
.factrow>div:first-child{padding-left:0}
.factrow>div:last-child{border-right:0}
.rrow{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--color-divider)}
.rsec{display:grid;grid-template-columns:200px 1fr;gap:48px;margin-top:48px}
.entry-content{max-width:720px}
.entry-content h2,.entry-content h3{margin-top:32px}
.scopelist{display:grid;border-top:1px solid var(--color-divider);margin-top:16px}
.scopelist div{padding:12px 0;border-bottom:1px solid var(--color-divider);font-size:14px}

.site-foot{border-top:2px solid var(--color-text)}
.foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;justify-items:start}
.foot-cols a{font-size:13px;text-decoration:none}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--color-divider);margin-top:40px;padding-top:20px}

@media(max-width:1023px){
.wrap{padding:0 24px}
.split,.cap,.split-even{grid-template-columns:1fr}
.split-l,.cap-l{border-right:0;padding:48px 0}
.grid4,.foot-cols{grid-template-columns:1fr 1fr}
.factrow{grid-template-columns:1fr 1fr}
.factrow>div{border-right:0;border-bottom:1px solid var(--color-divider);padding-left:0}
.grid3{grid-template-columns:1fr 1fr}
.mainnav{display:none}
.navtoggle{display:inline-flex}
.mobbar{display:flex;position:sticky;bottom:0;z-index:30;gap:8px;padding:10px 24px;background:var(--color-surface);border-top:2px solid var(--color-text)}
.mobbar .btn{min-height:48px}
.hero-img{min-height:340px}
.cap-r>div{padding:24px 0}
.cap-r>div:nth-child(odd){border-right:0}
}
@media(max-width:767px){
.wrap{padding:0 20px}
.grid3,.grid2,.grid4,.foot-cols,.cap-r,.rsec,.rrow{grid-template-columns:1fr}
.rsec,.rrow{gap:8px}
.rsec{margin-top:32px}
.stats{grid-template-columns:1fr}
.stats>div{padding:16px 0;border-right:0;border-bottom:1px solid var(--color-divider)}
h1{font-size:34px}h2{font-size:26px}
.brand-sub{display:none}
.mobbar{padding:10px 20px}
}
@media print{
.site-head,.site-foot,.mobbar,.mobnav,.btn{display:none!important}
body{background:#fff;color:#000;font-size:12pt}
.wrap{max-width:none;padding:0}
.rsec{grid-template-columns:150px 1fr}
}
