/*
Theme Name: Arminder Portfolio 2026
Theme URI: https://singharminder.com/
Author: Arminder Singh
Description: Custom editorial portfolio for Arminder Singh — Saskatoon-based web developer, local SEO specialist and business systems builder.
Version: 1.0.0
Text Domain: arminder-portfolio
*/
:root{
  --paper:#f2eee6;--paper-2:#e8e1d5;--ink:#171713;--muted:#716d64;--line:#c8c0b3;--accent:#9a3f29;
  --serif:Georgia,"Times New Roman",serif;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"SFMono-Regular",Consolas,monospace;
  --gutter:clamp(1rem,3vw,3.5rem);--site-max:1540px;--ease:cubic-bezier(.2,.65,.25,1)
}
html[data-theme="night"]{--paper:#1b1c18;--paper-2:#23241f;--ink:#e7e0d4;--muted:#9b958a;--line:#46463f;--accent:#d07a59}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.48;text-rendering:optimizeLegibility;transition:background .25s ease,color .25s ease}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:#fff8ec}em{font-weight:400}.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.6rem .8rem;background:var(--ink);color:var(--paper);transform:translateY(-170%)}.skip-link:focus{transform:none}
.mode-switch{padding:0;border:0;border-bottom:1px solid transparent;background:none;color:inherit;font:inherit;cursor:pointer}.mode-switch:hover,.mode-switch:focus-visible{border-color:currentColor}.section-label,.v7-kicker,.v7-section-no{margin:0;font:.64rem var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.8rem}.actions a{font-size:.82rem;border-bottom:1px solid currentColor;padding-bottom:.15rem}.actions a:hover,.actions a:focus-visible{color:var(--accent)}
.site-header{width:min(100%,var(--site-max));margin:auto;min-height:66px;padding:0 var(--gutter);display:grid;grid-template-columns:1.2fr .8fr auto;align-items:center;gap:2rem;border-bottom:1px solid var(--line);font-size:.75rem}.nameplate{font-weight:700}.header-role{margin:0;color:var(--muted)}.site-header nav{display:flex;align-items:center;gap:1.15rem}.site-header nav a{border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a:focus-visible{border-color:currentColor}
footer,.v7-footer{width:min(100%,var(--site-max));margin:auto;display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;padding:1.3rem var(--gutter);border-top:1px solid var(--line);font:.62rem var(--mono);text-transform:uppercase;color:var(--muted)}
.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.js .reveal.is-visible{opacity:1;transform:none}

/* homepage */
.home-v7 main{overflow:hidden}.v7-header,.v7-hero,.v7-intro,.v7-work,.v7-process,.v7-more,.v7-about,.v7-province,.v7-contact,.v7-footer{width:min(100%,1540px);margin-inline:auto}.v7-header{min-height:72px;padding:0 var(--gutter);display:grid;grid-template-columns:3fr 4fr auto;gap:clamp(.8rem,1.3vw,1.4rem);align-items:center;border-bottom:1px solid var(--line);font-size:.72rem}.v7-brand{display:flex;gap:.9rem;align-items:baseline}.v7-brand strong{font-size:.82rem}.v7-brand span,.v7-status{color:var(--muted)}.v7-status{margin:0}.status-dot{display:inline-block;width:.45rem;height:.45rem;margin-right:.55rem;border-radius:50%;background:var(--accent);vertical-align:.03rem}.v7-header nav{display:flex;align-items:center;gap:1.15rem}.v7-header nav a{position:relative}.v7-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-.3rem;height:1px;background:currentColor;transition:right .2s var(--ease)}.v7-header nav a:hover:after,.v7-header nav a:focus-visible:after{right:0}.v7-header nav .nav-project{padding:.55rem .7rem;background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.v7-header nav .nav-project:after{display:none}.v7-header nav .nav-project:hover,.v7-header nav .nav-project:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}
.v7-hero{min-height:calc(100svh - 72px);padding:clamp(1.2rem,2.4vw,2.6rem) var(--gutter) var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;gap:clamp(.8rem,1.3vw,1.4rem);border-bottom:1px solid var(--line);position:relative}.v7-hero__index{grid-column:1/13;display:flex;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--line);font:.57rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.v7-hero__main{grid-column:1/10;align-self:center;padding:5vh 0}.v7-hero__main h1{margin:1rem 0 0;max-width:11.5ch;font:400 clamp(4.6rem,8.9vw,9.6rem)/.84 "Iowan Old Style","Baskerville",Georgia,serif;letter-spacing:-.058em}.v7-hero__main h1 em{color:var(--accent);font-style:italic}.v7-hero__aside{grid-column:9/13;align-self:end;padding:1.25rem 0 1.25rem 1.5rem;border-left:1px solid var(--line);margin-bottom:2.4rem}.v7-hero__lead{margin:0;font:400 clamp(1.35rem,1.75vw,1.9rem)/1.2 var(--serif);letter-spacing:-.02em}.v7-hero__note{max-width:30rem;margin:1.5rem 0 0;color:var(--muted);font-size:.84rem}.v7-hero__links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2rem;font-size:.75rem}.v7-hero__links a{border-bottom:1px solid currentColor;padding-bottom:.15rem}.v7-hero__margin-note{grid-column:1/6;margin:0;align-self:end;max-width:25rem;font:italic 1rem/1.35 var(--serif);color:var(--muted)}
.v7-intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.8rem,1.3vw,1.4rem);padding:clamp(7rem,10vw,11rem) var(--gutter);border-bottom:1px solid var(--line)}.v7-intro>.v7-section-no{grid-column:1/3}.v7-intro__statement{grid-column:3/9;margin:0;font:400 clamp(3rem,5.4vw,6.1rem)/.95 var(--serif);letter-spacing:-.043em}.v7-intro__details{grid-column:10/13;align-self:end}.v7-intro__details p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.v7-work{padding:clamp(7rem,10vw,11rem) var(--gutter) 0}.v7-work__heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;margin-bottom:clamp(7rem,11vw,13rem)}.v7-work__heading .v7-section-no{grid-column:1/3}.v7-work__heading h2{grid-column:4/11;margin:0;max-width:11ch;font:400 clamp(3.8rem,6.8vw,7.8rem)/.9 var(--serif);letter-spacing:-.05em}.v7-case{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;position:relative;padding:1rem 0 clamp(9rem,13vw,15rem);border-top:1px solid var(--ink)}.v7-case+.v7-case{margin-top:1rem}.v7-case__rail{grid-column:1/13;display:grid;grid-template-columns:1fr 3fr auto;gap:1rem;font:.59rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.v7-case__rail span:first-child{color:var(--accent)}.v7-case__headline{grid-column:1/8;margin-top:clamp(4rem,7vw,8rem)}.v7-case__headline h3{margin:1rem 0 0;max-width:10ch;font:400 clamp(4rem,7.2vw,8.3rem)/.88 var(--serif);letter-spacing:-.053em}.v7-case__headline h3 em{color:var(--accent)}
.v7-search-specimen{grid-column:8/13;align-self:end;margin-top:clamp(5rem,10vw,11rem);border:1px solid var(--line);background:var(--paper-2);box-shadow:12px 14px 0 var(--line)}.v7-search-specimen__chrome,.v7-search-specimen__note{display:flex;justify-content:space-between;padding:.72rem .9rem;font:.57rem var(--mono);color:var(--muted)}.v7-search-specimen__chrome{border-bottom:1px solid var(--line)}.v7-search-specimen__query{min-height:14rem;display:flex;align-items:center;gap:1rem;padding:1.5rem;font-size:clamp(1.8rem,2.4vw,2.8rem);letter-spacing:-.03em}.v7-search-specimen__query span{font-size:1.4rem;color:var(--muted)}.v7-search-specimen__note{border-top:1px solid var(--line);text-transform:uppercase;color:var(--accent)}
.v7-case__story{grid-column:4/11;margin-top:clamp(5rem,8vw,9rem)}.v7-case__story>p{max-width:44rem;margin:0 0 3rem;font:400 clamp(1.45rem,2vw,2.1rem)/1.25 var(--serif);letter-spacing:-.015em}.v7-case__facts{border-top:1px solid var(--line)}.v7-case__facts div{display:grid;grid-template-columns:7rem 1fr;gap:1.2rem;padding:1rem 0;border-bottom:1px solid var(--line)}.v7-case__facts span{font:.58rem var(--mono);text-transform:uppercase;color:var(--muted)}.v7-case__facts p{margin:0;font-size:.83rem}.v7-case__actions{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:2rem}.v7-case__actions a{font-size:.78rem;border-bottom:1px solid currentColor;padding-bottom:.15rem}
.v7-case__headline--systems{grid-column:4/13}.v7-case__headline--systems h3{max-width:11ch}.v7-system-map{grid-column:1/9;margin-top:clamp(5rem,8vw,8rem);display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1rem;align-items:center}.system-node{min-height:13rem;padding:1.2rem;border:1px solid var(--line);display:flex;flex-direction:column;background:var(--paper-2)}.system-node--public{background:var(--ink);color:var(--paper)}.system-node span,.system-node small{font:.57rem var(--mono);text-transform:uppercase;letter-spacing:.07em}.system-node span,.system-node small{opacity:.66}.system-node strong{margin:auto 0;font:400 clamp(1.6rem,2.5vw,2.8rem)/1 var(--serif)}.system-line{width:3rem;height:1px;background:var(--accent);position:relative}.system-line:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:rotate(45deg)}.v7-case__story--systems{grid-column:8/13;align-self:end;margin-top:-4rem}.v7-case__story blockquote{margin:3rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--ink);font:italic 1.2rem/1.35 var(--serif);color:var(--muted)}
.v7-process,.v7-more{display:grid;grid-template-columns:4fr 8fr;gap:clamp(3rem,7vw,9rem);padding:clamp(8rem,11vw,12rem) var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.v7-process{background:var(--paper-2)}.v7-process__intro h2,.v7-more__intro h2{margin:2rem 0 0;max-width:9ch;font:400 clamp(3.4rem,5.5vw,6.2rem)/.92 var(--serif);letter-spacing:-.045em}.v7-process__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.v7-process__list li{display:grid;grid-template-columns:3rem 7rem 1fr;gap:1rem;padding:1.2rem 0 2.3rem;border-bottom:1px solid var(--line)}.v7-process__list span{font:.58rem var(--mono);color:var(--accent)}.v7-process__list strong{font:400 1.8rem var(--serif)}.v7-process__list p{margin:0;max-width:35rem;color:var(--muted);font-size:.86rem}.v7-more__list{border-top:1px solid var(--ink)}.v7-more__list a{display:grid;grid-template-columns:1.2fr 1fr auto;gap:1rem;padding:1.2rem 0 2rem;border-bottom:1px solid var(--line);align-items:baseline}.v7-more__list span{font:400 clamp(1.8rem,2.5vw,2.7rem)/1 var(--serif)}.v7-more__list em{font-style:normal;font-size:.78rem;color:var(--muted)}.v7-more__list b{font-weight:400}.v7-more__list a:hover span{font-style:italic}
.v7-about{padding:clamp(8rem,11vw,12rem) var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;border-bottom:1px solid var(--line)}.v7-about__heading{grid-column:1/7}.v7-about__heading h2{margin:2rem 0 0;max-width:10ch;font:400 clamp(3.5rem,5.5vw,6.2rem)/.92 var(--serif);letter-spacing:-.045em}.v7-timeline{grid-column:7/13;border-top:1px solid var(--ink)}.v7-timeline article{display:grid;grid-template-columns:6.5rem 1.5fr 2fr;gap:1rem;padding:1.2rem 0 2.4rem;border-bottom:1px solid var(--line)}.v7-timeline time{font:.58rem var(--mono);color:var(--accent)}.v7-timeline h3{margin:-.2rem 0 .3rem;font:400 1.55rem var(--serif)}.v7-timeline p{margin:0;color:var(--muted);font-size:.8rem}.v7-stack-note{grid-column:8/12;margin-top:4rem;padding-top:1rem;border-top:1px solid var(--line)}.v7-stack-note>p:last-child{margin:1.2rem 0 0;font:italic 1.2rem/1.4 var(--serif);color:var(--muted)}
.v7-province{display:grid;grid-template-columns:4fr 8fr;gap:clamp(2rem,7vw,8rem);padding:clamp(7rem,11vw,12rem) var(--gutter);border-top:1px solid var(--line)}.v7-province h2{max-width:10ch;margin:1.25rem 0 0;font:400 clamp(3.5rem,6.4vw,7.2rem)/.9 var(--serif);letter-spacing:-.045em}.v7-province__copy>p{max-width:47rem;margin:0 0 4rem;font:400 clamp(1.35rem,2.1vw,2.2rem)/1.12 var(--serif)}.v7-province__links{border-top:1px solid var(--ink)}.v7-province__links a{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.v7-province__links span{font-size:.78rem;color:var(--muted)}
.v7-contact{display:grid;grid-template-columns:4fr 8fr;gap:clamp(3rem,7vw,9rem);padding:clamp(8rem,11vw,12rem) var(--gutter);align-items:start}.v7-contact__copy{position:sticky;top:2rem}.v7-contact__copy h2{margin:2rem 0;max-width:9ch;font:400 clamp(3.6rem,6.2vw,7rem)/.9 var(--serif);letter-spacing:-.05em}.v7-contact__copy h2 em{color:var(--accent);font-style:italic}.v7-contact__copy>p{max-width:30rem;color:var(--muted);font-size:.9rem}.v7-contact__direct{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line);display:grid;gap:.65rem}.v7-contact__direct span{font:.58rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.v7-contact__direct a{width:max-content;max-width:100%;font-size:.82rem;border-bottom:1px solid currentColor}.v7-lead-panel{border:1px solid var(--ink);background:var(--paper-2);padding:clamp(1.2rem,2vw,2rem)}.v7-lead-panel__head{display:flex;justify-content:space-between;gap:2rem;padding:0 0 2rem;margin-bottom:2rem;border-bottom:1px solid var(--ink);font:.59rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.v7-lead-panel__head p{margin:0 0 .65rem;color:var(--accent)}.v7-lead-panel__head h3{margin:0 0 .65rem;font:400 clamp(2.3rem,3.5vw,4rem)/.95 var(--serif);letter-spacing:-.035em;text-transform:none;color:var(--ink)}.v7-lead-panel__head small{display:block;max-width:28rem;font:.75rem/1.45 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}.v7-lead-form{display:grid;gap:1.6rem}.v7-form-row{display:grid;gap:1rem}.v7-form-row--two{grid-template-columns:1fr 1fr}.v7-lead-form label{display:grid;gap:.65rem}.v7-lead-form label>span,.v7-form-services legend{font:.64rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink)}.v7-lead-form input[type="text"],.v7-lead-form input[type="email"],.v7-lead-form input[type="url"],.v7-lead-form select,.v7-lead-form textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:.95rem 1rem;background:var(--paper);color:var(--ink);font:400 1rem/1.35 var(--sans);outline:none;transition:border-color .15s ease,background .15s ease}.v7-lead-form textarea{resize:vertical;min-height:10rem;font-family:var(--serif);font-size:1.2rem}.v7-lead-form input::placeholder,.v7-lead-form textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}.v7-lead-form input:focus,.v7-lead-form select:focus,.v7-lead-form textarea:focus{border-color:var(--accent);background:var(--paper)}.v7-form-services{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:.55rem}.v7-form-services legend{width:100%;margin-bottom:.25rem}.v7-form-services label{display:block;position:relative}.v7-form-services input{position:absolute;opacity:0;pointer-events:none}.v7-form-services label span{display:block;padding:.65rem .85rem;border:1px solid var(--line);font:.7rem var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer}.v7-form-services input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.v7-form-submit{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-top:1.5rem;border-top:1px solid var(--ink)}.v7-form-submit p{margin:0;max-width:18rem;font:italic 1rem/1.3 var(--serif);color:var(--muted)}.v7-form-submit button{min-width:min(100%,19rem);display:flex;justify-content:space-between;align-items:center;gap:2rem;border:1px solid var(--ink);padding:1rem 1.1rem;background:var(--ink);color:var(--paper);font:500 .9rem/1 var(--sans);cursor:pointer;transition:background .15s ease,color .15s ease}.v7-form-submit button:hover,.v7-form-submit button:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}.v7-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* service + authority pages */
.service-page,.note-page{width:min(100%,var(--site-max));margin:auto;padding:0 var(--gutter)}.service-hero{padding:clamp(5rem,9vw,10rem) 0;border-bottom:1px solid var(--line)}.service-hero h1,.province-hero h1{max-width:11ch;margin:1rem 0 2rem;font:400 clamp(4rem,8vw,9rem)/.9 var(--serif);letter-spacing:-.05em}.service-hero__deck{max-width:52rem;font:400 clamp(1.5rem,2.7vw,2.8rem)/1.06 var(--serif)}.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.2rem;padding:clamp(5rem,9vw,9rem) 0;border-bottom:1px solid var(--line)}.service-grid>h2{grid-column:1/6;margin:0;font:400 clamp(3rem,5vw,5.6rem)/.95 var(--serif);letter-spacing:-.04em}.service-grid__items{grid-column:7/13;border-top:1px solid var(--ink)}.service-grid__items article{padding:1.3rem 0 2.8rem;border-bottom:1px solid var(--line)}.service-grid__items h3{margin:0 0 .7rem;font:400 1.8rem var(--serif)}.service-grid__items p{margin:0;max-width:38rem;color:var(--muted)}.service-proof,.service-area,.province-thesis,.market-map,.authority-note,.regina-proof-callout,.note-end{padding:clamp(5rem,9vw,9rem) 0;border-bottom:1px solid var(--line)}.service-proof h2,.service-area h2,.market-map h2,.authority-note h2,.regina-proof-callout h2,.note-end h2{max-width:12ch;margin:1rem 0 3rem;font:400 clamp(3rem,5vw,5.6rem)/.95 var(--serif);letter-spacing:-.04em}.service-proof__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem)}.service-proof__row p,.service-area p{max-width:50rem;color:var(--muted)}
.province-thesis,.authority-note,.regina-proof-callout,.note-end{display:grid;grid-template-columns:4fr 8fr;gap:clamp(2rem,7vw,8rem)}.province-thesis h2{grid-column:1;max-width:10ch;margin:1rem 0 0;font:400 clamp(3rem,5.8vw,6.6rem)/.93 var(--serif);letter-spacing:-.04em}.province-thesis__copy{grid-column:2;align-self:end;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem)}.province-thesis__copy p{margin:0;color:var(--muted)}.province-thesis__copy p:first-child{font:400 1.35rem/1.3 var(--serif);color:var(--ink)}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4rem;background:var(--line);border:1px solid var(--line)}.market-grid article{min-height:19rem;padding:1.35rem;background:var(--paper);display:flex;flex-direction:column}.market-grid span{font:.63rem var(--mono);color:var(--accent)}.market-grid h3{margin:auto 0 .8rem;font:400 2.15rem var(--serif)}.market-grid p{margin:0;color:var(--muted);font-size:.88rem}.market-grid a{align-self:flex-start;margin-top:1.2rem;border-bottom:1px solid currentColor;font-size:.82rem}.authority-note h2,.regina-proof-callout h2{max-width:10ch}.authority-note>div,.regina-proof-callout>div{align-self:end;max-width:47rem}.authority-note>div p,.regina-proof-callout>div p:nth-child(2){color:var(--muted)}
.contact{width:min(100%,var(--site-max));margin:auto;padding:clamp(7rem,11vw,11rem) var(--gutter);display:grid;grid-template-columns:5fr 7fr;gap:clamp(3rem,8vw,10rem)}.service-page>.contact{width:100%;padding-left:0;padding-right:0}.contact-intro h2{margin:2rem 0;max-width:9ch;font:400 clamp(3.6rem,6vw,7rem)/.9 var(--serif);letter-spacing:-.045em}.contact-intro>p{max-width:30rem;color:var(--muted)}.business-card{align-self:end;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.business-card__front,.business-card__back{aspect-ratio:1.72;padding:clamp(1.4rem,2.5vw,2.5rem);border:1px solid var(--line);display:flex;flex-direction:column}.business-card__front{background:#efe8da;color:#171713}.business-card__back{background:#20211d;color:#ebe4d8}.card-name{margin:0;font:400 clamp(2rem,3vw,3.4rem)/1 var(--serif);letter-spacing:-.03em}.card-role{margin:1.4rem 0 0;font:.68rem var(--mono);text-transform:uppercase;letter-spacing:.18em;line-height:1.55}.card-base{margin-top:auto;display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid currentColor;font:.58rem var(--mono);text-transform:uppercase}.business-card__back a{align-self:flex-start;margin-bottom:.8rem;border-bottom:1px solid currentColor;font-size:.8rem}.business-card__back p{margin:auto 0 0;max-width:19rem;font:italic 1.35rem/1.2 var(--serif)}

/* case study */
.case-study{width:min(100%,var(--site-max));margin:auto;overflow:hidden}.study-hero,.study-context,.study-problem,.study-observation,.study-evidence,.study-pages,.study-lessons,.study-contact{padding-left:var(--gutter);padding-right:var(--gutter)}.study-hero{min-height:calc(100svh - 66px);display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto 1fr auto;gap:0 1rem;padding-top:var(--gutter);padding-bottom:var(--gutter);border-bottom:1px solid var(--line)}.study-hero__meta{grid-column:1/13;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:.75rem;font:.64rem var(--mono);text-transform:uppercase;color:var(--muted)}.study-hero__meta p{margin:0}.study-hero h1{grid-column:1/10;align-self:center;margin:4rem 0;font:400 clamp(5.2rem,12vw,12.5rem)/.78 var(--serif);letter-spacing:-.055em}.study-hero h1 em{margin-left:16%;color:var(--accent)}.study-hero__intro{grid-column:7/13;max-width:42rem;padding-left:2rem;border-left:1px solid var(--line)}.study-deck{font:400 clamp(1.5rem,2.3vw,2.4rem)/1.08 var(--serif)}.study-hero__intro p:not(.study-deck){color:var(--muted)}.study-hero__links{grid-column:7/13;display:flex;gap:1.3rem;align-items:end;margin-top:2rem}.study-hero__links a,.contact-links a,.study-contact a{font-size:.8rem;border-bottom:1px solid currentColor}.study-context,.study-evidence,.study-lessons,.study-observation{display:grid;grid-template-columns:4fr 8fr;gap:clamp(2rem,7vw,8rem);padding-top:clamp(6rem,9vw,10rem);padding-bottom:clamp(6rem,9vw,10rem);border-bottom:1px solid var(--line)}.study-context h2,.study-evidence h2,.study-pages h2,.study-lessons h2,.study-observation h2,.study-problem h2{margin:0;font:400 clamp(3rem,5.8vw,6.6rem)/.93 var(--serif);letter-spacing:-.04em}.study-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);margin-top:3rem}.study-columns p{margin:0;color:var(--muted)}.study-problem{padding-top:clamp(6rem,9vw,10rem);padding-bottom:clamp(6rem,9vw,10rem);border-bottom:1px solid var(--line)}.study-problem>h2{max-width:13ch;margin:1rem 0 4rem}.study-worklist{border-top:1px solid var(--ink)}.study-worklist article{display:grid;grid-template-columns:4rem 1.2fr 2fr;gap:1rem;padding:1.2rem 0 2.6rem;border-bottom:1px solid var(--line)}.study-worklist span{font:.63rem var(--mono);color:var(--accent)}.study-worklist h3{margin:0;font:400 2rem var(--serif)}.study-worklist p{margin:0;color:var(--muted)}.study-observation__note{align-self:start;padding-top:1rem;border-top:1px solid var(--ink)}.study-observation__note span{font:.62rem var(--mono);text-transform:uppercase;color:var(--accent)}.study-observation__note p{font:italic 1.25rem/1.35 var(--serif)}.evidence-grid{grid-column:1/13;margin-top:4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.evidence-grid article{min-height:26rem;padding:1.4rem;background:var(--paper);display:flex;flex-direction:column}.evidence-kicker{font:.62rem var(--mono);text-transform:uppercase;color:var(--accent)}.evidence-grid h3{margin:auto 0 1rem;font:400 2rem var(--serif)}.evidence-grid p{color:var(--muted)}.evidence-grid a,.evidence-slot span{align-self:flex-start;margin-top:auto;border-bottom:1px solid currentColor;font-size:.8rem}.study-pages{padding-top:clamp(6rem,9vw,10rem);padding-bottom:clamp(6rem,9vw,10rem);border-bottom:1px solid var(--line)}.study-pages h2{max-width:12ch;margin:1rem 0 4rem}.page-ribbon{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.page-ribbon span{min-height:8rem;padding:1rem;background:var(--paper);display:flex;align-items:end;font:400 1.45rem var(--serif)}.study-columns--offset{margin-left:34%}.study-lessons>div{align-self:end}.study-contact{display:block}.study-contact .contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,6vw,7rem)}.study-contact h2{margin:0;font:400 clamp(3rem,5vw,5.6rem)/.95 var(--serif);letter-spacing:-.04em}.contact-copy p{color:var(--muted)}.contact-links{display:grid;justify-items:start;gap:.8rem;margin-top:2rem}

