:root {
  color-scheme: light;
  --paper: #f5f4f0;
  --ink: #20211e;
  --muted: #777972;
  --line: #deded7;
  --orange: #e85c36;
  --green: #687a52;
  --mono: "DM Mono", "Courier New", monospace;
  --sans: "DM Sans", Arial, sans-serif;
  --serif: "Playfair Display", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, select { font: inherit; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, select:focus-visible, canvas:focus-visible, label:focus-within { outline: 2px solid var(--orange); outline-offset: 4px; }
[hidden] { display: none !important; }

.site-header { height: 82px; padding: 0 7.1%; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: .035em; font-weight: 700; white-space: nowrap; }
.brand-period { color: var(--orange); }
.brand-mark { width: 23px; height: 23px; display: inline-flex; gap: 2px; align-items: end; transform: skew(-18deg); }
.brand-mark i { width: 6px; border-radius: 2px; background: var(--orange); }
.brand-mark i:nth-child(1) { height: 12px; opacity: .7; }.brand-mark i:nth-child(2) { height: 19px; }.brand-mark i:nth-child(3) { height: 15px; opacity: .85; }
.main-nav { display: flex; gap: 39px; margin-left: 9%; margin-right: auto; }
.main-nav a, .footer-links a, .footer-links button { font-size: 12px; color: #565751; }
.main-nav a:hover, .footer-links a:hover, .footer-links button:hover { color: var(--orange); }
.header-cta { padding: 12px 17px; border: 1px solid #c9c9c1; border-radius: 2px; font-size: 11px; font-weight: 600; }
.header-cta span { padding-left: 12px; color: var(--orange); }

.hero { min-height: 532px; padding: 71px 11.4% 68px 14%; display: grid; grid-template-columns: 1fr 1fr; align-items: center; overflow: hidden; }
.eyebrow { margin: 0 0 22px; color: #75766f; font: 10px var(--mono); letter-spacing: .12em; }
.eyebrow-dot, .live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--orange); vertical-align: 1px; }
.hero h1 { margin: 0; font-size: clamp(58px, 7.2vw, 94px); font-weight: 500; letter-spacing: -.075em; line-height: .96; }
h1 em, h2 em { font-family: var(--serif); font-weight: 500; }
.hero h1 em { color: var(--orange); }
.hero-description { max-width: 355px; margin: 25px 0 25px; color: #676862; font-size: 14px; line-height: 1.85; }
.primary-button { display: inline-flex; min-height: 45px; align-items: center; justify-content: center; gap: 24px; padding: 0 18px; border: 0; border-radius: 2px; background: var(--ink); color: #fff; font-size: 11px; font-weight: 600; cursor: pointer; transition: background .2s, transform .2s; }
.primary-button:hover { background: var(--orange); transform: translateY(-1px); }
.privacy-note { margin-top: 21px; color: #81827c; font-size: 10px; }.privacy-note span { padding-right: 5px; color: var(--green); }
.hero-art { position: relative; width: min(100%, 470px); aspect-ratio: 1.38; justify-self: end; overflow: hidden; background: #292a2c; color: white; }
.hero-photo { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.hero-art::after { position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, #111b); content: ""; pointer-events: none; }
.hero-photo-label { position: absolute; z-index: 1; top: 16px; left: 16px; padding: 9px 11px; background: #f5f4f0; color: var(--ink); font: 9px var(--mono); letter-spacing: .1em; }
.hero-photo-pin { position: absolute; z-index: 1; width: 31px; height: 31px; display: grid; place-items: center; border: 2px solid white; border-radius: 50%; background: var(--orange); box-shadow: 0 2px 10px #0008; font: 11px var(--mono); }
.pin-one { top: 28%; left: 51%; }.pin-two { top: 49%; left: 64%; background: #d3a13a; }.pin-three { top: 72%; left: 57%; background: #687a52; }
.hero-photo-caption { position: absolute; z-index: 1; right: 16px; bottom: 17px; left: 16px; font-size: 11px; letter-spacing: .02em; }
.orbit { position: absolute; border: 1px solid #deded7; border-radius: 50%; transform: rotate(-25deg); }
.orbit-one { width: 395px; height: 240px; top: 54px; left: 6px; }.orbit-two { width: 350px; height: 205px; top: 69px; left: 28px; transform: rotate(45deg); }
.paint-tube { position: absolute; top: 87px; width: 112px; height: 244px; border: 1px solid #d5d1c5; border-radius: 22px 22px 8px 8px; background: linear-gradient(90deg, #f8f6ed, #e8e4d7 55%, #f5f2e7); box-shadow: 8px 16px 21px #37311b15; display: flex; flex-direction: column; align-items: center; }
.tube-one { left: 65px; transform: rotate(-13deg); }.tube-two { top: 69px; left: 166px; height: 265px; transform: rotate(4deg); z-index: 1; }.tube-three { left: 267px; transform: rotate(15deg); }
.tube-cap { width: 40px; height: 27px; margin-top: -17px; border: 1px solid #cbc7ba; border-radius: 4px 4px 7px 7px; background: repeating-linear-gradient(90deg, #e5e1d5, #e5e1d5 3px, #d8d4c8 4px); }
.tube-label { margin-top: 55px; color: #44443d; font-size: 11px; letter-spacing: .06em; font-weight: 700; text-align: center; }.tube-label small { display: block; margin-top: 5px; font: 7px var(--mono); letter-spacing: .08em; }
.tube-color { position: absolute; bottom: 0; width: 100%; height: 70px; border-radius: 0 0 7px 7px; background: #617751; }.tube-one .tube-color { background: #d3a13a; }.tube-three .tube-color { background: #bd5540; }
.hero-sticker { position: absolute; z-index: 2; right: 2px; top: 39px; width: 83px; height: 83px; display: grid; place-content: center; border-radius: 50%; background: #e4a948; color: #28271e; font: 10px var(--mono); line-height: 1.45; text-align: center; transform: rotate(11deg); }
.hero-sticker span { font-size: 8px; }.hero-sticker b { position: absolute; right: -9px; bottom: 4px; font-size: 24px; }
.hero-caption { position: absolute; left: 80px; bottom: 3px; color: #53544e; font: 10px/1.5 var(--mono); letter-spacing: .05em; }.hero-caption span { padding-left: 10px; color: #898a82; font-size: 8px; }

.tool-section { padding: 83px 11.4% 88px; background: #eeede7; }
.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 34px; }
.section-heading .eyebrow { margin-bottom: 13px; }.section-heading h2 { margin: 0; font-size: 39px; font-weight: 500; letter-spacing: -.055em; line-height: 1.1; }.section-heading h2 em { color: var(--orange); }
.section-heading > p { margin: 0 3px 4px 0; color: #75766f; font-size: 12px; line-height: 1.8; }
.workspace { min-height: 460px; display: grid; grid-template-columns: 1.42fr 1fr; border: 1px solid #deded7; background: #f7f6f2; }
.image-panel { min-width: 0; padding: 20px 21px 14px; border-right: 1px solid #deded7; }
.panel-topline { height: 27px; display: flex; justify-content: space-between; color: #66675f; font: 9px var(--mono); letter-spacing: .07em; }
.live-dot { width: 6px; height: 6px; background: #7b8b65; }.live-dot.muted { background: #b7b7ad; }.panel-index { color: #a0a097; }
.image-stage { position: relative; min-height: 355px; display: grid; place-items: center; overflow: hidden; background-color: #efeee8; background-image: linear-gradient(45deg,#e4e3dc 25%,transparent 25%),linear-gradient(-45deg,#e4e3dc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e4e3dc 75%),linear-gradient(-45deg,transparent 75%,#e4e3dc 75%); background-position: 0 0,0 8px,8px -8px,-8px 0; background-size: 16px 16px; }
#image-canvas { display: block; max-width: 100%; max-height: 455px; width: auto; height: auto; object-fit: contain; cursor: crosshair; touch-action: manipulation; }
.image-empty { min-height: 355px; width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.upload-icon { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 16px; border: 1px solid #d5d5cd; border-radius: 50%; color: var(--orange); font-size: 22px; }
.image-empty strong { font-family: var(--serif); font-size: 17px; font-weight: 500; }.image-empty > span { margin-top: 8px; color: #898a82; font: 9px var(--mono); }
.upload-button { margin-top: 20px; padding: 11px 17px; background: var(--orange); color: #fff; font-size: 10px; font-weight: 600; cursor: pointer; }.upload-button:hover { background: #ca4927; }
.sample-button { margin-top: 12px; padding: 3px; border: 0; background: none; color: #74756f; font-size: 10px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.image-marker { position: absolute; z-index: 1; width: 21px; height: 21px; border: 1px solid white; border-radius: 50%; box-shadow: 0 0 0 1px #25251e, 0 1px 5px #0005; pointer-events: none; transform: translate(-50%,-50%); }
.image-marker span { position: absolute; inset: 5px; border-radius: inherit; background: #fff8; }
.image-hint { position: absolute; bottom: 10px; left: 50%; padding: 7px 9px; transform: translateX(-50%); background: #21221dcc; color: white; font: 8px var(--mono); letter-spacing: .08em; white-space: nowrap; pointer-events: none; }
.image-footer { min-height: 35px; display: flex; justify-content: space-between; align-items: end; gap: 10px; color: #898a82; font: 8px var(--mono); letter-spacing: .04em; }
.text-button { padding: 0; border: 0; background: none; color: #777870; font-size: 10px; cursor: pointer; }.text-button:hover { color: var(--orange); }
.results-panel { min-width: 0; padding: 20px 22px 17px; }
.selected-color { display: flex; align-items: center; gap: 15px; padding: 20px 0; }.color-preview { position: relative; width: 67px; height: 67px; flex: 0 0 67px; display: grid; place-items: center; border: 1px solid #deded7; background: #eeede7; }
.color-preview span { color: #a6a69e; font: 20px var(--serif); }.value-label, .select-label { display: block; margin-bottom: 7px; color: #8b8c83; font: 8px var(--mono); letter-spacing: .09em; }
.color-values strong { display: block; font: 19px var(--mono); letter-spacing: .04em; }.color-values > span:last-child { display: block; margin-top: 5px; color: #7f8078; font: 9px var(--mono); }
.result-divider { height: 1px; background: var(--line); }.match-heading { display: flex; align-items: center; justify-content: space-between; margin: 19px 0 13px; }.match-heading h3 { margin: 0; font-family: var(--serif); font-size: 18px; font-weight: 500; }.match-mark { color: var(--orange); font-size: 18px; }
.select-label { margin-bottom: 6px; }.results-panel select { width: 100%; height: 35px; padding: 0 10px; border: 1px solid #deded7; border-radius: 0; background: #f7f6f2; color: #4a4b45; font-size: 10px; }
.matches { min-height: 148px; }.match-row { display: flex; align-items: center; gap: 10px; min-height: 49px; border-bottom: 1px solid #e8e7e1; }.match-swatch { width: 25px; height: 25px; flex: 0 0 25px; border: 1px solid #00000012; }
.match-details { min-width: 0; flex: 1; }.match-details strong { margin-right: 7px; font: 12px var(--mono); }.match-details > span { color: #5c5d56; font-size: 10px; }.match-details small { display: block; overflow: hidden; margin-top: 3px; color: #898a82; font: 8px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.match-rank { color: #83847c; font: 7px var(--mono); letter-spacing: .04em; white-space: nowrap; }.match-row:first-child .match-rank { color: var(--green); }
.match-add { flex: 0 0 auto; padding: 6px 7px; border: 1px solid #d5d4cb; background: transparent; color: #55564f; font-size: 8px; cursor: pointer; }.match-add:hover:not(:disabled) { border-color: var(--orange); color: var(--orange); }.match-add:disabled { opacity: .4; cursor: not-allowed; }
.empty-matches { padding-top: 20px; color: #898a82; font-size: 10px; line-height: 1.7; }.accuracy-note { margin: 10px 0 0; color: #898a82; font-size: 9px; line-height: 1.6; }
.annotation-marker { position: absolute; z-index: 2; width: 27px; height: 27px; display: grid; place-items: center; transform: translate(-50%,-50%); border: 2px solid #fff; border-radius: 50%; outline: 1px solid #24251f; background: var(--point-color); color: #fff; font: bold 11px var(--mono); text-shadow: 0 1px 3px #000; pointer-events: none; }
.report-actions { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }.report-actions > p { margin: 0 0 8px; color: #777870; font-size: 9px; line-height: 1.5; }
.annotation-list { max-height: 210px; overflow-y: auto; }.annotation-item { display: flex; align-items: center; gap: 8px; min-height: 42px; border-bottom: 1px solid #e8e7e1; }.annotation-number { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; border: 1px solid #d5d4cb; border-radius: 50%; font: 9px var(--mono); }.annotation-description { min-width: 0; flex: 1; }.annotation-description strong { display: block; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.annotation-description small { display: block; margin-top: 3px; color: #85867e; font: 8px var(--mono); }.annotation-remove { padding: 5px 6px; border: 0; background: none; color: #85867e; font-size: 8px; cursor: pointer; }.annotation-remove:hover { color: var(--orange); }
.report-button { width: 100%; min-height: 36px; margin-top: 8px; display: flex; align-items: center; justify-content: space-between; padding: 0 11px; border: 0; background: var(--ink); color: white; font-size: 9px; text-align: left; cursor: pointer; }.report-button span { color: #f0a18a; font-size: 14px; }.report-button:hover:not(:disabled) { background: var(--orange); }.report-button:disabled { opacity: .4; cursor: not-allowed; }.secondary-report { border: 1px solid #d5d4cb; background: transparent; color: var(--ink); }.secondary-report span { color: var(--orange); }.secondary-report:hover:not(:disabled) { border-color: var(--ink); background: transparent; color: var(--ink); }
.ad-slot { min-height: 104px; margin: 30px auto; max-width: 970px; display: grid; place-items: center; border: 1px dashed #d2d1c9; color: #a0a097; font: 8px var(--mono); letter-spacing: .12em; }.ad-slot-bottom { margin-top: 0; margin-bottom: 59px; }

.steps-section { padding: 56px 14% 96px; }.steps-heading { margin-bottom: 43px; }.steps-heading h2 { font-size: 43px; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 37px; }.step-card { position: relative; min-height: 182px; padding-top: 21px; border-top: 1px solid #d9d8d0; }.step-number { position: absolute; top: 20px; right: 0; color: #999a92; font: 9px var(--mono); }
.step-icon { width: 31px; height: 31px; display: grid; place-items: center; margin-bottom: 18px; border: 1px solid #d6d5ce; border-radius: 50%; color: var(--orange); font: 18px var(--mono); }.picker-icon { color: var(--green); }
.step-card h3 { margin: 0 0 9px; font-family: var(--serif); font-size: 16px; font-weight: 500; }.step-card p { max-width: 225px; margin: 0; color: #7b7c74; font-size: 10px; line-height: 1.8; }
.blog-section { padding: 75px 11.4% 88px; background: #f7f6f2; }.blog-section .section-heading { align-items: end; }.blog-all-link,.blog-read-link { color: #64655e; font-size: 11px; }.blog-all-link span,.blog-read-link span { padding-left: 8px; color: var(--orange); }
.blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }.blog-card { min-width: 0; background: var(--paper); border: 1px solid #e3e2dc; }.blog-card-image { position: relative; display: block; aspect-ratio: 1.65; overflow: hidden; background: #2b2c2f; }.blog-card-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s; }.blog-card-image:hover img { transform: scale(1.035); }.material-badge { position: absolute; z-index: 1; top: 12px; left: 12px; padding: 7px 8px; background: #f5f4f0; color: var(--ink); font: 8px var(--mono); letter-spacing: .04em; }.blog-card-content { padding: 19px 18px 20px; }.blog-meta { margin: 0 0 10px; color: #85867e; font: 8px var(--mono); letter-spacing: .07em; }.blog-card h2,.blog-card h3 { margin: 0 0 10px; font: 19px/1.3 var(--serif); }.blog-card h2 a:hover,.blog-card h3 a:hover { color: var(--orange); }.blog-card-content > p:not(.blog-meta) { min-height: 54px; margin: 0 0 17px; color: #777870; font-size: 11px; line-height: 1.7; }.blog-read-link { display: inline-block; font-weight: 600; }
.about-section { min-height: 239px; display: flex; align-items: center; gap: 70px; padding: 40px 18%; background: #eae8df; }.about-mark { position: relative; width: 97px; height: 97px; flex: 0 0 97px; display: grid; place-items: center; border: 1px solid #d5d1c5; border-radius: 50%; }.about-mark span { color: var(--orange); font: italic 47px var(--serif); }.about-mark i { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #687a52; }.about-mark i:nth-of-type(1) { top: 7px; right: 19px; background: #e5aa3d; }.about-mark i:nth-of-type(2) { bottom: 11px; left: 8px; background: #bc5942; }.about-mark i:nth-of-type(3) { right: 3px; bottom: 25px; }
.about-section .eyebrow { margin-bottom: 11px; }.about-section h2 { margin: 0; font-size: 27px; font-weight: 500; letter-spacing: -.04em; line-height: 1.22; }.about-section h2 em { color: var(--orange); }.about-copy { max-width: 495px; margin: 12px 0 0; color: #76776f; font-size: 10px; line-height: 1.7; }
.about-mark span { font: 600 30px var(--sans); letter-spacing: -.08em; }
.site-footer { min-height: 106px; padding: 22px 7.1%; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); }.footer-brand { font-size: 11px; }.footer-brand .brand-mark { transform: scale(.8) skew(-18deg); }.footer-copy { color: #92938b; font: 7px var(--mono); letter-spacing: .06em; }.footer-links { display: flex; gap: 18px; align-items: center; }.footer-links a, .footer-links button { padding: 0; border: 0; background: none; color: #74756e; font-size: 9px; cursor: pointer; }
.cookie-banner { position: fixed; z-index: 5; right: 22px; bottom: 22px; width: min(540px, calc(100vw - 32px)); padding: 22px 24px; border: 1px solid #d8d7ce; background: #fbfaf6; box-shadow: 0 8px 40px #22221d20; }.cookie-banner .eyebrow { margin-bottom: 8px; }.cookie-banner h2 { margin: 0 0 9px; font: 19px var(--serif); }.cookie-banner p:not(.eyebrow) { margin: 0; color: #676862; font-size: 11px; line-height: 1.7; }.cookie-banner p a { text-decoration: underline; text-underline-offset: 2px; }.cookie-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 17px; }.cookie-actions .primary-button { min-height: 37px; }.secondary-button { min-height: 37px; padding: 0 14px; border: 1px solid #d5d4cb; background: transparent; font-size: 10px; cursor: pointer; }.secondary-button:hover { border-color: var(--ink); }
.toast { position: fixed; z-index: 6; right: 22px; bottom: 22px; max-width: min(380px, calc(100vw - 44px)); padding: 13px 17px; transform: translateY(15px); opacity: 0; background: #24251f; color: #fff; font-size: 11px; line-height: 1.6; pointer-events: none; transition: opacity .2s, transform .2s; }.toast.visible { transform: translateY(0); opacity: 1; }.cookie-banner:not([hidden]) ~ .toast { bottom: 22px; }
.legal-page { min-height: 75vh; max-width: 780px; margin: 0 auto; padding: 65px 30px 90px; }.back-link { color: var(--orange); font-size: 12px; }.legal-page h1 { margin: 35px 0 7px; font: 48px var(--serif); }.policy-updated { margin: 0 0 42px; color: #85867e; font: 10px var(--mono); }.legal-page h2 { margin: 27px 0 7px; font: 20px var(--serif); }.legal-page p:not(.policy-updated) { color: #666760; font-size: 13px; line-height: 1.9; }
.article-page { min-height: 75vh; padding: 35px 7% 90px; }.article-wrap { max-width: 820px; margin: 0 auto; }.article-breadcrumbs { margin: 0 0 34px; color: #777870; font-size: 11px; }.article-breadcrumbs a { color: var(--orange); }.article-category { margin: 0 0 12px; color: #83847c; font: 9px var(--mono); letter-spacing: .1em; }.article-page h1 { max-width: 760px; margin: 0 0 18px; font: 500 clamp(38px,6vw,64px)/1.08 var(--serif); letter-spacing: -.035em; }.article-lede { max-width: 710px; margin: 0 0 22px; color: #65665f; font-size: 16px; line-height: 1.8; }.article-byline { margin-bottom: 25px; color: #85867e; font: 9px var(--mono); }.article-hero-image { width: 100%; max-height: 430px; display: block; margin: 0 0 35px; object-fit: cover; }.article-content { max-width: 720px; margin: 0 auto; }.article-content h2 { margin: 35px 0 10px; font: 27px/1.25 var(--serif); }.article-content h3 { margin: 27px 0 8px; font: 20px var(--serif); }.article-content p,.article-content li { color: #55564f; font-size: 14px; line-height: 1.9; }.article-content ul,.article-content ol { padding-left: 23px; }.article-content li { margin: 7px 0; }.article-content a:not(.article-cta) { color: #a8472e; text-decoration: underline; text-underline-offset: 3px; }.article-callout { margin: 28px 0; padding: 18px 21px; border-left: 3px solid var(--orange); background: #eeede7; color: #55564f; font-size: 13px; line-height: 1.8; }.article-cta { margin-top: 25px; }.article-related { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); }.article-related h2 { font: 21px var(--serif); }.article-related ul { display: flex; flex-wrap: wrap; gap: 13px 22px; padding: 0; list-style: none; }.article-related li { font-size: 11px; }.blog-index { padding-top: 30px; }.blog-index h1 { margin-bottom: 10px; }.blog-index .blog-grid { margin-top: 35px; }

/* Larger type and stronger controls keep the color tool clear at a glance. */
.main-nav a, .footer-links a, .footer-links button { font-size: 14px; }
.header-cta { border-radius: 4px; font-size: 13px; }
.eyebrow { font-size: 11px; }
.hero-description { font-size: 16px; }
.primary-button { min-height: 50px; border-radius: 4px; font-size: 14px; }
.privacy-note { font-size: 12px; }
.tool-section { padding-top: 88px; padding-bottom: 96px; }
.section-heading h2 { font-size: 44px; }
.section-heading > p { font-size: 14px; }
.workspace { grid-template-columns: minmax(0, 1.35fr) minmax(360px, 1fr); gap: 0; overflow: hidden; border: 1px solid #d5d4cb; border-radius: 9px; background: #fbfaf6; box-shadow: 0 16px 40px #27251b0d; }
.image-panel { padding: 24px; background: #fbfaf6; }
.results-panel { padding: 24px 26px; background: #f9f8f4; }
.panel-topline { height: 32px; font-size: 11px; }
.image-stage { min-height: 400px; border: 1px solid #d9d8d0; border-radius: 7px; }
#image-canvas { max-height: 510px; }
.image-empty { min-height: 400px; padding: 28px; }
.image-empty strong { font-size: 18px; }
.image-empty > span { margin-top: 7px; color: #696a63; font-size: 14px; }
.upload-icon { width: 54px; height: 54px; font-size: 22px; }
.upload-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; margin-top: 23px; padding: 0 22px; border-radius: 5px; background: var(--orange); box-shadow: 0 3px 0 #b94526; font-size: 14px; }
.upload-button:hover { background: #ca4927; }
.sample-button { min-height: 42px; margin-top: 15px; padding: 0 13px; border: 1px solid #c9c8bf; border-radius: 4px; color: #4f5049; font-size: 13px; text-decoration: none; }
.sample-button:hover { border-color: var(--ink); background: #f1f0eb; color: var(--ink); }
.image-hint { bottom: 14px; padding: 9px 13px; border-radius: 4px; font-size: 10px; }
.image-footer { min-height: 46px; align-items: center; color: #696a63; font-size: 10px; }
.text-button { min-height: 38px; padding: 0 10px; border: 1px solid #c9c8bf; border-radius: 4px; background: #fbfaf6; color: #41423c; font-size: 12px; font-weight: 600; }
.text-button:hover { border-color: var(--orange); color: #a84125; }
.selected-color { gap: 18px; padding: 22px 18px; border: 1px solid #e1e0d8; border-radius: 7px; background: #fffefa; }
.color-preview { width: 82px; height: 82px; flex-basis: 82px; border-radius: 5px; box-shadow: inset 0 0 0 1px #0000000c; }
.value-label, .select-label { margin-bottom: 8px; color: #686961; font-size: 10px; }
.color-values strong { font-size: 23px; }
.color-values > span:last-child { color: #65665e; font-size: 12px; }
.match-heading { margin-top: 23px; }
.match-heading h3 { font-size: 21px; }
.results-panel select { height: 46px; padding: 0 13px; border-color: #c9c8bf; border-radius: 4px; font-size: 14px; }
.matches { min-height: 180px; }
.match-row { min-height: 61px; gap: 12px; }
.match-swatch { width: 34px; height: 34px; flex-basis: 34px; border-radius: 4px; }
.match-details strong { font-size: 13px; }
.match-details > span { font-size: 12px; }
.match-details small { color: #696a63; font-size: 10px; }
.match-rank { font-size: 9px; }
.match-add { min-height: 38px; padding: 0 11px; border-color: #c9c8bf; border-radius: 4px; background: #fffefa; color: #41423c; font-size: 11px; font-weight: 700; }
.match-add:hover:not(:disabled) { border-color: var(--orange); background: #fff3ee; color: #a84125; }
.empty-matches { color: #686961; font-size: 13px; }
.accuracy-note { color: #686961; font-size: 11px; line-height: 1.7; }
.report-actions { margin-top: 16px; padding-top: 15px; }
.report-actions > p { color: #585951; font-size: 12px; }
.annotation-item { min-height: 50px; gap: 10px; }
.annotation-number { width: 27px; height: 27px; flex-basis: 27px; font-size: 11px; }
.annotation-description strong { font-size: 12px; }
.annotation-description small { color: #696a63; font-size: 10px; }
.annotation-remove { min-height: 34px; padding: 0 9px; border: 1px solid #deddd5; border-radius: 4px; font-size: 11px; }
.report-button { min-height: 48px; margin-top: 10px; padding: 0 15px; border-radius: 4px; font-size: 13px; font-weight: 700; transition: background .18s, transform .18s, border-color .18s; }
.report-button span { font-size: 18px; }
.report-button:hover:not(:disabled) { transform: translateY(-1px); }
.report-button:disabled { border: 1px solid #bdbcb4; background: #e8e7e0; color: #5d5e57; opacity: 1; }
.report-button:disabled span { color: #777870; }
.secondary-report { border: 1px solid #777870; background: transparent; color: #30312c; }
.secondary-report span { color: #b94b2c; }
.secondary-report:hover:not(:disabled) { border-color: var(--ink); background: #eeede7; }
.steps-section, .blog-section { font-size: 16px; }
.step-card h3 { font-size: 19px; }
.step-card p { color: #62635d; font-size: 13px; }
.blog-card-content > p:not(.blog-meta) { color: #62635d; font-size: 13px; }
.blog-meta { font-size: 10px; }
.blog-all-link, .blog-read-link { font-size: 13px; }

@media (min-width: 1450px) { .hero { padding-left: max(14%, calc((100% - 1040px)/2)); padding-right: max(11.4%, calc((100% - 1100px)/2)); } }
@media (max-width: 900px) {
  .site-header { padding: 0 5%; }.hero { padding: 62px 7%; }.hero-art { width: 100%; margin-left: -25px; }
  .tool-section { padding: 70px 6%; }.workspace { grid-template-columns: 1fr; }.image-panel { padding: 22px; border-right: 0; border-bottom: 1px solid var(--line); }.results-panel { padding: 22px; }.image-stage { min-height: 390px; }.image-empty { min-height: 390px; }.matches { min-height: auto; }.blog-section { padding: 65px 6%; }.blog-grid { gap: 14px; }.blog-card-content { padding: 16px 13px; }.blog-card h3 { font-size: 17px; }
  .steps-section { padding-left: 8%; padding-right: 8%; }.about-section { padding-left: 12%; padding-right: 12%; gap: 40px; }.site-footer { padding-left: 5%; padding-right: 5%; }.footer-copy { display: none; }
}
@media (max-width: 650px) {
  .site-header { height: 68px; gap: 10px; }.brand { gap: 6px; font-size: clamp(8px, 2.7vw, 11px); letter-spacing: .015em; }.brand-mark { width: 18px; transform: scale(.8) skew(-18deg); }.main-nav { display: none; }.header-cta { padding: 10px 9px; font-size: 9px; white-space: nowrap; }
  .hero { min-height: 0; padding: 55px 8% 32px; grid-template-columns: 1fr; }.hero h1 { font-size: 72px; }.hero-description { max-width: 330px; font-size: 16px; }.hero-art { width: 100%; max-width: 470px; margin: 21px auto 0; }
  .section-heading { align-items: start; gap: 15px; flex-direction: column; }.section-heading > p { font-size: 13px; }.section-heading h2 { font-size: 36px; }
  .tool-section { padding: 55px 5% 60px; }.workspace { grid-template-columns: 1fr; }.image-panel { border-right: 0; border-bottom: 1px solid var(--line); padding: 15px 12px 12px; }.image-stage { min-height: 270px; }.image-empty { min-height: 270px; padding: 18px; }.image-empty strong { font-size: 16px; }.image-empty > span { font-size: 13px; }#image-canvas { max-height: 390px; }.results-panel { padding: 18px 15px; }.matches { min-height: auto; }.panel-topline { font-size: 10px; }.selected-color { padding: 16px 13px; }.color-preview { width: 68px; height: 68px; flex-basis: 68px; }.color-values strong { font-size: 21px; }.match-details > span { font-size: 11px; }.match-add { min-height: 36px; padding: 0 8px; }.image-footer { min-height: 48px; flex-wrap: wrap; gap: 8px; font-size: 9px; }.image-footer > span { flex-basis: 100%; padding-top: 8px; }.image-footer .text-button { min-height: 36px; }.upload-button { min-height: 46px; font-size: 14px; }.sample-button { font-size: 12px; }.report-button { min-height: 48px; font-size: 13px; }
  .steps-section { padding: 45px 8% 58px; }.steps-grid { grid-template-columns: 1fr; gap: 17px; }.step-card { min-height: 145px; }.step-card p { max-width: 290px; }
  .blog-section { padding: 55px 6% 62px; }.blog-grid { grid-template-columns: 1fr; gap: 18px; }.blog-card-image { aspect-ratio: 1.75; }.blog-card-content > p:not(.blog-meta) { min-height: 0; }
  .about-section { padding: 38px 8%; gap: 22px; }.about-mark { width: 70px; height: 70px; flex-basis: 70px; }.about-mark span { font-size: 37px; }.about-section h2 { font-size: 22px; }
  .site-footer { min-height: 120px; align-items: start; flex-direction: column; gap: 16px; padding: 20px 7%; }.footer-links { flex-wrap: wrap; gap: 14px; }
  .article-page { padding: 30px 7% 65px; }.article-page h1 { font-size: 42px; }.article-lede { font-size: 14px; }.article-content h2 { font-size: 24px; }.article-content p,.article-content li { font-size: 13px; }
  .ad-slot { margin: 20px 5%; min-height: 70px; }.ad-slot-bottom { margin-bottom: 35px; }
  .cookie-banner { right: 12px; bottom: 12px; width: calc(100vw - 24px); padding: 18px; }.cookie-actions { justify-content: stretch; }.cookie-actions > * { flex: 1; padding-left: 8px; padding-right: 8px; }.legal-page { padding: 45px 8% 70px; }.legal-page h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
