:root {
  --seoptim-ink: #211611;
  --seoptim-ink-soft: #57463c;
  --seoptim-paper: #f8f2e9;
  --seoptim-paper-2: #eee3d4;
  --seoptim-paper-3: #e5d5c4;
  --seoptim-red: #ec4d2f;
  --seoptim-red-dark: #b72f1e;
  /* Vermilion remains the accent; deep vermilion carries readable light text. */
  --seoptim-red-deep: #9e2a15;
  --seoptim-red-deeper: #751d10;
  --seoptim-apricot: #f3ad77;
  --seoptim-yellow: #f4d35e;
  --seoptim-line: rgba(33, 22, 17, .2);
  --seoptim-radius: 3px;
  --seoptim-shadow: 0 16px 44px rgba(67, 37, 24, .11);
  --seoptim-max: 1240px;
  --seoptim-ease: cubic-bezier(.2, .75, .25, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--seoptim-ink);
  background: var(--seoptim-paper);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.58;
  text-rendering: optimizeLegibility;
}
body::selection { background: var(--seoptim-red-deep); color: #fff; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--seoptim-red-dark); }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
input::placeholder, textarea::placeholder { color: var(--seoptim-ink-soft); opacity: 1; }
img { max-width: 100%; height: auto; }
.wrap { width: min(calc(100% - 48px), var(--seoptim-max)); margin-inline: auto; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: var(--seoptim-paper); clip: auto !important; clip-path: none; color: var(--seoptim-ink); display: block; font-size: 1rem; height: auto; left: 6px; padding: 13px 18px; top: 6px; width: auto; z-index: 100000; }
.skip-link { position: absolute; left: 16px; top: -80px; z-index: 100; background: var(--seoptim-red-deep); color: #fff; padding: 10px 14px; font-weight: 700; }
.skip-link:focus { top: 8px; }

/* Masthead */
.seoptim-utility { border-bottom: 1px solid var(--seoptim-line); background: var(--seoptim-ink); color: var(--seoptim-paper); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.seoptim-utility .wrap { display: flex; justify-content: space-between; gap: 18px; min-height: 34px; align-items: center; }
.seoptim-utility a { color: var(--seoptim-paper); text-decoration: none; }
.seoptim-utility a:hover { color: var(--seoptim-yellow); }
.seoptim-utility-right { display: flex; align-items: center; gap: 20px; }
.seoptim-header { position: relative; z-index: 30; border-bottom: 1px solid var(--seoptim-line); background: rgba(248, 242, 233, .94); backdrop-filter: blur(12px); }
.seoptim-nav-wrap { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 20px; }
.seoptim-brand { display: inline-flex; align-items: center; gap: 8px; font-size: 22px; font-weight: 800; line-height: 1; letter-spacing: -.06em; text-decoration: none; }
.seoptim-word b { color: var(--seoptim-red); }
.seoptim-mark { width: 20px; height: 24px; display: inline-flex; gap: 2px; transform: skew(-16deg); align-items: end; }
.seoptim-mark i { display: block; width: 5px; background: var(--seoptim-red); }
.seoptim-mark i:nth-child(1) { height: 11px; }
.seoptim-mark i:nth-child(2) { height: 18px; background: var(--seoptim-yellow); }
.seoptim-mark i:nth-child(3) { height: 24px; }
.seoptim-nav { display: flex; align-items: center; gap: 4px; }
.seoptim-nav-link, .seoptim-nav-trigger { border: 0; background: transparent; padding: 11px 12px; font-size: 14px; text-decoration: none; cursor: pointer; }
.seoptim-nav-link:hover, .seoptim-nav-trigger:hover, .seoptim-nav-trigger[aria-expanded="true"] { color: var(--seoptim-red-dark); }
.seoptim-nav-trigger span { display: inline-block; margin-left: 4px; font-size: 14px; transition: transform .2s var(--seoptim-ease); }
.seoptim-nav-trigger[aria-expanded="true"] span { transform: rotate(180deg); }
.seoptim-nav-item { position: relative; }
.seoptim-dropdown { position: absolute; top: calc(100% + 9px); left: 0; width: 288px; padding: 19px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-paper); box-shadow: var(--seoptim-shadow); }
.seoptim-dropdown[hidden] { display: none; }
.seoptim-dropdown a { display: block; padding: 10px 7px; text-decoration: none; border-bottom: 1px solid var(--seoptim-line); }
.seoptim-dropdown a:last-child { border-bottom: 0; }
.seoptim-dropdown a:hover { background: var(--seoptim-apricot); color: var(--seoptim-ink); }
.seoptim-dropdown strong { display: block; font-size: 14px; }
.seoptim-dropdown small { display: block; margin-top: 2px; color: var(--seoptim-ink-soft); font-size: 14px; line-height: 1.35; }
.seoptim-menu-toggle { display: none; border: 1px solid var(--seoptim-ink); background: none; min-height: 42px; padding: 7px 11px; cursor: pointer; font-weight: 700; }
.seoptim-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 47px; padding: 10px 18px; border: 1px solid var(--seoptim-ink); border-radius: var(--seoptim-radius); background: var(--seoptim-red-deep); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; box-shadow: 4px 4px 0 var(--seoptim-ink); transition: transform .2s var(--seoptim-ease), box-shadow .2s var(--seoptim-ease), background .2s ease; }
.seoptim-button:hover { color: #fff; background: var(--seoptim-red-deeper); transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--seoptim-ink); }
.seoptim-button-quiet { background: transparent; color: var(--seoptim-ink); box-shadow: none; }
.seoptim-button-quiet:hover { background: var(--seoptim-ink); color: var(--seoptim-paper); box-shadow: none; }
.seoptim-button-pale { background: var(--seoptim-paper); color: var(--seoptim-ink); }
.seoptim-arrow { flex: 0 0 auto; }
.seoptim-kicker, .seoptim-eyebrow { color: var(--seoptim-red-deep); font-size: 14px; font-weight: 700; letter-spacing: .16em; line-height: 1.25; text-transform: uppercase; }
.seoptim-eyebrow { display: inline-flex; align-items: center; gap: 9px; }
.seoptim-eyebrow::before { content: ''; width: 21px; height: 2px; background: currentColor; }

/* Homepage poster */
.seoptim-hero { padding-top: clamp(64px, 9vw, 128px); padding-bottom: 56px; }
.seoptim-hero-grid { display: grid; grid-template-columns: 1fr 360px; gap: 50px; align-items: end; }
.seoptim-hero h1 { max-width: 920px; margin: 19px 0 24px; font-size: clamp(3.8rem, 10.5vw, 9rem); font-weight: 800; letter-spacing: -.09em; line-height: .86; }
.seoptim-hero h1 em { display: inline-block; padding: 2px 12px 8px; background: var(--seoptim-red-deep); color: #fff; font-style: normal; transform: rotate(-2deg); }
.seoptim-hero-intro { max-width: 450px; margin: 0; color: var(--seoptim-ink-soft); font-size: 19px; line-height: 1.45; }
.seoptim-hero-aside { padding: 18px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-yellow); }
.seoptim-hero-aside p { margin: 10px 0 20px; font-size: 14px; }
.seoptim-hero-aside strong { display: block; font-size: 36px; letter-spacing: -.08em; line-height: 1; }
.seoptim-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 30px; }
.seoptim-text-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; text-decoration-thickness: 1px; }
.seoptim-poster { position: relative; min-height: 470px; margin: 48px auto 0; border: 1px solid var(--seoptim-ink); overflow: hidden; background: var(--seoptim-red-deep); color: #fff; }
.seoptim-poster::before { position: absolute; inset: 0; content: ''; background: repeating-linear-gradient(90deg, transparent 0 89px, rgba(33,22,17,.15) 90px, transparent 91px), repeating-linear-gradient(0deg, transparent 0 89px, rgba(33,22,17,.15) 90px, transparent 91px); pointer-events: none; }
.seoptim-poster-header { position: relative; display: flex; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid rgba(255,255,255,.5); color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.seoptim-poster-word { position: absolute; left: 3%; bottom: -13px; color: var(--seoptim-yellow); font-size: clamp(4.5rem, 15vw, 13rem); font-weight: 800; letter-spacing: -.12em; line-height: .88; white-space: nowrap; transform: rotate(-5deg); }
.seoptim-poster-word span { color: #fff; }
.seoptim-poster-copy { position: absolute; right: 5%; top: 22%; width: min(300px, 33%); padding: 19px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-paper); color: var(--seoptim-ink); transform: rotate(3deg); box-shadow: 9px 9px 0 var(--seoptim-ink); }
.seoptim-poster-copy h2 { margin: 6px 0 9px; font-size: 28px; letter-spacing: -.06em; line-height: .94; }
.seoptim-poster-copy p { margin: 0; font-size: 14px; }
.seoptim-poster-sticker { position: absolute; right: 6%; bottom: 13%; display: grid; width: 90px; height: 90px; place-items: center; border-radius: 50%; background: var(--seoptim-yellow); color: var(--seoptim-ink); font-size: 14px; font-weight: 800; line-height: 1.1; text-align: center; transform: rotate(12deg); }
.seoptim-poster-sticker::after { position: absolute; inset: 7px; border: 1px solid var(--seoptim-ink); border-radius: 50%; content: ''; }
.seoptim-hero-note { display: flex; flex-wrap: wrap; gap: 0; margin-top: 27px; border-top: 1px solid var(--seoptim-line); border-bottom: 1px solid var(--seoptim-line); }
.seoptim-hero-note span { flex: 1 1 25%; padding: 13px 18px; border-right: 1px solid var(--seoptim-line); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.seoptim-hero-note span:last-child { border-right: 0; }

/* Sections and editorial cards */
.seoptim-section { padding-block: clamp(66px, 9vw, 126px); }
.seoptim-section-paper { background: var(--seoptim-paper-2); }
.seoptim-section-dark { background: var(--seoptim-ink); color: var(--seoptim-paper); }
.seoptim-section-red { background: var(--seoptim-red-deep); color: var(--seoptim-paper); }
.seoptim-section-head { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 44px; }
.seoptim-section-head h2, .seoptim-page-hero h1 { max-width: 760px; margin: 15px 0 0; font-size: clamp(2.7rem, 6vw, 6.2rem); font-weight: 800; letter-spacing: -.09em; line-height: .88; }
.seoptim-section-head p { max-width: 350px; margin: 0; color: var(--seoptim-ink-soft); }
.seoptim-section-dark .seoptim-section-head p, .seoptim-section-red .seoptim-section-head p { color: rgba(248,242,233,.78); }
.seoptim-annotated-grid { display: grid; grid-template-columns: 1.2fr .8fr; border-top: 1px solid var(--seoptim-line); border-bottom: 1px solid var(--seoptim-line); }
.seoptim-index-item { display: grid; grid-template-columns: 62px 1fr; gap: 20px; padding: 25px 22px 26px 0; border-bottom: 1px solid var(--seoptim-line); }
.seoptim-index-item:nth-last-child(-n+2) { border-bottom: 0; }
.seoptim-index-item + .seoptim-index-item { border-top: 0; }
.seoptim-index-item > b { color: var(--seoptim-red-dark); font-size: 14px; }
.seoptim-index-item h3 { margin: 0; font-size: clamp(1.45rem, 2vw, 2rem); letter-spacing: -.05em; line-height: 1; }
.seoptim-index-item p { max-width: 520px; margin: 8px 0 0; color: var(--seoptim-ink-soft); font-size: 14px; }
.seoptim-index-art { position: relative; min-height: 350px; margin-left: 20px; border-left: 1px solid var(--seoptim-line); overflow: hidden; background: var(--seoptim-apricot); }
.seoptim-index-art::before { position: absolute; inset: 20px; border: 1px solid var(--seoptim-ink); content: ''; transform: rotate(-7deg); }
.seoptim-index-art::after { position: absolute; left: 17%; top: 21%; content: 'WRITE\A FIND\A PLACE'; white-space: pre; color: var(--seoptim-ink); font-size: clamp(2rem, 5vw, 4.5rem); font-weight: 800; letter-spacing: -.1em; line-height: .85; transform: rotate(7deg); }
.seoptim-index-art span { position: absolute; right: 14%; bottom: 15%; display: grid; width: 68px; height: 68px; place-items: center; border-radius: 50%; background: var(--seoptim-yellow); color: var(--seoptim-ink); font-size: 14px; font-weight: 800; text-align: center; z-index: 1; }
.seoptim-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.seoptim-service { min-height: 430px; display: flex; flex-direction: column; padding: 25px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-paper); }
.seoptim-service:nth-child(2) { background: var(--seoptim-yellow); }
.seoptim-service:nth-child(3) { background: var(--seoptim-apricot); }
.seoptim-service:nth-child(3) .seoptim-kicker { color: var(--seoptim-ink); }
.seoptim-service h3 { margin: 60px 0 12px; max-width: 290px; font-size: 31px; letter-spacing: -.07em; line-height: .95; }
.seoptim-service p { margin: 0 0 26px; color: var(--seoptim-ink-soft); font-size: 14px; }
.seoptim-service .seoptim-text-link { margin-top: auto; }
.seoptim-service-art { position: relative; height: 130px; border-bottom: 1px solid var(--seoptim-ink); }
.seoptim-service-art::before { position: absolute; content: ''; }
.seoptim-art-voice::before { left: 7%; top: 25px; width: 70%; height: 48px; border-top: 4px solid var(--seoptim-red); border-bottom: 4px solid var(--seoptim-red); transform: skewY(-10deg); box-shadow: 52px 11px 0 -1px var(--seoptim-red), 105px 19px 0 -2px var(--seoptim-red); }
.seoptim-art-voice::after { position: absolute; right: 8%; top: 35px; content: '01'; color: var(--seoptim-red-deep); font-size: 46px; font-weight: 800; letter-spacing: -.1em; }
.seoptim-art-map::before { left: 17%; top: 20px; width: 105px; height: 105px; border: 3px solid var(--seoptim-red); border-radius: 50%; box-shadow: 36px 24px 0 -15px var(--seoptim-red); }
.seoptim-art-map::after { position: absolute; left: 27%; top: 48px; width: 170px; height: 2px; background: var(--seoptim-red); content: ''; transform: rotate(-32deg); transform-origin: left; }
.seoptim-art-shelf::before { left: 9%; top: 25px; width: 75%; height: 79px; border-top: 11px solid var(--seoptim-red); border-bottom: 11px solid var(--seoptim-red); box-shadow: inset 0 35px 0 -28px var(--seoptim-red); }
.seoptim-art-shelf::after { position: absolute; right: 7%; top: 24px; content: '↗'; color: var(--seoptim-red); font-size: 64px; font-weight: 800; }
.seoptim-small-rule { display: block; width: 42px; height: 2px; margin-top: 14px; background: currentColor; }
.seoptim-highlight-line { position: relative; display: inline-block; z-index: 0; }
.seoptim-highlight-line::after { position: absolute; right: -4px; bottom: 0; left: -4px; height: .3em; content: ''; background: var(--seoptim-apricot); z-index: -1; transform: rotate(-2deg); }
.seoptim-section-red .seoptim-highlight-line::after { background: var(--seoptim-yellow); }

/* Brief explorer */
.seoptim-explorer { display: grid; grid-template-columns: .75fr 1.25fr; gap: 0; border: 1px solid var(--seoptim-ink); background: var(--seoptim-paper); color: var(--seoptim-ink); }
.seoptim-explorer-menu { border-right: 1px solid var(--seoptim-ink); }
.seoptim-explorer-menu h3 { margin: 0; padding: 23px 24px; border-bottom: 1px solid var(--seoptim-ink); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; }
.seoptim-explorer-tab { display: block; width: 100%; padding: 17px 24px; border: 0; border-bottom: 1px solid var(--seoptim-line); background: none; text-align: left; cursor: pointer; }
.seoptim-explorer-tab:last-child { border-bottom: 0; }
.seoptim-explorer-tab[aria-selected="true"] { background: var(--seoptim-red-deep); color: #fff; }
.seoptim-explorer-tab strong { display: block; font-size: 18px; letter-spacing: -.04em; }
.seoptim-explorer-tab small { display: block; margin-top: 4px; font-size: 14px; opacity: .78; }
.seoptim-explorer-panel { min-height: 380px; padding: 30px; }
.seoptim-explorer-panel[hidden] { display: none; }
.seoptim-explorer-panel h3 { margin: 12px 0 13px; max-width: 480px; font-size: clamp(2rem, 4vw, 3.7rem); letter-spacing: -.08em; line-height: .9; }
.seoptim-explorer-panel p { max-width: 510px; color: var(--seoptim-ink-soft); }
.seoptim-explorer-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 25px 0 27px; padding: 0; list-style: none; }
.seoptim-explorer-list li { display: flex; gap: 9px; font-size: 14px; }
.seoptim-explorer-list li::before { content: '↳'; color: var(--seoptim-red-dark); font-weight: 800; }

/* Pricing */
.seoptim-pricing-filter { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 28px; }
.seoptim-filter-button { border: 1px solid var(--seoptim-ink); border-radius: 30px; padding: 8px 15px; background: transparent; cursor: pointer; font-size: 14px; }
.seoptim-filter-button[aria-pressed="true"], .seoptim-filter-button:hover { background: var(--seoptim-ink); color: var(--seoptim-paper); }
.seoptim-plans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.seoptim-plan { display: flex; flex-direction: column; min-height: 420px; padding: 23px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-paper); }
.seoptim-plan.is-featured { background: var(--seoptim-red-deep); color: #fff; }
.seoptim-plan[hidden] { display: none; }
.seoptim-plan:nth-child(2n) { background: var(--seoptim-apricot); }
.seoptim-plan.is-featured:nth-child(2n) { background: var(--seoptim-red-deep); }
.seoptim-plan-kicker { display: flex; justify-content: space-between; color: var(--seoptim-red-dark); font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.seoptim-plan:nth-child(2n):not(.is-featured) .seoptim-plan-kicker { color: var(--seoptim-ink); }
.seoptim-plan.is-featured .seoptim-plan-kicker { color: var(--seoptim-yellow); }
.seoptim-plan h3 { margin: 45px 0 9px; font-size: clamp(1.6rem, 2.5vw, 2.4rem); letter-spacing: -.07em; line-height: .9; }
.seoptim-plan-description { min-height: 46px; margin: 0; color: var(--seoptim-ink-soft); font-size: 14px; }
.seoptim-plan.is-featured .seoptim-plan-description, .seoptim-plan.is-featured .seoptim-delivery { color: rgba(255,255,255,.8); }
.seoptim-plan-price { display: flex; align-items: baseline; gap: 7px; margin: 22px 0 17px; font-size: 32px; font-weight: 800; letter-spacing: -.08em; }
.seoptim-plan-price small { font-size: 14px; font-weight: 400; letter-spacing: 0; }
.seoptim-plan .seoptim-button { align-self: flex-start; }
.seoptim-plan.is-featured .seoptim-button { border-color: #fff; background: #fff; color: var(--seoptim-ink); box-shadow: 4px 4px 0 var(--seoptim-ink); }
.seoptim-plan-detail { margin-top: 20px; border-top: 1px solid var(--seoptim-line); }
.seoptim-plan-detail summary { padding: 12px 0; cursor: pointer; font-size: 14px; font-weight: 700; }
.seoptim-check-list { margin: 0 0 10px; padding: 0; list-style: none; }
.seoptim-check-list li { display: flex; gap: 8px; margin: 6px 0; font-size: 14px; line-height: 1.32; }
.seoptim-check-list li span { color: var(--seoptim-red-dark); font-weight: 800; }
.seoptim-plan.is-featured .seoptim-check-list li span { color: var(--seoptim-yellow); }
.seoptim-delivery { margin: auto 0 0; color: var(--seoptim-ink-soft); font-size: 14px; }
.seoptim-pricing-note { margin-top: 21px; color: var(--seoptim-ink-soft); font-size: 14px; }

/* Process band */
.seoptim-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(248,242,233,.45); border-bottom: 1px solid rgba(248,242,233,.45); }
.seoptim-process-step { min-height: 250px; padding: 21px 22px 21px 0; border-right: 1px solid rgba(248,242,233,.45); }
.seoptim-process-step + .seoptim-process-step { padding-left: 22px; }
.seoptim-process-step:last-child { border-right: 0; }
.seoptim-process-step > b { color: var(--seoptim-yellow); font-size: 14px; }
.seoptim-process-step h3 { margin: 46px 0 9px; font-size: 22px; letter-spacing: -.05em; line-height: 1; }
.seoptim-process-step p { margin: 0; color: rgba(248,242,233,.72); font-size: 14px; }

/* Page wrappers */
.seoptim-page-hero { padding: clamp(66px, 10vw, 130px) 0 55px; border-bottom: 1px solid var(--seoptim-line); }
.seoptim-page-hero p { max-width: 600px; margin: 26px 0 0; color: var(--seoptim-ink-soft); font-size: 18px; }
.seoptim-page-hero .seoptim-kicker { margin-bottom: 15px; }
.seoptim-page-body { padding-block: 63px 110px; }
body.seoptim-page-start .seoptim-page-hero,
body.seoptim-page-contact .seoptim-page-hero { padding: 36px 0 28px; }
body.seoptim-page-start .seoptim-page-hero h1,
body.seoptim-page-contact .seoptim-page-hero h1 { font-size: clamp(36px, 6vw, 56px); }
body.seoptim-page-start .seoptim-page-hero p,
body.seoptim-page-contact .seoptim-page-hero p { margin-top: 16px; }
body.seoptim-page-start .seoptim-page-body,
body.seoptim-page-contact .seoptim-page-body { padding: 28px 0 70px; }
.seoptim-page-intro { max-width: 760px; margin-bottom: 55px; font-size: 20px; }
.seoptim-editorial-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; }
.seoptim-editorial-columns h2 { margin: 0 0 14px; font-size: 34px; letter-spacing: -.08em; line-height: .95; }
.seoptim-editorial-columns p { color: var(--seoptim-ink-soft); }
.seoptim-numbered-list { margin: 0; padding: 0; list-style: none; counter-reset: seoptim-list; }
.seoptim-numbered-list li { counter-increment: seoptim-list; display: grid; grid-template-columns: 42px 1fr; gap: 13px; padding: 16px 0; border-top: 1px solid var(--seoptim-line); }
.seoptim-numbered-list li::before { content: counter(seoptim-list, decimal-leading-zero); color: var(--seoptim-red-dark); font-size: 14px; font-weight: 700; }
.seoptim-numbered-list strong { display: block; font-size: 17px; }
.seoptim-numbered-list span { display: block; margin-top: 3px; color: var(--seoptim-ink-soft); font-size: 14px; }
.seoptim-note { margin: 50px 0; padding: 21px 25px; border-left: 4px solid var(--seoptim-red); background: var(--seoptim-paper-2); }
.seoptim-note p { margin: 0; font-size: 14px; }
.seoptim-faq-list { border-top: 1px solid var(--seoptim-line); }
.seoptim-faq-list details { border-bottom: 1px solid var(--seoptim-line); }
.seoptim-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 20px 0; cursor: pointer; font-size: 19px; font-weight: 700; letter-spacing: -.04em; }
.seoptim-faq-list summary::after { content: '+'; color: var(--seoptim-red-dark); font-size: 25px; font-weight: 400; }
.seoptim-faq-list details[open] summary::after { content: '−'; }
.seoptim-faq-answer { max-width: 700px; padding: 0 0 24px; color: var(--seoptim-ink-soft); }
.seoptim-brief-card { margin: 28px 0; padding: 28px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-paper-2); }
.seoptim-brief-card h3 { margin: 0 0 10px; font-size: 28px; letter-spacing: -.06em; }
.seoptim-brief-card code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; }
.seoptim-prose { max-width: 820px; }
.seoptim-commerce-view, .seoptim-commerce-page .seoptim-prose { max-width: 1100px; }
.seoptim-prose h1 { margin-bottom: 27px; font-size: clamp(2.7rem, 7vw, 5.7rem); letter-spacing: -.09em; line-height: .9; }
.seoptim-prose h2 { margin-top: 44px; font-size: 30px; letter-spacing: -.06em; line-height: .98; }
.seoptim-prose h3 { margin-top: 30px; font-size: 21px; }
.seoptim-prose p, .seoptim-prose li { color: var(--seoptim-ink-soft); }
.seoptim-prose ul { padding-left: 22px; }
.seoptim-prose a { color: var(--seoptim-red-dark); }
.seoptim-prose a.seoptim-button:not(.seoptim-button-quiet):not(.seoptim-button-pale),
.seoptim-prose a.seoptim-button:not(.seoptim-button-quiet):not(.seoptim-button-pale):hover {
  color: #fff;
}
.seoptim-form-shell { max-width: 900px; margin: 0 auto; }

