/* Hallmark · shape: Stair portfolio · genre: modern-minimal · theme: brand · redesign: full
 * paper: white · accent: #8b4f31 · display: Manrope · body: Manrope · hero: Index (home), Banner (documents) · nav: mast · footer: colophon · signature: actual stair photography and technical detail
 * axes: paper/type/photographs · posture: Restrained · job: read · contrast: audited · fold: audited · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 · weakest: legacy narrow canvas, replaced with large image-led index and readable documents */
/* Hallmark · waive 44c · Banner documents and Index homepage · titles introduce real article content rather than a separate full-screen marketing hero */
/* Hallmark · waive 49b · full original article titles and company name · preserve the complete wording in content links on narrow screens */
/* Hallmark · waive 77 · Контакты, Поиск и Комментарии · The portfolio keeps original articles, contact forms and search widgets as document utilities */
/* Hallmark · waive 78 · archive and contact widget headings · functional navigation remains compact beside the document display title */
/* Hallmark · waive 79 · compact document titles precede native content · the homepage Index continues directly into the actual featured story or portfolio */
/* Hallmark · dropped лестница на заказ в серпухове, zagolovok.png · brand remains linked text, original montage appears on homepage instead of repeating above every document */
/* Hallmark · waive 83 · Stair portfolio and construction drawings · technical stair diagrams and original portfolio photos remain available beside their descriptions */
/* Hallmark · dropped pushkinskie_gorki.gif · unreachable external advertisement image is now a text link to its original destination */
/* Hallmark · dropped реклама, пушкинские-горки.рф · owner requested removal of all advertisement blocks and third-party social scripts */
/*
Theme Name: Calarsi Portfolio
Version: 1.0.1
Text Domain: hallmark-owned
*/
@import url('./tokens.css');
@import url('./base.css');
@font-face{font-family:Manrope;src:url('assets/Manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--container);margin-inline:auto}a{text-decoration:none}a:hover{text-decoration:underline}p{margin:0 0 var(--space-lg)}figure{margin:var(--space-xl) 0}h1,h2,h3,h4{margin-bottom:var(--space-lg)}h4{font-size:var(--text-title)}button,input,textarea{font:inherit}button,input[type=submit]{cursor:pointer}.skip{position:absolute;top:-96px;left:var(--gutter);background:var(--color-paper);padding:var(--space-md);z-index:var(--z-toast)}.skip:focus-visible{top:var(--space-md)}.site-header{border-bottom:1px solid var(--color-rule);position:relative;z-index:var(--z-sticky)}.mast{min-height:112px;display:flex;align-items:center;gap:var(--space-xl)}.brand{font-family:var(--font-display);font-size:var(--text-title);line-height:1.1;max-width:24ch;color:var(--color-ink);font-weight:700}.site-navigation{margin-left:auto}.site-navigation ul{display:flex;gap:var(--space-lg);list-style:none;padding:0;margin:0;align-items:center;flex-wrap:wrap}.site-navigation li{position:relative}.site-navigation a{display:block;font-size:var(--text-sm);white-space:nowrap;padding-block:var(--space-sm);min-height:44px}.site-navigation .children,.site-navigation .sub-menu{display:none;position:absolute;top:100%;left:0;padding:var(--space-lg);background:var(--color-paper-2);min-width:240px;border:1px solid var(--color-rule)}.site-navigation li:hover>.children,.site-navigation li:focus-within>.children,.site-navigation li:hover>.sub-menu,.site-navigation li:focus-within>.sub-menu{display:block}.menu-toggle{display:none;margin-left:auto;background:var(--color-paper);border:1px solid var(--color-rule);min-height:44px;color:var(--color-ink);padding-inline:var(--space-md)}
.journal{padding-block:var(--space-2xl) var(--section-gap-s)}.journal-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--space-xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-rule);margin-bottom:var(--space-2xl)}.journal-heading h1{font-size:var(--text-display-s);max-width:19ch;margin:0}.journal-heading p{color:var(--color-muted);font-size:var(--text-lead);margin:0}.story-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl) var(--gap-columns)}.story{min-width:0}.story:first-child{grid-column:1/-1}.story-preview{display:flex;flex-direction:column}.story:first-child .story-preview{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-2xl);align-items:center}.story-image{display:block}.story-image img{width:100%;height:340px;object-fit:cover}.story:first-child .story-image img{height:540px}.story-copy{padding-top:var(--space-lg)}.story h2{font-size:var(--text-3xl);line-height:1.15;max-width:25ch}.story:first-child h2{font-size:var(--text-section)}.story-copy>p{color:var(--color-muted);max-width:55ch}.post-date{font-size:var(--text-sm);color:var(--color-muted)}.read-link,.quiet-link{display:inline-block;min-height:44px;color:var(--color-accent);text-decoration:underline;text-underline-offset:.2em}.full-story{border-block:1px solid var(--color-rule);margin-top:var(--space-lg);padding-block:var(--space-sm)}summary{min-height:44px;cursor:pointer;padding-block:var(--space-sm);font-size:var(--text-sm)}.full-story .prose{padding-top:var(--space-lg)}.story:last-child:nth-child(even){grid-column:1/-1}.pagination,.post-navigation{display:flex;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-2xl);font-size:var(--text-md)}
.document{padding-block:var(--space-2xl) var(--section-gap-s)}.document-head{padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-rule);margin-bottom:var(--space-2xl)}.document-head h1{font-size:var(--text-display-s);max-width:28ch}.breadcrumb{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-xl)}.document>.prose,.comments-area{max-width:860px;margin-inline:auto}.prose{font-size:var(--text-md);line-height:1.7;overflow-wrap:break-word}.prose p,.prose ul,.prose ol{margin-bottom:var(--space-lg)}.prose p{max-width:65ch;text-align:left!important}.prose h2{font-size:var(--text-section);margin-top:var(--space-2xl)}.prose h3{font-size:var(--text-title);margin-top:var(--space-xl)}.prose img{max-width:100%;height:auto;object-fit:contain}.prose img.alignleft,.prose img.alignright{float:none;display:block;margin:var(--space-xl) 0;max-height:660px;width:auto}.prose [style*="font-family"]{font-family:var(--font-body)!important}.prose a{text-decoration:underline;text-underline-offset:.15em;color:var(--color-accent)}.prose iframe,.prose video{max-width:100%;aspect-ratio:16/9;height:auto}.prose .wp-caption{max-width:100%;width:auto!important;margin-block:var(--space-xl)}.wp-caption-text{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-sm)}.prose .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-columns)}.prose .gallery-item{float:none!important;width:auto!important;margin:0!important}.prose .gallery img{width:100%;height:240px;object-fit:contain;border:0!important}.prose .gallery br{display:none}.prose .widget{background:var(--color-paper-2);padding:var(--space-lg);margin-block:var(--space-xl)}.prose .widget-title{font-size:var(--text-title)}.prose table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}td,th{padding:var(--space-md);border-bottom:1px solid var(--color-rule);text-align:left}
.legacy-widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl) var(--gap-columns);padding-block:var(--section-gap-s);border-top:1px solid var(--color-rule)}.legacy-widgets .widget{min-width:0}.legacy-widgets .widget-title{font-size:var(--text-title)}.widget ul{list-style:none;padding:0}.widget li{margin-bottom:var(--space-sm)}.widget img{max-width:100%;height:auto}.widget .tagcloud a{display:inline-block;font-size:var(--text-sm)!important;margin-right:var(--space-md);margin-bottom:var(--space-sm)}.widget a{color:var(--color-accent)}.legacy-widgets .wpcf7{padding:var(--space-xl);background:var(--color-paper-2)}.legacy-widgets .wpcf7 label{font-size:var(--text-sm);display:block}.wpcf7 input:not([type=hidden]):not([type=submit]),.wpcf7 textarea,.comment-form input:not([type=hidden]):not([type=submit]):not([type=checkbox]),.comment-form textarea,.search-form input{display:block;max-width:100%;width:100%;min-height:52px;background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-muted);padding:var(--space-sm) var(--space-md);border-radius:2px}.wpcf7 textarea,.comment-form textarea{min-height:176px;resize:vertical}.wpcf7 input[type=submit],.comment-form input[type=submit],.search-form button,.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink);border-radius:2px;white-space:nowrap;font-size:var(--text-sm)}button:active,.button:active,input[type=submit]:active{transform:translateY(1px)}button:disabled,input:disabled{opacity:.55;cursor:not-allowed}.button:hover,button:hover,input[type=submit]:hover{background:var(--color-focus);color:var(--color-accent-ink);text-decoration:none}.comments-area{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-rule)}.comment-list{padding-left:var(--space-lg)}.comment-list li{margin-bottom:var(--space-xl)}.comment-meta{font-size:var(--text-sm);color:var(--color-muted)}.comment-form label{display:block;font-size:var(--text-sm);margin-bottom:var(--space-xs)}.comment-form .comment-form-cookies-consent label{display:inline}.site-footer{background:var(--color-paper-2);padding-block:var(--space-2xl) var(--space-lg)}.footer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl)}.footer-layout p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-lg)}.footer-bottom{border-top:1px solid var(--color-rule);padding-top:var(--space-lg);margin-top:var(--space-2xl);display:flex;justify-content:space-between;gap:var(--space-lg);font-size:var(--text-sm);color:var(--color-muted)}.search-form label{font-size:var(--text-sm);display:block;margin-bottom:var(--space-xs)}.search-form>div{display:flex;gap:var(--space-xs)}.search-form input{min-width:0}.search-form button{flex-shrink:0}
.portfolio-hero{padding-block:var(--space-2xl);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.portfolio-hero h1{font-size:var(--text-display);max-width:20ch}.portfolio-hero .lead{max-width:58ch;color:var(--color-muted);margin-bottom:var(--space-xl)}.portfolio-hero .quiet-link{margin-left:var(--space-lg)}.portfolio-hero figure{margin:0}.portfolio-hero figure img{width:100%;height:auto;max-height:420px;object-fit:contain}.portfolio-body{padding-block:var(--space-2xl) var(--section-gap-s);border-top:1px solid var(--color-rule)}.portfolio-body .prose{max-width:860px;margin:auto}.stair-portfolio .prose strong{font-weight:700}.stair-portfolio .brand{max-width:27ch;font-size:var(--text-lg)}
@media(max-width:1300px){.menu-toggle{display:block}.site-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-paper);padding:var(--space-lg) var(--gutter);max-height:80svh;overflow:auto;border-bottom:1px solid var(--color-rule)}.site-navigation.is-open{display:block}.site-navigation ul{display:block}.site-navigation .children,.site-navigation .sub-menu{display:block;position:static;border:0;border-left:1px solid var(--color-rule);padding-block:0}}
@media(max-width:760px){.mast{min-height:96px;gap:var(--space-md)}.brand{font-size:var(--text-md);max-width:21ch}.stair-portfolio .brand{font-size:var(--text-md)}.journal,.document{padding-block:var(--space-xl) var(--section-gap-s)}.journal-heading{display:block;padding-bottom:var(--space-xl);margin-bottom:var(--space-xl)}.journal-heading p{margin-top:var(--space-lg)}.story-list{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.story:first-child{grid-column:auto}.story:first-child .story-preview{display:flex;gap:0}.story-image img,.story:first-child .story-image img{height:300px}.story:first-child h2{font-size:var(--text-section)}.story h2{font-size:var(--text-2xl)}.story:last-child:nth-child(even){grid-column:auto}.document-head{padding-bottom:var(--space-xl);margin-bottom:var(--space-xl)}.legacy-widgets{grid-template-columns:minmax(0,1fr)}.legacy-widgets .wpcf7{padding:var(--space-lg)}.footer-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.footer-bottom{flex-direction:column}.prose .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.prose .gallery img{height:200px}.portfolio-hero{padding-block:var(--space-xl)}.portfolio-hero h1{font-size:var(--text-display-s)}.portfolio-hero .quiet-link{display:block;margin:var(--space-lg) 0 0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:760px){.stair-portfolio .prose table,.stair-portfolio .prose tbody,.stair-portfolio .prose tr,.stair-portfolio .prose td{display:block;width:100%!important}.stair-portfolio .prose td:empty{display:none}}

.post-meta{font-size:var(--text-sm);color:var(--color-muted);line-height:1.5}.post-meta a{text-decoration:underline}

.prose iframe:focus-visible,.prose iframe:focus{outline:3px solid var(--color-focus)!important;outline-offset:3px}.mejs-container:focus-visible,.mejs-container:focus,.mejs-container :focus-visible,.mejs-container :focus{outline:3px solid var(--color-accent-ink)!important;outline-offset:2px}.legacy-widgets>.widget:last-child:nth-child(odd){grid-column:1/-1}.prose .gallery-item:last-child:nth-child(3n+1){grid-column:1/-1}

iframe:focus-visible,iframe:focus{outline:3px solid var(--color-focus)!important;outline-offset:3px}.mejs-container:focus-visible,.mejs-container:focus{outline-color:var(--color-focus)!important}.assistive-text{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:clip}.assistive-text:focus{width:auto;height:auto;clip-path:none;left:var(--gutter);top:var(--space-md);z-index:var(--z-toast)}.story-copy>h2{margin-top:var(--space-xl);margin-bottom:var(--space-md)}.story:first-child h2{font-size:var(--text-3xl)}.widget-title{margin-top:var(--space-xl);margin-bottom:var(--space-md)}

.prose center:focus-within,.prose :has(>iframe):focus-within{outline:3px solid var(--color-focus);outline-offset:4px}

iframe:focus-within{outline:3px solid var(--color-focus)!important;outline-offset:3px}
.search-form input[type=submit]{width:auto;flex:0 0 auto;background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent);cursor:pointer}

.video-embed{padding:var(--space-lg);border:1px solid var(--color-rule);margin-block:var(--space-xl)}.video-embed p{font-weight:600}.video-load{min-height:52px;padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink);margin-right:var(--space-md)}.video-embed iframe{display:block;width:100%;aspect-ratio:16/9;height:auto}.video-embed:focus-within{outline:3px solid var(--color-focus);outline-offset:3px}
