@font-face {
  font-family: 'JetBrains Mono';
  src: url('fonts/JetBrainsMono-Variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
}
:root{--paper:#f7f7f2;--ink:#111110;--muted:#61615c;--line:#c9c9c2;--ease-out:cubic-bezier(.23,1,.32,1);--bs-body-bg:var(--paper);--bs-body-color:var(--ink);--bs-body-font-family:Arial,Helvetica,system-ui,sans-serif;--bs-border-radius:0;--bs-border-radius-sm:0;--bs-border-radius-lg:0}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;-webkit-font-smoothing:antialiased}::selection{background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit}img{max-width:100%}svg.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.page-width{width:calc(100% - 96px);max-width:1504px;margin-inline:auto}.micro,.eyebrow,.back-link,.desktop-nav,.footer-links,.text-button,.tiny-tag{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.015em}.eyebrow{font-size:11px;color:var(--muted);margin:0 0 24px}.micro{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:900;letter-spacing:-.055em}h2{font-size:clamp(36px,4vw,64px);line-height:.98;margin:0}h3{font-size:23px;line-height:1.1;letter-spacing:-.04em}p{line-height:1.5}.section-space{padding-block:80px}.btn{border-radius:0;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 22px;min-height:48px;transition:background-color 160ms ease,color 160ms ease,transform 120ms var(--ease-out);border-width:1px;text-transform:uppercase;letter-spacing:.015em}.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-dark:active,.btn-dark:focus-visible{background:var(--ink);border-color:var(--ink)}.btn-outline-dark{border-color:var(--ink);color:var(--ink)}.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn:active{transform:scale(.98)}.btn .icon{width:19px;height:19px}.action-button{min-width:238px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #79794b;outline-offset:5px;box-shadow:none}.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:white;z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.header-inner{height:88px;gap:20px}.brand{font-size:28px;font-weight:900;letter-spacing:-.07em;line-height:1;white-space:nowrap;display:inline-block}.slashes{padding-inline:5px}.brand-dot{font-size:11px;vertical-align:top;display:inline-block;margin:0 0 0 4px;letter-spacing:0}.desktop-nav{display:flex;gap:32px;margin-left:auto;margin-right:40px;text-transform:uppercase}.desktop-nav a{padding:15px 0}.header-cta{padding:13px 17px;min-height:44px;font-size:10px;gap:26px}
.hero{padding-block:58px 54px}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding-right:50px}.hero-copy .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:25px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink)}.hero-title{font-size:clamp(75px,8.2vw,132px);line-height:.88;letter-spacing:-.075em;margin:0 0 36px}.hero-title>span{display:block}.title-muted{color:#85857c}.hero-bottom{width:100%;display:flex;align-items:end;justify-content:space-between;gap:24px}.hero-description{font-size:19px;line-height:1.35;margin:0;letter-spacing:-.03em}.demo-note{margin:22px 0 0;font-size:9px}.hero-art{padding-top:3px;align-self:center}.photo-frame{position:relative;aspect-ratio:1/1;overflow:hidden;background:#d8d8d2}.portrait{background-image:url('hairstyles.png');background-size:300% 200%;background-repeat:no-repeat;background-color:#d8d8d2;aspect-ratio:1;position:relative}.portrait-0{background-position:0 0}.portrait-1{background-position:50% 0}.portrait-2{background-position:100% 0}.portrait-3{background-position:0 100%}.portrait-4{background-position:50% 100%}.portrait-5{background-position:100% 100%}.hero-portrait{width:100%;height:100%;filter:contrast(1.06)}.frame-label{position:absolute;top:20px;left:20px;z-index:1;color:#171716;background:rgba(247,247,242,.9);padding:4px 7px;font-size:9px}.frame-corner{position:absolute;width:18px;height:18px;border-color:var(--paper);border-style:solid}.top-left{top:9px;left:9px;border-width:1px 0 0 1px}.bottom-right{right:9px;bottom:9px;border-width:0 1px 1px 0}.portrait-stamp{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:13px;color:var(--paper);background:var(--ink);padding:14px 19px;font-size:11px;line-height:1.15;font-weight:700}.portrait-stamp .icon{width:28px;height:28px}.art-caption{padding-top:13px;gap:10px}.art-caption .micro{font-size:9px}.manifesto-strip{background:var(--ink);color:var(--paper);padding:19px 48px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:clamp(14px,1.65vw,25px);font-weight:900;letter-spacing:-.03em;overflow:hidden}.strip-star{font-size:27px;font-weight:400}.section-intro{margin-bottom:40px}.intro-aside{display:flex;flex-direction:column;justify-content:end;padding-left:7%}.intro-aside>p:first-child{font-size:20px;letter-spacing:-.03em}.intro-aside .micro{font-size:9px;margin-bottom:0}.steps-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{padding:28px 32px 27px 0;position:relative}.step:not(:first-child){border-left:1px solid var(--line);padding-left:32px}.step-number{font-size:44px;font-weight:400;letter-spacing:-.05em;font-family:'JetBrains Mono',monospace;line-height:1;display:block;margin-bottom:50px}.step-icon{position:absolute;top:30px;right:28px}.step h3{text-transform:uppercase;margin-bottom:12px}.step p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.tiny-tag{font-size:8px;border:1px solid currentColor;display:inline-block;padding:3px 6px;letter-spacing:0;vertical-align:middle;margin-left:6px}.styles-section{padding-top:0}.catalog-heading{gap:24px;margin-bottom:36px}.catalog-count{text-align:right;font-size:9px}.style-card{display:block;position:relative;width:100%;border:0;background:none;text-align:left;padding:0;cursor:pointer;color:var(--ink)}.style-visual{position:relative;overflow:hidden}.card-number{position:absolute;top:14px;left:14px;background:var(--paper);padding:4px 7px;z-index:1;font-size:9px}.card-arrow{position:absolute;right:12px;bottom:12px;width:38px;height:38px;background:var(--paper);display:grid;place-items:center}.card-arrow .icon{width:18px;height:18px}.style-card .portrait{transition:transform 250ms var(--ease-out)}.style-card-info{border-bottom:1px solid var(--line);padding:17px 0 14px;display:flex;justify-content:space-between;gap:8px;align-items:start}.style-card-info h3{font-size:21px;text-transform:uppercase;margin:0 0 4px}.style-card-info .micro{font-size:9px;display:block}.home-card{margin-bottom:12px}.closing-section{background:var(--ink);color:var(--paper);padding-block:62px}.closing-section>.row{width:calc(100% - 96px);margin-inline:auto}.closing-section h2{font-size:clamp(38px,4.3vw,68px)}.closing-section .eyebrow{color:#b6b6ad}.closing-action{padding-left:4%}.closing-action .btn{width:100%}.closing-action .micro{color:#b6b6ad;font-size:9px;margin:17px 0 0}.site-footer{display:flex;justify-content:space-between;align-items:start;padding-block:40px;gap:30px}.site-footer .brand{font-size:24px}.site-footer p{font-size:9px;margin:12px 0 0}.footer-links{display:flex;gap:28px;font-size:10px;text-transform:uppercase}.footer-links a{min-height:44px;display:flex;align-items:center}.footer-meta{font-size:9px;text-align:right}
.upload-section{padding-block:30px 75px}.back-link{display:inline-flex;min-height:44px;align-items:center;color:var(--muted);font-size:10px;margin-bottom:25px}.upload-heading{position:relative;margin-bottom:50px}.upload-heading h1{font-size:clamp(50px,6.6vw,100px);line-height:.92;margin:0 0 22px;letter-spacing:-.065em}.upload-heading .eyebrow{margin-bottom:20px}.upload-heading>p:last-child{font-size:15px;color:var(--muted);margin:0}.upload-layout{--bs-gutter-x:64px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--ink);padding-block:17px 22px}.panel-heading h2{font-size:21px;letter-spacing:-.035em;line-height:1.2;display:flex;align-items:center;gap:13px}.panel-heading h2 .micro{font-size:10px;color:var(--muted)}.panel-heading>span{font-size:9px}.dropzone{position:relative;border:1px dashed #a7a79e;background:#ecece6;min-height:400px;display:flex;justify-content:center;align-items:center;transition:background-color 160ms ease;overflow:hidden}.empty-photo{width:100%;text-align:center;padding:32px 20px}.upload-cross{display:block;font-size:64px;line-height:1;font-weight:200;margin-bottom:24px}.empty-photo h3{font-size:28px;letter-spacing:-.045em;line-height:1;margin-bottom:15px}.empty-photo p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:23px}.empty-photo .btn{font-size:10px;min-width:175px;padding:13px 17px}.file-rules{display:block;margin:16px 0 0;font-size:9px}.photo-content{width:100%;height:400px;position:relative;background:#e5e5df}.photo-content img{width:100%;height:100%;object-fit:contain}.preview-tag{position:absolute;left:12px;bottom:12px;right:12px;text-align:center;background:rgba(247,247,242,.92);padding:5px 8px;font-size:8px}.drop-hint{display:none;position:absolute;inset:0;background:var(--ink);color:var(--paper);font-weight:800;font-size:23px;align-items:center;justify-content:center;text-align:center;padding:20px;pointer-events:none}.is-dragging .drop-hint{display:flex}.photo-tools{padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.photo-tools>.micro{min-width:0;overflow-wrap:anywhere;font-size:9px;max-width:50%}.text-button{background:none;border:0;border-bottom:1px solid var(--line);min-height:44px;padding:8px 0;white-space:nowrap;font-size:11px}.file-error{border-left:3px solid #8d3027;background:#f0e7e2;color:#67231d;padding:12px 15px;margin:12px 0;font-size:13px}.photo-tips{padding-top:26px}.photo-tips>.micro{font-size:9px}.photo-tips ul{padding-left:16px;font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0 0}.privacy-note{display:flex;align-items:center;gap:11px;font-size:10px;color:var(--muted);line-height:1.6;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.privacy-note .icon{width:17px;height:17px}.catalog-instruction{font-size:12px;color:var(--muted);margin:0 0 18px}.upload-card .style-card-info{padding:12px 0;min-height:63px}.upload-card .style-card-info h3{font-size:16px}.upload-card .style-card-info .micro{font-size:8px}.upload-card .card-arrow{width:26px;height:26px;right:8px;bottom:8px}.upload-card .card-arrow .icon{width:14px;height:14px}.selection-check{position:absolute;inset:0;border:3px solid var(--ink);pointer-events:none;display:none}.selection-label{position:absolute;bottom:10px;right:10px;background:var(--ink);color:var(--paper);padding:5px 8px;font-size:9px;display:flex;align-items:center;gap:4px;font-family:'JetBrains Mono',monospace}.selection-label .icon{width:13px;height:13px}.style-card[aria-pressed="true"] .selection-check{display:block}.style-card[aria-pressed="true"] .card-arrow{display:none}.examples-note{font-size:8px;margin:16px 0 25px}.preparation{border:1px solid var(--ink);padding:23px 25px;background:#efefe8;position:relative}.preparation-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.preparation-top .icon{width:20px;height:20px}.preparation-top .micro{font-size:9px}.preparation h3{font-size:25px;line-height:1.05;margin-bottom:10px;max-width:500px}.preparation>p{font-size:12px;color:var(--muted);margin-bottom:18px}.preparation-checks{display:flex;gap:20px;font-size:11px;margin-bottom:20px}.preparation-checks>span{display:flex;gap:5px;align-items:center;color:var(--muted)}.preparation-checks .icon{width:13px;height:13px;opacity:.25}.preparation-checks .is-complete{color:var(--ink);font-weight:700}.preparation-checks .is-complete .icon{opacity:1}.generation-note{display:flex;align-items:start;gap:12px;border-top:1px solid var(--line);padding-top:17px;font-size:10px;line-height:1.5;color:var(--muted)}.generation-note .tiny-tag{margin:0;color:var(--ink);flex-shrink:0}.preparation.is-ready{background:var(--ink);color:var(--paper)}.preparation.is-ready .micro,.preparation.is-ready>p,.preparation.is-ready .generation-note,.preparation.is-ready .is-complete,.preparation.is-ready .tiny-tag{color:var(--paper)}.preparation.is-ready .generation-note{border-color:#565651}.noscript-message{padding:20px;text-align:center;background:#eee}
@media(hover:hover) and (pointer:fine){.btn-dark:hover{background:#393934;border-color:#393934}.btn-outline-dark:hover{background:var(--ink);color:var(--paper)}.style-card:hover .portrait{transform:scale(1.035)}.style-card:hover .card-arrow{background:var(--ink);color:var(--paper)}.desktop-nav a:hover,.footer-links a:hover,.back-link:hover,.text-button:hover{text-decoration:underline;text-underline-offset:4px}.btn-light:hover{background:#deded4;color:var(--ink)}}
@media(min-width:1600px){.hero{padding-block:72px}.hero-copy{justify-content:center}.hero-title{font-size:145px}.hero-bottom{max-width:660px}}
@media(max-width:1199px){.page-width{width:calc(100% - 64px)}.hero-copy{padding-right:32px}.hero-title{font-size:9vw}.hero-bottom{align-items:start;flex-direction:column;gap:22px}.hero-description{font-size:17px}.hero{padding-block:44px}.hero-art{align-self:center}.desktop-nav{margin-right:20px;gap:20px}.upload-layout{--bs-gutter-x:36px}.upload-card .style-card-info h3{font-size:14px}.closing-section>.row{width:calc(100% - 64px)}.footer-links{gap:20px}}
@media(max-width:991px){.hero-copy{padding-right:0}.hero-title{font-size:clamp(80px,14vw,130px)}.hero .row{align-items:center}.hero-copy{width:55%}.hero-art{width:45%}.hero-description{font-size:15px}.hero-bottom{gap:22px}.hero .action-button{min-width:200px}.demo-note{font-size:8px;max-width:230px}.hero-copy .eyebrow{font-size:8px}.portrait-stamp{padding:10px;left:12px;bottom:12px;font-size:9px}.portrait-stamp .icon{width:22px}.art-caption .micro{font-size:8px}.frame-label{font-size:7px;left:12px;top:15px}.desktop-nav{display:none}.section-space{padding-block:55px}.intro-aside{padding-left:calc(var(--bs-gutter-x)*.5)}.intro-aside>p:first-child{font-size:17px}.styles-section{padding-top:0}.closing-action{padding-left:calc(var(--bs-gutter-x)*.5);margin-top:30px}.closing-action .btn{max-width:500px}.closing-section{padding-block:48px}.site-footer{flex-wrap:wrap}.footer-links{order:3;width:100%}.upload-heading{margin-bottom:36px}.photo-column{margin-bottom:35px}.dropzone,.photo-content{min-height:380px;height:380px}.upload-card .style-card-info h3{font-size:19px}.hairstyle-column{margin-top:12px}}
@media(max-width:575px){.page-width{width:calc(100% - 36px)}.header-inner{height:72px;gap:12px}.brand{font-size:22px}.brand-dot{font-size:8px;margin-left:2px}.header-cta{font-size:8px;padding:10px 12px;gap:10px}.header-cta .icon{width:14px;height:14px}.hero{padding-block:32px}.hero-copy,.hero-art{width:100%}.hero-copy .eyebrow{font-size:9px;margin-bottom:25px}.hero-title{font-size:clamp(64px,20vw,108px);margin-bottom:25px}.hero-bottom{flex-direction:row;align-items:end;gap:16px}.hero-description{font-size:13px}.hero .action-button{min-width:0;padding:15px 16px;font-size:10px;gap:14px}.demo-note{max-width:none;margin-top:18px}.hero-art{padding-top:30px}.portrait-stamp{padding:14px 17px;font-size:11px;bottom:16px;left:16px}.portrait-stamp .icon{width:26px;height:26px}.frame-label{font-size:8px;left:16px;top:16px}.art-caption .micro{font-size:8px}.manifesto-strip{padding:17px 18px;gap:10px;font-size:12px}.strip-star{font-size:17px}.strip-extra{display:none}.section-space{padding-block:44px}.eyebrow{margin-bottom:18px;font-size:9px}h2{font-size:37px}.section-intro{margin-bottom:25px}.intro-aside{padding-top:0}.intro-aside>p:first-child{font-size:16px}.step{padding:22px 0!important;min-height:160px;display:grid;grid-template-columns:64px 1fr;align-items:start;column-gap:15px}.step:not(:first-child){border-left:0;border-top:1px solid var(--line)}.step-number{font-size:35px;grid-row:1/3;margin-bottom:0;padding-top:2px}.step h3{font-size:21px;margin-right:26px;margin-bottom:10px}.step p{font-size:12px;grid-column:2}.step-icon{right:0;top:23px;width:20px!important;height:20px!important}.styles-section{padding-top:0}.catalog-heading{display:block!important;margin-bottom:25px}.catalog-count{display:block;text-align:left;margin-top:15px}.home-card .style-card-info h3{font-size:16px}.home-card .style-card-info .micro{font-size:8px}.home-card .card-number{left:8px;top:8px;font-size:8px}.home-card .card-arrow{width:26px;height:26px;right:8px;bottom:8px}.home-card .card-arrow .icon{width:15px;height:15px}.home-card .style-card-info{padding:12px 0}.home-card{margin-bottom:0}.closing-section>.row{width:calc(100% - 36px)}.closing-section h2{font-size:36px}.closing-section .eyebrow{font-size:9px}.closing-section{padding-block:37px}.closing-action .micro{font-size:8px}.site-footer{padding-block:30px;gap:25px 10px}.site-footer .brand{font-size:21px}.footer-meta{font-size:8px}.footer-links{gap:15px;justify-content:space-between;font-size:8px}.upload-section{padding-top:14px;padding-bottom:40px}.back-link{margin-bottom:22px}.upload-heading h1{font-size:clamp(42px,10.5vw,61px)}.upload-heading>p:last-child{font-size:12px}.upload-heading{margin-bottom:30px}.upload-layout{--bs-gutter-x:24px}.panel-heading h2{font-size:20px;gap:10px}.panel-heading>span{font-size:8px}.dropzone,.photo-content{min-height:350px;height:350px}.empty-photo h3{font-size:27px}.photo-tips{padding-top:20px}.upload-card .style-card-info h3{font-size:16px}.upload-card .style-card-info .micro{font-size:8px}.preparation{padding:21px 18px}.preparation h3{font-size:24px}.upload-card .card-number{left:8px;top:8px;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.btn:active,.style-card:hover .portrait{transform:none!important}}
@media(prefers-contrast:more){:root{--muted:#333;--line:#777}.title-muted{color:#666}.dropzone{border:2px solid var(--ink)}}

/* Keep every primary link and photo action comfortable for touch. */
.brand{display:inline-flex;align-items:center;min-height:44px}
.text-button{min-width:44px}

/* Haircut controls: native radios with visible, comfortable option surfaces. */
.hairstyle-settings { border: 1px solid var(--line); padding: 24px; margin-bottom: 24px; background: #fff; }
.settings-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 16px; }
.settings-heading h3 { display: flex; align-items: center; gap: 12px; font-size: 21px; margin: 0; letter-spacing: -.035em; }
.settings-heading h3 .micro { font-size: 10px; }
.settings-heading .text-button { font-size: 10px; }
.settings-empty, .settings-intro { font: 11px/1.8 'JetBrains Mono',monospace; color: var(--muted); margin: 0; }
.settings-intro { margin-bottom: 24px; }
.settings-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 18px; }
.setting-field { margin: 0; padding: 0; min-width: 0; border: 0; }
.setting-field legend { float: none; font: 10px/1.5 'JetBrains Mono',monospace; text-transform: uppercase; margin: 0 0 10px; }
.setting-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(100px,1fr)); gap: 7px; }
.setting-option { position: relative; min-width: 0; cursor: pointer; }
.setting-option input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.setting-option span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 10px; text-align: center; border: 1px solid var(--line); background: #fff; font: 10px/1.5 'JetBrains Mono',monospace; transition: background-color 160ms ease,color 160ms ease,border-color 160ms ease; }
.setting-option input:checked + span { background: var(--ink); color: #fff; border-color: var(--ink); }
.setting-option input:focus-visible + span { outline: 3px solid #79794b; outline-offset: 3px; }
.settings-note { font-size: 8px; line-height: 1.8; border-top: 1px solid var(--line); padding-top: 18px; margin: 24px 0 0; }
.settings-summary { padding: 18px 0 20px; border-top: 1px solid var(--line); }
.settings-summary > p.micro { font-size: 8px; margin-bottom: 12px; }
.settings-summary dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 18px; margin: 0; font-family: 'JetBrains Mono',monospace; }
.settings-summary dt { font-size: 8px; font-weight: 400; color: var(--muted); margin-bottom: 3px; }
.settings-summary dd { font-size: 10px; margin: 0; line-height: 1.5; overflow-wrap: anywhere; }
.preparation-checks { flex-wrap: wrap; gap: 10px 18px; }
@media (hover:hover) and (pointer:fine) {
  .setting-option:hover span { border-color: var(--ink); }
}
@media (max-width:575px) {
  .hairstyle-settings { padding: 20px; }
  .settings-heading h3 { font-size: 18px; gap: 8px; }
  .settings-fields { grid-template-columns: 1fr; gap: 22px; }
  .settings-intro { font-size: 10px; }
}

/* Supporting copy shares the same local Cyrillic-capable monospace face. */
.btn, .hero-description, .portrait-stamp, .step p, .intro-aside p,
.empty-photo p, .photo-tips ul, .privacy-note, .catalog-instruction,
.preparation p, .preparation-checks, .generation-note, .file-error,
.upload-heading > p:last-child, .journey-step,
.decision-lead, .decision-point p, .price-unit, .price-features,
.business-description, .faq-answer {
  font-family: 'JetBrains Mono', monospace;
}
.decision-section { border-top: 1px solid var(--line); }
.decision-copy { padding-left: 6%; }
.decision-lead { font-size: 16px; line-height: 1.65; margin-bottom: 30px; }
.decision-point { display: flex; gap: 20px; padding-block: 20px; border-top: 1px solid var(--line); }
.decision-point > .micro { padding-top: 3px; font-size: 10px; }
.decision-point h3 { font-size: 20px; margin-bottom: 9px; text-transform: uppercase; letter-spacing: -.035em; }
.decision-point p { font-size: 12px; line-height: 1.8; color: var(--muted); margin-bottom: 0; max-width: 490px; }
.pricing-section { padding-top: 0; }
.pricing-heading-note { text-align: right; font-size: 9px; line-height: 1.8; }
.pricing-grid { border: 1px solid var(--ink); }
.price-card { padding: 34px 38px; display: flex; flex-direction: column; }
.price-card + .price-card { border-left: 1px solid var(--ink); }
.price-card-top { display: flex; align-items: start; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.price-card-top .eyebrow { margin-bottom: 0; font-size: 9px; }
.price-card-top .tiny-tag { margin: 0; font-size: 7px; white-space: nowrap; }
.price-card h3 { font-size: clamp(30px,3.5vw,50px); line-height: .98; margin-bottom: 25px; }
.price-amount { font-size: 110px; line-height: 1; letter-spacing: -.08em; font-weight: 900; margin-bottom: 10px; }
.price-amount > span { font-size: 50px; letter-spacing: -.035em; }
.price-unit { font-size: 13px; margin-bottom: 24px; }
.price-features { list-style: none; padding: 0; margin: 0 0 30px; font-size: 11px; line-height: 1.8; color: var(--muted); }
.price-features li { position: relative; padding-left: 20px; margin-bottom: 9px; }
.price-features li::before { content: '+'; position: absolute; left: 0; color: var(--ink); }
.price-card > .btn { width: 100%; margin-top: auto; font-size: 10px; }
.price-card .price-note { font-size: 8px; line-height: 1.8; margin: 16px 0 0; }
.business-price { background: #fafafa; }
.business-placeholder { font-size: 105px; line-height: 1; margin-bottom: 15px; color: #9a9a9a; }
.business-description { font-size: 12px; line-height: 1.8; color: var(--muted); max-width: 420px; margin-bottom: 30px; }
.unavailable-label { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; border: 1px dashed #b7b7b7; margin-top: auto; font-size: 10px; text-align: center; padding: 12px; }
.faq-section { padding-top: 0; }
.faq-list { padding-left: 5%; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 22px 0; min-height: 66px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 700; line-height: 1.4; letter-spacing: -.02em; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary > .faq-symbol { font-family: 'JetBrains Mono',monospace; font-size: 24px; font-weight: 400; flex-shrink: 0; transition: transform 160ms var(--ease-out); }
.faq-item[open] summary > .faq-symbol { transform: rotate(45deg); }
.faq-answer { font-size: 12px; line-height: 1.8; color: var(--muted); padding: 0 30px 22px 0; }
.faq-answer p { line-height: inherit; margin: 0; }
.faq-question { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.faq-item[open] .faq-answer { animation: faq-answer-in 180ms var(--ease-out); }
@keyframes faq-answer-in { from { opacity: 0; } to { opacity: 1; } }
@media (max-width:991px) {
  .decision-copy, .faq-list { padding-left: calc(var(--bs-gutter-x) * .5); }
  .price-card { padding: 26px; }
  .price-card-top { flex-wrap: wrap; }
  .pricing-heading-note { font-size: 8px; }
  .faq-list { margin-top: 30px; }
}
@media (max-width:767px) {
  .price-card + .price-card { border-left: 0; border-top: 1px solid var(--ink); }
}
@media (max-width:575px) {
  .pricing-section, .faq-section { padding-top: 0; }
  .decision-lead { font-size: 13px; margin-bottom: 20px; }
  .decision-point { gap: 14px; }
  .decision-point h3 { font-size: 18px; }
  .decision-point p { font-size: 11px; }
  .pricing-heading-note { display: block; text-align: left; margin-top: 18px; }
  .price-card { padding: 26px 20px; }
  .price-card h3 { font-size: 32px; }
  .business-price h3 { font-size: clamp(24px,7vw,32px); }
  .price-amount { font-size: 95px; }
  .price-amount > span { font-size: 42px; }
  .price-unit { font-size: 11px; }
  .price-features { font-size: 10px; }
  .price-card .price-note { font-size: 7px; }
  .business-description { font-size: 11px; }
  .faq-item summary { font-size: 15px; }
  .faq-answer { font-size: 11px; padding-right: 10px; }
  .footer-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 15px; font-size: 9px; }
  .hero-bottom { gap: 12px; }
  .hero-description { font-size: 11px; }
  .hero .action-button { font-size: 9px; padding-inline: 12px; }
}

/* Bright editorial surfaces. Motion belongs to the action, not the background. */
:root {
  --paper: #fff;
  --ink: #090909;
  --muted: #626262;
  --line: #d5d5d5;
}
.site-header { background: #fafafa; }
.hero { padding-block: 76px 66px; }
.title-muted { color: var(--ink); }
.hero-art { align-self: center; }
.photo-frame {
  max-width: 390px;
  margin-inline: auto;
  background: #f6f6f6;
  touch-action: pan-y;
}
.portrait { filter: brightness(1.2) contrast(.92); }
.hero-portrait { filter: brightness(1.24) contrast(.9); }
.hero-layer { position: absolute; inset: 0; }
.frame-label, .portrait-stamp, .frame-corner { z-index: 3; }
.frame-label { background: rgba(255,255,255,.94); }
.portrait-stamp { background: #fff; color: var(--ink); }
.art-caption, .hero-style-controls, .hero-use-style {
  max-width: 390px;
  margin-inline: auto;
}
.hero-style-controls { display: flex; align-items: center; justify-content: space-between; margin-top: 15px; gap: 8px; }
.hero-style-options { display: flex; justify-content: center; flex: 1; gap: 2px; }
.hero-style-options button, .style-cycle {
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  font: 10px/1 'JetBrains Mono',monospace;
  transition: background-color 160ms ease, color 160ms ease;
}
.style-cycle { font: 19px/1 Arial,sans-serif; }
.hero-style-options button[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.hero-use-style { display: flex; justify-content: space-between; align-items: center; min-height: 44px; font-size: 10px; color: var(--ink); text-transform: uppercase; }
.hero-use-style .icon { width: 16px; height: 16px; }
.hero-use-style:active { text-decoration: underline; text-underline-offset: 4px; }
.manifesto-strip { padding: 8px 16px 8px 0; gap: 8px; }
.marquee-window { overflow: hidden; flex: 1; min-width: 0; }
.marquee-track { display: flex; width: max-content; animation: editorial-marquee 32s linear infinite; }
.marquee-group { display: flex; align-items: center; gap: 46px; padding-right: 46px; flex-shrink: 0; white-space: nowrap; }
.marquee-group span { font-size: clamp(18px,2vw,30px); line-height: 1.3; }
.marquee-toggle { border: 1px solid #555; background: transparent; color: #fff; min-height: 44px; min-width: 44px; font-size: 17px; flex-shrink: 0; }
.is-paused .marquee-track, .is-away .marquee-track, .is-tab-hidden .marquee-track { animation-play-state: paused; }
@keyframes editorial-marquee { to { transform: translateX(-50%); } }
.closing-section { background: #f9f9f9; color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.closing-section .eyebrow, .closing-action .micro { color: var(--muted); }
.dropzone, .photo-content { background: #fafafa; }
.drop-hint { background: #f2f2f2; color: var(--ink); border: 2px solid var(--ink); }
.preparation { background: #fafafa; border-color: var(--line); }
.preparation.is-ready { background: #f4f7f3; color: var(--ink); border-color: #929f8a; }
.preparation.is-ready .micro, .preparation.is-ready .generation-note,
.preparation.is-ready .is-complete, .preparation.is-ready .tiny-tag { color: var(--ink); }
.preparation.is-ready .generation-note { border-color: var(--line); }
.preparation-top { margin-bottom: 12px; }
.preparation p { font-size: 12px; color: var(--muted); margin: 0 0 18px; }
.preparation.is-ready p { color: var(--muted); }
.progress-rail { height: 3px; background: #e2e2e2; margin-bottom: 24px; overflow: hidden; }
#progress-fill { display: block; height: 100%; width: 100%; background: var(--ink); transform: scaleX(0); transform-origin: left; transition: transform 240ms var(--ease-out); }
.preparation.is-ready #progress-fill { background: #4a6540; }
.next-step { width: 100%; min-height: 48px; margin-bottom: 20px; font-size: 10px; padding: 14px 17px; }
.journey-progress { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: -15px 0 44px; }
.journey-step { padding: 19px 20px; display: grid; grid-template-columns: 30px 1fr; gap: 4px 10px; align-items: center; font-size: 13px; }
.journey-step:not(:first-child) { border-left: 1px solid var(--line); }
.journey-number { grid-row: 1/3; font: 17px/1 'JetBrains Mono',monospace; color: #777; }
.journey-state { font: 8px/1.5 'JetBrains Mono',monospace; color: var(--muted); }
.journey-step.is-complete { background: #f4f7f3; }
.journey-step.is-complete .journey-number { color: #4a6540; }
.journey-future { color: #727272; }
.btn .icon { transition: transform 160ms var(--ease-out); }
@media (hover:hover) and (pointer:fine) {
  .manifesto-strip:hover .marquee-track { animation-play-state: paused; }
  .style-cycle:hover, .hero-style-options button:hover { background: #f0f0f0; color: var(--ink); }
  .hero-style-options button[aria-pressed="true"]:hover { background: var(--ink); color: #fff; }
  .hero-use-style:hover { text-decoration: underline; text-underline-offset: 4px; }
  .btn:hover .icon { transform: translateX(3px); }
  .step .step-icon { transition: transform 250ms var(--ease-out); }
  .step:hover .step-icon { transform: translateY(-4px); }
}
@media (max-width:1199px) {
  .hero { padding-block: 60px; }
  .hero-style-options button, .style-cycle { min-width: 44px; }
}
@media (max-width:991px) {
  .hero-style-options { gap: 0; }
  .hero-style-controls { gap: 2px; flex-wrap: wrap; }
  .hero-style-options { order: -1; flex-basis: 100%; }
  .hero-style-options button { flex: 1; min-width: 44px; }
  .style-cycle { min-width: 44px; }
}
@media (max-width:575px) {
  .hero { padding-block: 44px 34px; }
  .photo-frame, .art-caption, .hero-style-controls, .hero-use-style { max-width: none; }
  .hero-style-controls { gap: 4px; flex-wrap: wrap; }
  .hero-style-options { order: -1; flex-basis: 100%; gap: 0; }
  .hero-style-options button { min-width: 44px; padding-inline: 4px; }
  .style-cycle { min-width: 44px; }
  .hero-use-style { font-size: 9px; }
  .manifesto-strip { padding-right: 8px; }
  .marquee-group { gap: 26px; padding-right: 26px; }
  .marquee-group span { font-size: 18px; }
  .journey-progress { margin: -5px 0 30px; }
  .journey-step { padding: 13px 9px; grid-template-columns: 1fr; font-size: 10px; }
  .journey-number { grid-row: auto; font-size: 12px; margin-bottom: 4px; }
  .journey-state { font-size: 7px; }
}
@media (min-width:576px) and (max-width:767px) {
  .hero-style-options { display: grid; grid-template-columns: repeat(3,minmax(44px,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  .marquee-track { animation: none; }
  .marquee-toggle { display: none; }
  .btn .icon, .step .step-icon { transform: none !important; }
}




/* Anonymous silhouettes replace the portrait catalog across both pages. */
.portrait { background-image: url('hairstyle-silhouettes.png'); background-color: #fafafa; filter: none; }
.hero-portrait { filter: none; }

/* Generation feedback and before/after result. */
.generation-controls { margin-top:24px; padding-top:24px; border-top:1px solid var(--line,#ddd); }
.generation-consent { display:flex; gap:12px; align-items:flex-start; font-size:13px; line-height:1.6; margin-bottom:18px; cursor:pointer; }
.generation-consent input { flex-shrink:0; width:20px; height:20px; margin-top:2px; accent-color:#111; }
.generation-controls p { margin-top:14px; }
.generation-result { margin-top:36px; border-top:1px solid #bbb; padding-top:28px; scroll-margin-top:100px; }
.result-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:22px 0; }
.result-pair figure { min-width:0; margin:0; }
.result-pair img { width:100%; aspect-ratio:3/4; object-fit:contain; background:#f5f5f5; }
.result-pair figcaption { margin-top:8px; }
.is-generating::after { content:''; display:inline-block; width:14px; height:14px; margin-left:10px; border:2px solid #ffffff55; border-top-color:white; border-radius:50%; animation:generation-spin 1s linear infinite; }
@keyframes generation-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .is-generating::after { animation:none; } }

/* Dedicated waiting and barber result page. */
.result-page-section { padding-top:36px; padding-bottom:100px; }
.result-page-section h1 { font-size:clamp(64px,10vw,150px); font-weight:950; letter-spacing:-.07em; line-height:.9; margin:30px 0; }
.result-waiting { min-height:65svh; display:flex; flex-direction:column; justify-content:center; max-width:1000px; }
.result-waiting h1 { font-size:clamp(64px,18vw,240px); }
.result-waiting>p:not(.micro):not(.eyebrow) { font-size:clamp(18px,2vw,26px); }
.waiting-track { height:3px; background:#ddd; overflow:hidden; max-width:560px; margin:12px 0 28px; }
.waiting-track span { display:block; width:35%; height:100%; background:#111; animation:waiting-scan 1.8s ease-in-out infinite alternate; }
@keyframes waiting-scan { from {transform:translateX(-100%)} to {transform:translateX(300%)} }
.result-lead {font-size:clamp(18px,2.5vw,28px); margin:28px 0 36px;}
.result-complete .result-pair {gap:24px; margin:0 0 60px;}
.result-complete .result-pair img {max-height:740px; aspect-ratio:4/5; background:#f6f6f6;}
.result-complete .result-pair figcaption {padding-top:14px;border-top:1px solid #ccc;}
.barber-description {display:grid;grid-template-columns:1fr 1fr;gap:50px; border-top:1px solid #bbb;padding:36px 0;}
.barber-description h2 {font-size:clamp(32px,4vw,60px);}
.barber-description>div>p:last-child {max-width:360px;line-height:1.6;}
#result-settings {margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-content:start;}
#result-settings dt {font-family:'JetBrains Mono',monospace;font-size:11px;color:#777;font-weight:400;}
#result-settings dd {font-size:17px;margin:8px 0 0;}
.result-actions {display:flex;gap:12px;flex-wrap:wrap;padding:24px 0;}
#share-explanation {max-width:850px;line-height:1.8;}
.share-link-row {display:flex;gap:10px;margin-top:12px;}
#share-url {min-width:0;flex:1;font-family:'JetBrains Mono',monospace;font-size:13px;border:1px solid #bbb;padding:15px;background:#fff;color:#111;}
.share-delete {background:none;border:0;border-bottom:1px solid #aaa;padding:8px 0;margin:12px 0;font-size:13px;}
#share-status {margin-top:20px;line-height:1.8;}
.result-empty,.result-failure {padding:50px 0;}
@media(max-width:767px){.barber-description{grid-template-columns:1fr;gap:20px}.result-complete .result-pair{gap:10px;margin-bottom:30px}.result-actions .btn{width:100%}.share-link-row{flex-direction:column}.result-page-section h1{letter-spacing:-.06em}.result-page-section{padding-bottom:50px}}
@media(prefers-reduced-motion:reduce){.waiting-track span{animation:none;transform:translateX(100%)}}

/* Editorial correction: a new look becomes a new you. */
.hero-crossed { position:relative; display:inline-block; color:#969696; text-decoration:none; }
.hero-crossed::after { content:''; position:absolute; left:-.015em; right:-.015em; top:49%; height:.035em; min-height:3px; background:var(--ink); transform:rotate(-6deg); transform-origin:center; pointer-events:none; }

.mode-picker {margin:0 0 32px;border:0;padding:0;}
.mode-options {display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
.mode-options label {position:relative;cursor:pointer;}
.mode-options input {position:absolute;opacity:0;}
.mode-options span {display:flex;justify-content:space-between;gap:12px;border:1px solid #bbb;padding:20px;font-size:18px;font-weight:800;}
.mode-options small {font-family:'JetBrains Mono',monospace;font-weight:400;white-space:nowrap;font-size:12px;}
.mode-options input:checked+span {background:#111;color:white;border-color:#111;}
.mode-options input:focus-visible+span {outline:3px solid #555;outline-offset:3px;}
#beard-choice {margin-top:36px;}
#beard-choice .panel-heading h2 {font-size:24px;}
.beard-portrait {display:block;width:100%;height:100%;object-fit:contain;background:#f7f7f7;}
.price-card .price-features {min-height:140px;}
@media(max-width:575px){.mode-options{gap:6px}.mode-options span{padding:14px 8px;flex-direction:column;font-size:12px}.mode-options small{font-size:10px}.mode-picker{margin-bottom:24px}#beard-choice .panel-heading h2{font-size:20px}}

/* Detailed 3D beard images, framed consistently without clipping the beard. */
.style-visual:has(.beard-portrait) { aspect-ratio:1; }
.beard-portrait { position:absolute; inset:0; object-fit:cover; object-position:center 20%; background:#fff; }

/* Result photographs open in PhotoSwipe. */
.result-photo-button {display:block;position:relative;width:100%;border:0;padding:0;background:#f5f5f5;cursor:zoom-in;}
.result-photo-button:focus-visible {outline:3px solid #111;outline-offset:5px;}
.photo-open-hint {position:absolute;right:12px;bottom:12px;padding:10px 12px;background:#fff;color:#111;box-shadow:0 2px 15px #0001;}
@media(max-width:575px){.photo-open-hint{font-size:8px;padding:7px;right:8px;bottom:8px}.result-complete #result-title{font-size:clamp(40px,11vw,64px)}}
.pswp {--pswp-bg:#111;--pswp-icon-color:#fff;--pswp-icon-color-secondary:#111;}
.pswp__photo-label {position:absolute;bottom:22px;left:24px;right:24px;text-align:center;color:#fff;font:12px 'JetBrains Mono',monospace;pointer-events:none;}
.preview-notice {border:1px solid #ccc;background:#f3f3f3;padding:14px 18px;line-height:1.7;max-width:840px;}

/* Shared link: compact reference sheet for the barber. */
.barber-view {background:#f4f4f0;}
.barber-view .desktop-nav,.barber-view .header-cta,.barber-view .footer-links,.barber-view #result-page .back-link {display:none;}
.barber-view .header-inner::after {content:'КАРТА ДЛЯ МАСТЕРА';margin-left:auto;font:11px 'JetBrains Mono',monospace;letter-spacing:.06em;}
.barber-view .result-page-section {max-width:1280px;padding-top:50px;}
.barber-view .result-complete {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);column-gap:40px;align-items:start;}
.barber-view #result-eyebrow,.barber-view #preview-notice,.barber-view #result-title,.barber-view #result-caption,.barber-view .result-actions,.barber-view #share-explanation,.barber-view #share-controls,.barber-view #share-status,.barber-view #share-expiry {grid-column:1/-1;}
.barber-view #result-eyebrow {border-bottom:1px solid #aaa;padding-bottom:18px;margin-bottom:20px;}
.barber-view #result-title {font-size:clamp(48px,6vw,82px);line-height:.95;margin:0 0 18px;letter-spacing:-.055em;}
.barber-view #result-caption {font-size:20px;margin-bottom:32px;}
.barber-view .result-complete .result-pair {gap:12px;margin-bottom:30px;}
.barber-view .result-complete .result-pair img {aspect-ratio:3/4;max-height:520px;background:#e6e6e1;}
.barber-view .barber-description {display:block;background:#fff;border:1px solid #d3d3cc;padding:26px;}
.barber-view .barber-description h2 {font-size:32px;letter-spacing:-.04em;margin-bottom:20px;}
.barber-view .barber-description>div>p:last-child {font-size:13px;max-width:none;}
.barber-view #result-settings {margin-bottom:0;}
.barber-view .result-actions {border-top:1px solid #bbb;padding-top:24px;}
.barber-view #share-expiry {padding-top:16px;border-top:1px solid #ccc;}
@media(max-width:767px){.barber-view .result-complete{grid-template-columns:1fr;gap:0}.barber-view .barber-description{margin-bottom:24px;padding:22px}.barber-view .result-page-section{padding-top:30px}.barber-view .header-inner::after{font-size:9px;max-width:100px;text-align:right;line-height:1.6}.barber-view #result-title{font-size:52px}.barber-view #result-caption{font-size:17px;}}

/* Keep the tip of the full beard inside the square frame. */
.beard-portrait[src$="beard-full.png"] {object-position:center 45%;}

.telegram-section{background:#111;color:#fff;padding:64px 0;border-block:1px solid #111;}
.telegram-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;}
.telegram-section .eyebrow{color:#aaa;}
.telegram-section h2{font-size:clamp(36px,4.5vw,68px);line-height:1;margin-bottom:24px;}
.telegram-description{color:#bbb;font-size:15px;line-height:1.7;margin:0;}
.telegram-button{width:100%;min-height:72px;padding:22px 26px;}
.telegram-button[aria-disabled="true"]{opacity:.65;cursor:default;}
.telegram-action .micro{color:#999;margin:16px 0 0;}
@media(max-width:767px){.telegram-section{padding:44px 0;}.telegram-layout{grid-template-columns:1fr;gap:28px;}.telegram-section h2{font-size:clamp(32px,8vw,52px);}.telegram-button{min-height:60px;}.telegram-description{font-size:14px;}}

/* Explicit Cyrillic heavy font instead of platform-dependent Arial weights. */
@font-face{font-family:'DD Inter';src:url('fonts/Inter-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap;}
h1,h2,h3,.brand,.marquee-group,.price-amount,.faq-question{font-family:'DD Inter',Arial,sans-serif;font-optical-sizing:auto;}
h1,h2,h3,.brand,.marquee-group{font-weight:900;font-synthesis:none;}
.marquee-star{width:24px!important;height:24px!important;stroke-width:3!important;flex-shrink:0;}
.style-cycle .cycle-prev{transform:rotate(180deg);}
.marquee-toggle .icon{width:20px;height:20px;stroke-width:3;}