/* Plugin form contract and classic commerce */
.seo-start, .seo-contact, .seo-legal, .seo-refund { max-width: 950px; }
.seo-form { display: grid; gap: 18px; margin-top: 29px; }
.seo-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.seo-field { display: grid; gap: 7px; }
.seo-field-full, .seo-field--wide { grid-column: 1 / -1; }
.seo-field label, .seo-field legend { font-size: 14px; font-weight: 700; }
.seo-field input, .seo-field select, .seo-field textarea, .seo-form input[type="text"], .seo-form input[type="email"], .seo-form input[type="url"], .seo-form textarea, .seo-form select { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--seoptim-ink); border-radius: 0; background: #fffaf3; color: var(--seoptim-ink); }
.seo-field textarea, .seo-form textarea { min-height: 130px; resize: vertical; }
.seo-field input:focus, .seo-field select:focus, .seo-field textarea:focus, .seo-form input:focus, .seo-form select:focus, .seo-form textarea:focus { outline: 3px solid var(--seoptim-yellow); outline-offset: 2px; }
.seo-button, .seo-form button[type="submit"], .seo-form input[type="submit"] { display: inline-flex; width: fit-content; min-height: 48px; align-items: center; padding: 11px 19px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-red-deep); color: #fff; cursor: pointer; font-weight: 700; }
.seo-button:hover, .seo-form button[type="submit"]:hover, .seo-form input[type="submit"]:hover { background: var(--seoptim-red-deeper); }
.seo-notice, .seo-error { padding: 14px 16px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-yellow); font-size: 14px; }
.seo-error { border-color: #9a2419; background: #ffd9d0; color: #5a1a13; }
.seo-summary, .seo-check { padding: 16px 18px; border: 1px solid var(--seoptim-line); background: var(--seoptim-paper-2); }
.seo-summary { display: grid; gap: 8px; margin: 0; }
.seo-summary [data-summary-name] { display: block; font-size: 20px; font-weight: 800; letter-spacing: -.05em; line-height: 1.08; }
.seo-summary [data-summary-price] { display: block; color: var(--seoptim-red-dark); font-size: 28px; font-weight: 800; letter-spacing: -.06em; line-height: 1; }
.seo-summary [data-summary-delivery] { display: block; color: var(--seoptim-ink-soft); font-size: 14px; line-height: 1.35; }
.seo-summary [data-summary-scope] { display: grid; gap: 5px; margin: 5px 0 0; padding: 0 0 0 20px; color: var(--seoptim-ink-soft); font-size: 14px; line-height: 1.35; }
.seo-refund { padding: 20px; border: 1px solid var(--seoptim-line); background: var(--seoptim-paper-2); }
.seo-muted { margin: 0; color: var(--seoptim-ink-soft); font-size: 14px; }
.seo-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.woocommerce .woocommerce-breadcrumb { color: var(--seoptim-ink-soft); font-size: 14px; }
.woocommerce .products ul, .woocommerce ul.products { margin: 25px 0; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding: 18px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-paper-2); }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / .75; object-fit: cover; background: var(--seoptim-apricot); }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--seoptim-red-dark); font-weight: 800; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { min-height: 44px; border: 1px solid var(--seoptim-ink); border-radius: 0; background: var(--seoptim-red-deep); color: #fff; font-weight: 700; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background: var(--seoptim-red-deeper); color: #fff; }
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce #respond input#submit.disabled,
.woocommerce a.button:disabled:hover,
.woocommerce button.button:disabled:hover,
.woocommerce input.button:disabled:hover,
.woocommerce #respond input#submit:disabled:hover {
  border-color: var(--seoptim-line);
  background: var(--seoptim-paper-3);
  color: var(--seoptim-ink-soft);
  cursor: not-allowed;
  opacity: 1;
  box-shadow: none;
}
.woocommerce table.shop_table { border: 1px solid var(--seoptim-ink); border-radius: 0; background: var(--seoptim-paper-2); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--seoptim-line); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 46px; border: 1px solid var(--seoptim-ink); border-radius: 0; background: #fffaf3; }
.woocommerce form .form-row label { font-size: 14px; font-weight: 700; }
.woocommerce .col2-set, .woocommerce-page .col2-set { gap: 25px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--seoptim-red); background: var(--seoptim-paper-2); color: var(--seoptim-ink); }
.woocommerce-checkout #payment { border: 1px solid var(--seoptim-ink); border-radius: 0; background: var(--seoptim-paper-2); }
.woocommerce-checkout #payment div.payment_box { background: var(--seoptim-paper-3); color: var(--seoptim-ink); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--seoptim-paper-3); }
.seoptim-cart-glyph { display: inline-grid; width: 54px; height: 42px; place-items: center; background: var(--seoptim-apricot); color: var(--seoptim-red-dark); font-size: 23px; }

