/* Typography and colour primitives mirrored from semira.ge (2026-09-11).
   Loaded last so every CMS page uses the same text system, including content
   that is not covered by the page-specific, source-calibrated stylesheets. */
@font-face{font-family:'Bebas Neue';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/bebas-neue-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bebas Neue';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/bebas-neue-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Oswald Variable';font-style:normal;font-display:swap;font-weight:200 700;src:url('../fonts/oswald-cyrillic-ext-wght-normal.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+2DE0-2DFF,U+A640-A69F}
@font-face{font-family:'Oswald Variable';font-style:normal;font-display:swap;font-weight:200 700;src:url('../fonts/oswald-cyrillic-wght-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+2116}
@font-face{font-family:'Oswald Variable';font-style:normal;font-display:swap;font-weight:200 700;src:url('../fonts/oswald-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Oswald Variable';font-style:normal;font-display:swap;font-weight:200 700;src:url('../fonts/oswald-latin-wght-normal.woff2') format('woff2')}
@font-face{font-family:'Noto Sans Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url('../fonts/noto-sans-cyrillic-ext-wght-normal.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+2DE0-2DFF,U+A640-A69F}
@font-face{font-family:'Noto Sans Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url('../fonts/noto-sans-cyrillic-wght-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+2116}
@font-face{font-family:'Noto Sans Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url('../fonts/noto-sans-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Noto Sans Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url('../fonts/noto-sans-latin-wght-normal.woff2') format('woff2')}
@font-face{font-family:'Noto Sans Georgian Variable';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62.5% 100%;src:url('../fonts/noto-sans-georgian-georgian-wdth-normal.woff2') format('woff2');unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBF,U+2D00-2D2F}
@font-face{font-family:'Noto Sans Georgian Variable';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62.5% 100%;src:url('../fonts/noto-sans-georgian-latin-wdth-normal.woff2') format('woff2')}
:root{
 --color-cream-50:#fcf8f3;--color-cream-100:#f5ede5;--color-cream-200:#eee3d7;--color-cream-300:#c3b4ac;
 --color-coffee-700:#462b1f;--color-coffee-800:#3a1e11;--color-coffee-900:#2c1206;--color-coffee-950:#140501;
 --color-gold-400:#cea770;--color-gold-500:#bc9359;--color-gold-600:#a67e44;--color-forest-700:#293729;
 --font-display:'Oswald Variable','Bebas Neue','Noto Sans Georgian Variable',system-ui,sans-serif;
 --font-display-multi:'Bebas Neue','Oswald Variable','Noto Sans Georgian Variable',system-ui,sans-serif;
 --font-body:'Noto Sans Variable','Noto Sans Georgian Variable',system-ui,sans-serif;
 --font-serif:'Cormorant Garamond','Noto Sans Georgian Variable',Georgia,serif;
 --font-numerals:'Bebas Neue','Oswald Variable',monospace;
 --text-eyebrow:.75rem;--text-body-sm:.875rem;--text-body:1rem;--text-body-lg:1.125rem;--text-lead:1.25rem;
 --text-h4:calc(clamp(1.25rem,2vw,1.5rem)*var(--display-scale,1));--text-h3:calc(clamp(1.5rem,2.5vw,2rem)*var(--display-scale,1));
 --text-h2:calc(clamp(2rem,4vw,3.5rem)*var(--display-scale,1));--text-h1:calc(clamp(2.5rem,7vw,5.5rem)*var(--display-scale,1));
 --text-stat:clamp(4rem,10vw,9rem);--tracking-display:.02em;--tracking-eyebrow:.15em;--tracking-stat:.01em;
 --leading-display:.9;--leading-heading:1.05;--leading-body:1.6;--leading-stat:.85;--display-scale:1;
 --coffee:var(--color-coffee-900);--coffee2:var(--color-coffee-700);--cream:var(--color-cream-100);--paper:var(--color-cream-200);--gold:var(--color-gold-500);--ink:var(--color-coffee-800)
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html[lang=ru]{--display-scale:.85;--tracking-display:.012em;--leading-display:1.04;--leading-heading:1.04}
html[lang=ge],html[lang=ka]{--display-scale:.78;--tracking-display:.01em;--leading-display:1.06;--leading-heading:1.1}
body{background-color:var(--color-cream-100);color:var(--color-coffee-800);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);font-feature-settings:'kern','ss01';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display-multi);font-weight:400;line-height:var(--leading-heading);letter-spacing:var(--tracking-display);text-transform:uppercase}
.heading-display{font-family:var(--font-display-multi);font-weight:400;line-height:var(--leading-display);letter-spacing:var(--tracking-display);text-transform:uppercase}
.font-body{font-family:var(--font-body)}.font-display{font-family:var(--font-display)}.font-display-multi{font-family:var(--font-display-multi)}.font-numerals{font-family:var(--font-numerals);font-feature-settings:'tnum'}
.eyebrow,.dot-kicker,.home-kicker,.contact-kicker{font-family:var(--font-body);font-size:var(--text-eyebrow);font-weight:500;line-height:1.333;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
html[lang=ru] h1,html[lang=ru] h2,html[lang=ru] h3,html[lang=ru] h4,html[lang=ru] h5,html[lang=ru] h6,html[lang=ru] .heading-display,html[lang=ru] .font-display,html[lang=ru] .font-display-multi{font-family:'Oswald Variable',system-ui,sans-serif;font-weight:550}
html[lang=ge] h1,html[lang=ge] h2,html[lang=ge] h3,html[lang=ge] h4,html[lang=ge] h5,html[lang=ge] h6,html[lang=ge] .heading-display,html[lang=ge] .font-display,html[lang=ge] .font-display-multi,html[lang=ka] h1,html[lang=ka] h2,html[lang=ka] h3,html[lang=ka] h4,html[lang=ka] h5,html[lang=ka] h6,html[lang=ka] .heading-display,html[lang=ka] .font-display,html[lang=ka] .font-display-multi{font-family:'Noto Sans Georgian Variable',system-ui,sans-serif;font-weight:650;font-stretch:72%;overflow-wrap:normal}
::selection{background-color:var(--color-gold-500);color:var(--color-coffee-900)}

/* Source breakpoints: compact mobile, mobile/tablet, desktop.  Page-specific
   values remain free to be more expressive; these rules protect generic CMS
   copy and older templates from retaining desktop-only fixed sizes. */
@media(max-width:900px){
 :root{--text-body:.9375rem;--text-body-lg:1rem;--text-lead:1.125rem;--text-h4:clamp(1.125rem,4.5vw,1.375rem);--text-h3:clamp(1.375rem,6vw,1.75rem);--text-h2:clamp(2rem,9vw,3rem);--text-h1:clamp(2.5rem,13vw,4.75rem);--text-stat:clamp(4rem,22vw,7rem)}
 .page-content,.project-copy{font-size:var(--text-body);line-height:var(--leading-body)}
 .page-content h1{font-size:var(--text-h1);line-height:var(--leading-display)}
 .page-content h2{font-size:var(--text-h2);line-height:var(--leading-heading)}
 .page-content h3{font-size:var(--text-h3);line-height:var(--leading-heading)}
 .page-content h4{font-size:var(--text-h4);line-height:var(--leading-heading)}
 .page-hero>p:last-child,.project-detail-hero__content>p:last-child{font-size:var(--text-lead);line-height:1.6}
 .project-copy h2{font-size:var(--text-h2);line-height:var(--leading-heading)}
}
@media(max-width:560px){
 :root{--text-eyebrow:.625rem;--text-body:.875rem;--text-body-sm:.8125rem;--text-body-lg:.9375rem;--text-lead:1rem;--tracking-eyebrow:.15em}
 .eyebrow,.dot-kicker,.home-kicker,.contact-kicker{font-size:var(--text-eyebrow);line-height:1.4}
 .page-content{padding-left:24px;padding-right:24px}
 .mobile-menu nav a{font-size:clamp(2.5rem,14vw,4rem);line-height:1}
}
@media(max-width:379.98px){html[lang=ge] h1,html[lang=ge] h2,html[lang=ge] h3,html[lang=ka] h1,html[lang=ka] h2,html[lang=ka] h3{overflow-wrap:anywhere}}