/* local SEO note */
.note-hero{min-height:78svh;display:grid;align-content:center;padding:clamp(5rem,9vw,10rem) 0;border-bottom:1px solid var(--line)}.note-hero h1{max-width:13ch;margin:1.4rem 0 2rem;font:400 clamp(4rem,7.6vw,8.8rem)/.86 var(--serif);letter-spacing:-.05em}.note-hero>p:last-child{max-width:45rem;margin-left:42%;color:var(--muted)}.note-body>section{display:grid;grid-template-columns:1fr 3fr 8fr;gap:1rem;padding:clamp(3.5rem,6vw,6rem) 0;border-bottom:1px solid var(--line)}.note-body>section>span{font:.65rem var(--mono);color:var(--accent)}.note-body>section>div{grid-column:3}.note-body h2{max-width:18ch;margin:0 0 1.4rem;font:400 clamp(2.4rem,4vw,4.7rem)/.96 var(--serif);letter-spacing:-.035em}.note-body p{max-width:49rem;margin:0;color:var(--muted)}.note-end .actions{grid-column:2}

/* thanks */
.thanks{min-height:100svh;width:min(100%,var(--site-max));margin:auto;padding:var(--gutter);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,8vw,10rem)}.thanks-copy h1{margin:1rem 0 2rem;font:400 clamp(4rem,8vw,9rem)/.88 var(--serif);letter-spacing:-.05em}.thanks-copy p{max-width:42rem;color:var(--muted)}.thanks-copy a{display:inline-block;margin-top:1.5rem;border-bottom:1px solid currentColor}