/* Scoped colour contracts keep editorial sections readable when components
 * are moved between the ivory, dark and deep-vermilion bands. */
.seoptim-service,
.seoptim-plan:not(.is-featured),
.seoptim-explorer,
.seoptim-explorer-tab,
.seoptim-filter-button,
.seo-start,
.seo-contact,
.seo-legal,
.seo-refund,
.seo-summary,
.seo-check,
.seo-notice,
.seo-error,
.woocommerce,
.woocommerce-page {
  color: var(--seoptim-ink);
}
.seoptim-section-red .seoptim-kicker,
.seoptim-section-red .seoptim-eyebrow,
.seoptim-section-dark .seoptim-kicker,
.seoptim-section-dark .seoptim-eyebrow {
  color: var(--seoptim-yellow);
}
.seoptim-section-red .seoptim-section-head p,
.seoptim-section-red .seoptim-editorial-columns p,
.seoptim-section-red .seoptim-numbered-list span,
.seoptim-section-dark .seoptim-section-head p {
  color: var(--seoptim-paper);
}
.seoptim-section-red .seoptim-numbered-list li::before,
.seoptim-section-dark .seoptim-numbered-list li::before {
  color: var(--seoptim-yellow);
}
.seoptim-section-red .seoptim-highlight-line,
.seoptim-section-dark .seoptim-highlight-line {
  padding-inline: .08em;
  background: var(--seoptim-yellow);
  color: var(--seoptim-ink);
}
.seoptim-section-red .seoptim-highlight-line::after,
.seoptim-section-dark .seoptim-highlight-line::after {
  display: none;
}
.seoptim-section-red a:hover,
.seoptim-section-dark a:hover {
  color: var(--seoptim-yellow);
}
.seoptim-section-red .seoptim-button:hover,
.seoptim-section-dark .seoptim-button:hover {
  color: #fff;
}
.seoptim-section-red .seoptim-button-pale:hover {
  background: var(--seoptim-paper-2);
  color: var(--seoptim-ink);
}
.seoptim-section-red .seoptim-button-quiet,
.seoptim-section-dark .seoptim-button-quiet {
  border-color: var(--seoptim-paper);
  color: var(--seoptim-paper);
}
.seoptim-section-red .seoptim-plan .seoptim-button-quiet {
  border-color: var(--seoptim-ink);
  color: var(--seoptim-ink);
}
.seoptim-section-red .seoptim-plan .seoptim-button-quiet:hover {
  background: var(--seoptim-ink);
  color: var(--seoptim-paper);
}
.seoptim-section-red .seoptim-button-quiet:hover,
.seoptim-section-dark .seoptim-button-quiet:hover {
  background: var(--seoptim-paper);
  color: var(--seoptim-ink);
}
.seoptim-section-red .seoptim-plan:not(.is-featured) {
  background: var(--seoptim-paper);
  color: var(--seoptim-ink);
}
.seoptim-section-red .seoptim-plan.is-featured {
  background: var(--seoptim-red-deep);
  color: var(--seoptim-paper);
}
.seoptim-section-red .seoptim-plan.is-featured .seoptim-plan-description,
.seoptim-section-red .seoptim-plan.is-featured .seoptim-delivery {
  color: var(--seoptim-paper);
}
.seoptim-section-red .seoptim-plan:not(.is-featured) .seoptim-check-list li span {
  color: var(--seoptim-red-dark);
}
.seoptim-section-red .seoptim-note,
.seoptim-section-red .seoptim-brief-card {
  background: var(--seoptim-paper);
  color: var(--seoptim-ink);
}
.seo-summary,
.seo-check,
.seo-refund,
.seo-notice,
.seo-error,
.woocommerce table.shop_table,
.woocommerce-checkout #payment,
.woocommerce-checkout #payment div.payment_box {
  color: var(--seoptim-ink);
}
.seo-summary a,
.seo-check a,
.seo-refund a,
.seo-legal a,
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  color: var(--seoptim-red-dark);
}
.woocommerce form .form-row select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-dropdown {
  color: var(--seoptim-ink);
  background: #fffaf3;
  border-color: var(--seoptim-ink);
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
  background: var(--seoptim-red-deep);
  color: #fff;
}
.seoptim-explorer-tab:focus-visible,
.seoptim-filter-button:focus-visible,
.seo-button:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce select:focus-visible,
.woocommerce input:focus-visible,
.woocommerce textarea:focus-visible {
  outline: 3px solid var(--seoptim-yellow);
  outline-offset: 3px;
}

/* Footer */
.seoptim-footer { padding: 72px 0 25px; background: var(--seoptim-ink); color: var(--seoptim-paper); }
.seoptim-footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 34px; padding-bottom: 65px; }
.seoptim-footer .seoptim-brand { color: var(--seoptim-paper); }
.seoptim-footer-brand p { margin: 26px 0 12px; color: var(--seoptim-yellow); font-size: 32px; font-weight: 800; letter-spacing: -.08em; line-height: .9; }
.seoptim-footer-note { color: rgba(248,242,233,.6); font-size: 14px; }
.seoptim-footer h3 { margin: 0 0 16px; color: var(--seoptim-yellow); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; }
.seoptim-footer a { display: block; margin: 10px 0; color: rgba(248,242,233,.85); font-size: 14px; text-decoration: none; }
.seoptim-footer a:hover { color: #fff; }
.seoptim-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; padding-top: 18px; border-top: 1px solid rgba(248,242,233,.3); color: rgba(248,242,233,.62); font-size: 14px; }
.seoptim-footer-bottom > div { display: flex; flex-wrap: wrap; gap: 18px; }
.seoptim-footer-bottom a { display: inline; margin: 0; font-size: 14px; }
.seoptim-footer-operator { margin: 20px 0 0; color: rgba(248,242,233,.52); font-size: 14px; }