@media(max-width:1100px){.v7-header{grid-template-columns:1fr auto}.v7-status{display:none}.v7-hero__main{grid-column:1/11}.v7-hero__aside{grid-column:8/13}.v7-case__headline{grid-column:1/9}.v7-case__story{grid-column:4/12}.v7-case__headline--systems{grid-column:3/13}.v7-system-map{grid-column:1/10}.v7-case__story--systems{grid-column:7/13}.v7-timeline{grid-column:6/13}.v7-about__heading{grid-column:1/6}}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.header-role{display:none}.site-header nav a:nth-child(-n+2){display:none}.v7-province,.province-thesis,.authority-note,.regina-proof-callout,.note-end{grid-template-columns:1fr}.province-thesis h2,.province-thesis__copy,.note-end .actions{grid-column:auto}.market-grid{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.business-card{margin-top:3rem}.note-hero>p:last-child{margin-left:24%}.note-body>section{grid-template-columns:3rem 1fr}.note-body>section>div{grid-column:2}.v7-contact{grid-template-columns:1fr}.v7-contact__copy{position:static}.v7-lead-panel{margin-top:4rem}}
@media(max-width:760px){.v7-header{min-height:60px}.v7-header nav a{display:none}.v7-brand span{display:none}.v7-hero{min-height:auto}.v7-hero__index span:nth-child(2){display:none}.v7-hero__main{grid-column:1/13;padding:16vw 0 10vw}.v7-hero__main h1{font-size:clamp(4rem,18vw,7rem)}.v7-hero__aside{grid-column:3/13;margin-bottom:5rem}.v7-hero__margin-note{grid-column:1/10}.v7-intro,.v7-work__heading,.v7-case,.v7-about{display:block}.v7-intro__statement,.v7-work__heading h2{margin-top:2rem;font-size:clamp(3rem,13vw,5rem)}.v7-intro__details{margin:2rem 0 0 16%}.v7-case__headline{margin-top:5rem}.v7-case__headline h3{font-size:clamp(3.5rem,15vw,6rem)}.v7-search-specimen{margin:4rem 0 0 12%}.v7-case__story,.v7-case__story--systems{margin:5rem 0 0 12%}.v7-system-map{margin-top:5rem;grid-template-columns:1fr}.system-line{width:1px;height:2rem;margin-left:2rem}.system-node{min-height:10rem}.v7-process,.v7-more{grid-template-columns:1fr}.v7-process__list,.v7-more__list{margin-top:4rem}.v7-process__list li{grid-template-columns:2.5rem 5.5rem 1fr}.v7-more__list a{grid-template-columns:1fr auto}.v7-more__list em{display:none}.v7-timeline{margin-top:5rem}.v7-timeline article{grid-template-columns:5.5rem 1fr}.v7-timeline article>p{grid-column:2}.v7-stack-note{margin:4rem 0 0 16%}.v7-form-row--two{grid-template-columns:1fr}.service-grid{display:block}.service-grid__items{margin-top:3rem}.service-proof__row{grid-template-columns:1fr}.business-card{grid-template-columns:1fr}.study-hero{min-height:auto;display:block;padding-top:2rem}.study-hero__meta{display:block}.study-hero__meta p+p{margin-top:.4rem}.study-hero h1{margin:14vw 0;font-size:clamp(4.8rem,21vw,8rem)}.study-hero h1 em{margin-left:0}.study-hero__intro{margin-left:16%;padding-left:0;border-left:0}.study-hero__links{margin-left:16%;display:grid;justify-content:start}.study-context,.study-evidence,.study-lessons,.study-observation{display:block}.study-context h2,.study-evidence h2,.study-pages h2,.study-lessons h2,.study-observation h2,.study-problem h2{margin-top:1rem;font-size:clamp(2.8rem,13vw,4.8rem)}.study-columns{grid-template-columns:1fr}.study-worklist article{grid-template-columns:2.5rem 1fr}.study-worklist h3,.study-worklist p{grid-column:2}.evidence-grid{display:block;border:0;background:none}.evidence-grid article{min-height:21rem;border-top:1px solid var(--line)}.page-ribbon{grid-template-columns:repeat(2,1fr)}.study-columns--offset{margin-left:16%}.study-contact .contact-grid{grid-template-columns:1fr}.province-thesis,.authority-note,.regina-proof-callout,.note-end{display:block}.province-thesis__copy{display:block;margin-top:3rem}.province-thesis__copy p+p{margin-top:1.5rem}.market-grid{display:block;border:0;background:none}.market-grid article{min-height:17rem;border-top:1px solid var(--line)}.authority-note>div,.regina-proof-callout>div{margin-top:3rem}.note-hero{min-height:auto}.note-hero h1{font-size:clamp(3.5rem,16vw,6rem)}.note-hero>p:last-child{margin-left:17%}.note-body>section{grid-template-columns:2rem 1fr}.note-body h2{font-size:clamp(2.2rem,10vw,3.6rem)}.note-end .actions{margin-top:2rem}.thanks{grid-template-columns:1fr}}
@media(max-width:520px){.site-header nav a{display:none}.v7-case__rail{grid-template-columns:auto 1fr}.v7-case__rail span:last-child{display:none}.v7-case__story,.v7-case__story--systems{margin-left:8%}.v7-process__list li{grid-template-columns:2.2rem 1fr}.v7-process__list p{grid-column:2}.v7-timeline article{grid-template-columns:1fr}.v7-timeline article>p{grid-column:1}.v7-stack-note{margin-left:8%}.v7-form-services{display:grid;grid-template-columns:1fr 1fr}.v7-form-services legend{grid-column:1/-1}.v7-form-submit{display:grid}.page-ribbon{grid-template-columns:1fr 1fr}footer,.v7-footer{grid-template-columns:1fr auto}footer span:nth-child(2),.v7-footer p:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.js .reveal{opacity:1;transform:none}}