/* Motion and responsive */
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--seoptim-ease), transform .7s var(--seoptim-ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
@media (max-width: 980px) {
  .seoptim-nav { gap: 0; }
  .seoptim-nav-link, .seoptim-nav-trigger { padding-inline: 8px; }
  .seoptim-hero-grid { grid-template-columns: 1fr; }
  .seoptim-hero-aside { max-width: 360px; }
  .seoptim-service-grid, .seoptim-plans-grid { grid-template-columns: repeat(2, 1fr); }
  .seoptim-annotated-grid { grid-template-columns: 1fr; }
  .seoptim-index-art { min-height: 240px; margin: 0; border-top: 1px solid var(--seoptim-line); border-left: 0; }
  .seoptim-process-grid { grid-template-columns: repeat(2, 1fr); }
  .seoptim-process-step:nth-child(2) { border-right: 0; }
  .seoptim-process-step:nth-child(n+3) { border-top: 1px solid rgba(248,242,233,.45); }
  .seoptim-process-step:nth-child(3) { padding-left: 0; }
  .seoptim-footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .wrap { width: min(calc(100% - 30px), var(--seoptim-max)); }
  .seoptim-utility .wrap { min-height: 31px; }
  .seoptim-utility .wrap > span { display: none; }
  .seoptim-utility .wrap { justify-content: flex-end; }
  .seoptim-nav-wrap { min-height: 67px; }
  .seoptim-menu-toggle { display: inline-flex; align-items: center; gap: 7px; }
  .seoptim-nav { position: absolute; top: calc(100% + 1px); right: 15px; left: 15px; display: none; padding: 10px; border: 1px solid var(--seoptim-ink); background: var(--seoptim-paper); box-shadow: var(--seoptim-shadow); }
  .seoptim-nav.is-open { display: block; }
  .seoptim-nav-item, .seoptim-nav-link, .seoptim-nav-trigger, .seoptim-nav .seoptim-button { display: block; width: 100%; text-align: left; }
  .seoptim-nav .seoptim-button { margin-top: 7px; text-align: center; }
  .seoptim-dropdown { position: static; width: auto; margin: 0 0 7px; border-width: 1px 0; box-shadow: none; }
  .seoptim-hero { padding-top: 58px; }
  .seoptim-hero h1 { font-size: clamp(3.5rem, 17vw, 6rem); }
  .seoptim-hero-intro { font-size: 17px; }
  .seoptim-poster { min-height: 390px; }
  .seoptim-poster-copy { top: 25%; right: 6%; width: 56%; padding: 14px; }
  .seoptim-poster-copy h2 { font-size: 21px; }
  .seoptim-poster-word { left: -3%; bottom: 31px; font-size: 21vw; }
  .seoptim-poster-sticker { width: 72px; height: 72px; right: 8%; bottom: 8%; font-size: 14px; }
  .seoptim-hero-note span { flex: 1 1 50%; border-bottom: 1px solid var(--seoptim-line); }
  .seoptim-hero-note span:nth-child(2) { border-right: 0; }
  .seoptim-hero-note span:nth-last-child(-n+2) { border-bottom: 0; }
  .seoptim-section-head { display: block; }
  .seoptim-section-head > p { margin-top: 22px; }
  .seoptim-section-head h2, .seoptim-page-hero h1 { font-size: clamp(2.8rem, 13vw, 5rem); }
  .seoptim-service-grid, .seoptim-plans-grid, .seoptim-editorial-columns { grid-template-columns: 1fr; }
  .seoptim-service { min-height: 360px; }
  .seoptim-index-item { grid-template-columns: 40px 1fr; }
  .seoptim-explorer { grid-template-columns: 1fr; }
  .seoptim-explorer-menu { border-right: 0; border-bottom: 1px solid var(--seoptim-ink); }
  .seoptim-explorer-tab { padding: 13px 17px; }
  .seoptim-explorer-panel { min-height: 0; padding: 24px 20px 28px; }
  .seoptim-explorer-list { grid-template-columns: 1fr; }
  .seoptim-process-grid { grid-template-columns: 1fr; }
  .seoptim-process-step, .seoptim-process-step + .seoptim-process-step, .seoptim-process-step:nth-child(3) { min-height: 0; padding: 20px 0; border-right: 0; border-top: 1px solid rgba(248,242,233,.45); }
  .seoptim-process-step:first-child { border-top: 0; }
  .seoptim-process-step h3 { margin-top: 20px; }
  .seo-fields { grid-template-columns: 1fr; }
  .seo-field-full { grid-column: auto; }
  .seoptim-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  .seoptim-footer-brand { grid-column: 1 / -1; }
  .seoptim-footer-bottom { display: block; }
  .seoptim-footer-bottom > div { margin-top: 12px; gap: 12px; }
}
@media (max-width: 420px) {
  .seoptim-footer-grid { grid-template-columns: 1fr; }
  .seoptim-footer-brand { grid-column: auto; }
  .seoptim-footer-bottom > div { display: grid; gap: 7px; }
}
