/*
Theme Name: SEN Owner's Journal
Theme URI: https://example.com/
Author: SEN
Description: 匿名の一条工務店オーナーが、山陰での家づくりと暮らしを記録するためのブロックテーマ。
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Version: 1.2.8
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sen
*/

:root { --sen-line: rgba(32,34,31,.18); --sen-line-dark: rgba(247,245,240,.17); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; text-rendering: optimizeLegibility; }
a { transition: opacity .2s ease, color .2s ease; }
a:hover { opacity: .65; }
img { display: block; max-width: 100%; }

.sen-kicker,
.sen-eyebrow,
.sen-nav,
.sen-spec,
.sen-forecast-label,
.sen-card-no,
.sen-post-meta,
.sen-footer-meta {
	font-family: var(--wp--preset--font-family--sen-sans);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .16em;
	line-height: 1.5;
	text-transform: uppercase;
}

.sen-header { border-bottom: 1px solid var(--sen-line-dark); position: relative; z-index: 10; }
.sen-header-inner { min-height: 86px; }
.sen-brand a { color: inherit; font-family: var(--wp--preset--font-family--sen-serif); font-size: 2rem; letter-spacing: .04em; }
.sen-brand-sub { margin: 0; opacity: .58; }
.sen-header .wp-block-navigation { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.sen-header .wp-block-navigation a { color: inherit; }

.sen-hero { min-height: calc(100svh - 86px); }
.sen-hero-copy { min-height: calc(100svh - 86px); padding: clamp(3rem,7vw,8rem) clamp(1.5rem,7vw,7rem); }
.sen-hero-title { font-size: clamp(2.7rem,6vw,6.8rem); letter-spacing: .015em; margin: 0; max-width: 8em; }
.sen-hero-lead { color: rgba(247,245,240,.72); max-width: 33rem; }
.sen-spec { border-top: 1px solid var(--sen-line-dark); gap: .75rem; margin-top: auto; padding-top: 1.5rem; }
.sen-spec strong { color: var(--wp--preset--color--off-white); font-size: .84rem; }
.sen-hero-media { min-height: 540px; overflow: hidden; position: relative; }
.sen-hero-media figure,
.sen-hero-media img { height: 100%; width: 100%; }
.sen-hero-media img { object-fit: cover; }
.sen-forecast-label { background: rgba(17,18,17,.88); bottom: 1.5rem; color: #fff; left: 1.5rem; padding: .65rem .8rem; position: absolute; }
.sen-hero-actions { gap: .75rem; margin-top: 1rem; }
.sen-button-primary .wp-block-button__link,
.sen-form-submit { background: var(--wp--preset--color--rust, #a34b32); border: 1px solid var(--wp--preset--color--rust, #a34b32); border-radius: 0; color: #fff; font-family: var(--wp--preset--font-family--sen-sans); font-size: .76rem; font-weight: 700; letter-spacing: .1em; padding: 1rem 1.25rem; text-transform: uppercase; }
.sen-button-outline .wp-block-button__link { border-color: rgba(247,245,240,.45); border-radius: 0; color: #fff; font-size: .76rem; letter-spacing: .1em; padding: 1rem 1.25rem; text-transform: uppercase; }

.sen-forecast-note { border-bottom: 1px solid var(--sen-line); border-top: 1px solid var(--sen-line); padding-bottom: 1rem; padding-top: 1rem; }
.sen-forecast-note p { margin: 0; }
.sen-section { padding-bottom: clamp(4rem,9vw,9rem); padding-top: clamp(4rem,9vw,9rem); }
.sen-section-head { border-top: 1px solid var(--sen-line); padding-top: 1rem; }
.sen-section-title { font-size: clamp(2.1rem,4vw,4.4rem); margin: 0; }

.sen-guide-grid { border-left: 1px solid var(--sen-line); }
.sen-guide-card { border-bottom: 1px solid var(--sen-line); border-right: 1px solid var(--sen-line); border-top: 1px solid var(--sen-line); min-height: 280px; padding: clamp(1.4rem,3vw,2.4rem); }
.sen-guide-card h3 { font-size: clamp(1.35rem,2vw,2rem); margin-top: auto; }
.sen-card-no { color: var(--wp--preset--color--rust); }

.sen-house-data { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--off-white); }
.sen-house-data .sen-section-head { border-color: var(--sen-line-dark); }
.sen-data-list { border-top: 1px solid var(--sen-line-dark); }
.sen-data-row { border-bottom: 1px solid var(--sen-line-dark); padding: .9rem 0; }
.sen-data-row p { margin: 0; }
.sen-plan-image { background: #d9d7d1; padding: clamp(.8rem,2vw,1.5rem); }

.sen-post-grid .wp-block-post { border-top: 1px solid var(--sen-line); padding-top: 1rem; }
.sen-post-grid .wp-block-post-featured-image { aspect-ratio: 1.54; overflow: hidden; }
.sen-post-grid .wp-block-post-featured-image img { height: 100%; object-fit: cover; transition: transform .45s ease; }
.sen-post-grid .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.02); }
.sen-post-grid .wp-block-post-title { font-size: clamp(1.35rem,2vw,1.9rem); }
.sen-post-grid .wp-block-post-date,
.sen-post-grid .wp-block-post-terms { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }

.sen-follow { border-bottom: 1px solid var(--sen-line-dark); border-top: 1px solid var(--sen-line-dark); }
.sen-follow h2 { font-size: clamp(2.2rem,5vw,5rem); }
.sen-footer { border-top: 1px solid var(--sen-line-dark); }
.sen-footer p { margin: 0; }

.sen-single-hero { border-bottom: 1px solid var(--sen-line); padding-bottom: clamp(3rem,7vw,7rem); padding-top: clamp(3rem,7vw,7rem); }
.sen-single-title { font-size: clamp(2.3rem,5vw,5.7rem); margin-bottom: 1.5rem; max-width: 12em; }
.sen-single-image { margin-top: clamp(2rem,5vw,5rem); }
.sen-single-image img { aspect-ratio: 1.75; object-fit: cover; width: 100%; }
.sen-post-content { padding-bottom: clamp(5rem,9vw,9rem); padding-top: clamp(3rem,6vw,6rem); }
.sen-post-content h2 { border-top: 1px solid var(--sen-line); font-size: clamp(1.8rem,3vw,2.7rem); margin-top: 3.5rem; padding-top: 1.25rem; }
.sen-post-content h3 { font-size: clamp(1.3rem,2vw,1.75rem); margin-top: 2.5rem; }
.sen-disclosure { background: #dedbd3; border-left: 3px solid var(--wp--preset--color--rust); padding: 1rem 1.2rem; }
.sen-points { background: var(--wp--preset--color--off-white); border: 1px solid var(--sen-line); padding: clamp(1.25rem,3vw,2rem); }
.sen-points > :first-child { margin-top: 0; }
.sen-note { border: 1px solid var(--sen-line); font-size: .88rem; padding: 1rem; }
.sen-page-title { font-size: clamp(2.5rem,5vw,5.4rem); }
.sen-button-outline-dark .wp-block-button__link { background: transparent; border: 1px solid rgba(32,34,31,.38); border-radius: 0; color: #20221f; font-size: .76rem; letter-spacing: .1em; padding: 1rem 1.25rem; text-transform: uppercase; }

/* Evergreen profile and about pages. */
.sen-trust-page { margin-block-start: 0; }
.sen-trust-page > .wp-block-post-content { margin-block-start: 0; }
.sen-profile-hero,
.sen-about-hero { background: #111211; color: #f7f5f0; margin-bottom: clamp(4rem,8vw,8rem); max-width: none !important; padding: clamp(2rem,5vw,5rem); }
.sen-profile-hero .sen-eyebrow,
.sen-about-hero .sen-eyebrow { color: rgba(247,245,240,.62); }
.sen-profile-hero > .wp-block-columns { max-width: 1180px !important; }
.sen-profile-catch { font-size: clamp(2.1rem,3.2vw,3.6rem); line-height: 1.35; margin: .6rem 0 1.5rem; }
.sen-about-catch { font-size: clamp(2.1rem,4.8vw,5.2rem); line-height: 1.35; margin: .6rem 0 1.5rem; }
.sen-profile-lead { color: rgba(247,245,240,.78); font-size: clamp(1.08rem,1.7vw,1.35rem); max-width: 42rem; }
.sen-profile-wolf { margin: 0 auto; max-width: 300px; }
.sen-profile-wolf img { filter: saturate(.72) contrast(1.03); }
.sen-profile-intro { font-size: 1.06rem; margin-bottom: clamp(4rem,8vw,8rem); }
.sen-profile-quote { border-left-width: 4px; font-family: var(--wp--preset--font-family--sen-serif); font-size: clamp(1.45rem,2.5vw,2.25rem); margin: 2.5rem 0; padding-bottom: .4rem; padding-top: .4rem; }
.sen-profile-facts,
.sen-about-topics { margin-bottom: clamp(4rem,8vw,8rem); }
.sen-fact-grid,
.sen-topic-grid { align-items: stretch !important; border-left: 1px solid var(--sen-line); margin-top: 1.5rem; }
.sen-fact,
.sen-topic { border-bottom: 1px solid var(--sen-line); border-right: 1px solid var(--sen-line); border-top: 1px solid var(--sen-line); height: 100%; min-height: 245px; padding: clamp(1.25rem,2.6vw,2.2rem); }
.sen-fact h3,
.sen-topic h3 { font-size: clamp(1.25rem,1.8vw,1.7rem); margin: 2rem 0 .7rem; }
.sen-profile-story,
.sen-about-purpose { margin-bottom: clamp(4rem,8vw,8rem); }
.sen-profile-story > h2,
.sen-about-purpose > h2,
.sen-about-topics > h2,
.sen-editorial-policy > h2 { font-size: clamp(2rem,3.7vw,3.8rem); }
.sen-promise { background: #d8d4cc; margin-top: 2.5rem; padding: clamp(1.4rem,3vw,2.5rem); }
.sen-promise ol { padding-left: 1.25rem; }
.sen-promise li + li { border-top: 1px solid var(--sen-line); margin-top: .85rem; padding-top: .85rem; }
.sen-profile-next,
.sen-about-links { background: #d8d4cc; margin-bottom: 2rem; padding: clamp(1.5rem,4vw,3.5rem); }
.sen-editorial-policy { background: #111211; color: #f7f5f0; margin-bottom: clamp(4rem,8vw,8rem); max-width: none !important; padding: clamp(2rem,5vw,5rem); }
.sen-editorial-policy .sen-eyebrow { color: rgba(247,245,240,.62); }
.sen-editorial-policy .wp-block-column + .wp-block-column { border-left: 1px solid var(--sen-line-dark); padding-left: clamp(1.5rem,3vw,3rem); }
.sen-editorial-policy h3 { border-top: 1px solid var(--sen-line-dark); font-size: clamp(1.25rem,2vw,1.8rem); padding-top: 1rem; }
.sen-privacy-note { border-bottom: 1px solid var(--sen-line); border-top: 1px solid var(--sen-line); margin-bottom: clamp(4rem,8vw,8rem); padding-bottom: clamp(2rem,4vw,4rem); padding-top: clamp(2rem,4vw,4rem); }
.sen-referral-section { background: #d8d4cc; padding: clamp(4rem,8vw,8rem) clamp(1.35rem,5vw,5rem); }
.sen-referral-layout { gap: clamp(2rem,6vw,7rem); }
.sen-referral-copy { display: flex; flex-direction: column; justify-content: space-between; }
.sen-referral-card { background: #111211; color: #f7f5f0; min-height: 100%; padding: clamp(1.75rem,4vw,3.5rem); }
.sen-referral-card h3 { font-size: clamp(1.8rem,3.2vw,3.5rem); }
.sen-referral-points { border-top: 1px solid var(--sen-line); list-style: none; margin-top: 2rem; padding: 0; }
.sen-referral-points li { border-bottom: 1px solid var(--sen-line); padding: .85rem 0; }
.sen-referral-form-wrap { background: #f7f5f0; border-top: 4px solid #111211; padding: clamp(1.4rem,4vw,3rem); scroll-margin-top: 1.5rem; }
.sen-referral-form label { display: block; font-family: var(--wp--preset--font-family--sen-sans); font-size: .82rem; font-weight: 600; letter-spacing: .04em; margin-bottom: 1.25rem; }
.sen-referral-form label > span:not(.sen-form-consent span) { color: #a34b32; font-size: .68rem; margin-left: .4rem; }
.sen-form-grid { display: grid; gap: 0 1.25rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.sen-referral-form input[type="text"], .sen-referral-form input[type="email"], .sen-referral-form select, .sen-referral-form textarea { appearance: none; background: transparent; border: 0; border-bottom: 1px solid #77766f; border-radius: 0; color: #111211; display: block; font: inherit; font-weight: 400; margin-top: .5rem; padding: .75rem .1rem; width: 100%; }
.sen-referral-form textarea { border: 1px solid #aaa79f; padding: .75rem; resize: vertical; }
.sen-referral-form input:focus, .sen-referral-form select:focus, .sen-referral-form textarea:focus { border-color: #a34b32; outline: 2px solid transparent; }
.sen-form-consent { align-items: flex-start; display: flex !important; gap: .65rem; }
.sen-form-consent input { margin-top: .2rem; }
.sen-form-submit { cursor: pointer; display: flex; justify-content: space-between; width: 100%; }
.sen-form-submit:hover { opacity: .82; }
.sen-form-caution, .sen-form-disclosure { color: #66645e; font-family: var(--wp--preset--font-family--sen-sans); font-size: .72rem; line-height: 1.7; }
.sen-form-notice { border: 1px solid currentColor; margin-bottom: 1.5rem; padding: 1rem; }
.sen-form-notice.is-success { color: #356144; }
.sen-form-notice.is-error { color: #9b3c2b; }
.sen-honeypot { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.sen-page-intro { padding: clamp(4rem,8vw,8rem) clamp(1.35rem,5vw,5rem); }
.sen-page-intro .sen-referral-form-wrap { margin-top: 3rem; max-width: 900px; }
.sen-referral-hero { background: #111211; color: #f7f5f0; margin-block-start: 0; max-width: none !important; padding: clamp(4.5rem,10vw,9rem) clamp(1.35rem,5vw,5rem); }
.sen-referral-hero > .wp-block-group { margin-left: auto; margin-right: auto; max-width: 1180px; }
.sen-referral-hero .sen-eyebrow { color: rgba(247,245,240,.58); }
.sen-referral-hero .sen-page-title { font-size: clamp(3rem,6.2vw,6.5rem); line-height: 1.08; margin: .65rem 0 1.5rem; max-width: 13em; }
.sen-referral-hero .sen-page-lead { color: rgba(247,245,240,.75); font-size: clamp(1.05rem,1.65vw,1.32rem); max-width: 42rem; }
.sen-referral-photo-lead { margin-top: clamp(1.25rem,3vw,2.5rem); padding-bottom: clamp(3.5rem,7vw,7rem); }
.sen-referral-photo-lead figure,
.sen-referral-photo-story figure { margin: 0; }
.sen-referral-main-photo img { aspect-ratio: 16 / 8.5; object-fit: cover; width: 100%; }
.sen-referral-photo-lead figcaption,
.sen-referral-photo-story figcaption { color: #66645e; font-family: var(--wp--preset--font-family--sen-sans); font-size: .68rem; letter-spacing: .03em; margin-top: .65rem; }
.sen-referral-photo-story { border-bottom: 1px solid var(--sen-line); border-top: 1px solid var(--sen-line); padding-bottom: clamp(3rem,6vw,6rem); padding-top: clamp(3rem,6vw,6rem); }
.sen-referral-photo-story img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.sen-referral-photo-copy { padding-left: clamp(1rem,3vw,3rem); }
.sen-referral-photo-copy h2 { font-size: clamp(1.8rem,3.3vw,3.5rem); line-height: 1.25; margin: .7rem 0 1.3rem; }
@media (max-width: 900px) {
	.sen-referral-photo-story .wp-block-columns { flex-direction: column; }
	.sen-referral-photo-story .wp-block-column { flex-basis: 100% !important; width: 100%; }
	.sen-referral-photo-copy { padding-left: 0; padding-top: 1.25rem; }
}
.sen-benefit-panel,
.sen-referral-how,
.sen-official-sources { padding-bottom: clamp(4rem,8vw,8rem); padding-top: clamp(4rem,8vw,8rem); }
.sen-benefit-panel > h2,
.sen-referral-how > h2,
.sen-official-sources > h2,
.sen-separate-campaign h2,
.sen-referral-form-section h2 { font-size: clamp(2rem,4vw,4.2rem); line-height: 1.18; }
.sen-benefit-summary { font-family: var(--wp--preset--font-family--sen-serif); font-size: clamp(1.25rem,2.2vw,2rem); line-height: 1.7; max-width: 850px; }
.sen-benefit-grid { align-items: stretch !important; border-left: 1px solid var(--sen-line); margin-top: 2.5rem; }
.sen-benefit-card { border-bottom: 1px solid var(--sen-line); border-right: 1px solid var(--sen-line); border-top: 1px solid var(--sen-line); height: 100%; min-height: 300px; padding: clamp(1.35rem,2.8vw,2.4rem); }
.sen-benefit-card h3 { font-size: clamp(1.35rem,2vw,2rem); margin: 3rem 0 1rem; }
.sen-benefit-card.is-main { background: #111211; color: #f7f5f0; }
.sen-benefit-card.is-main .sen-card-no { color: #d37b60; }
.sen-official-check { border: 1px solid var(--sen-line); border-left: 4px solid #a34b32; font-size: .9rem; margin-top: 2rem; padding: clamp(1.1rem,2.5vw,1.6rem); }
.sen-option-benefits { padding-bottom: clamp(4rem,8vw,8rem); }
.sen-option-benefits > h2,
.sen-eligibility > h2,
.sen-referral-faq > h2 { font-size: clamp(2rem,4vw,4.2rem); line-height: 1.2; }
.sen-option-grid { align-items: stretch !important; border-left: 1px solid var(--sen-line); margin: 2rem 0 0; }
.sen-option-grid.is-second { margin-top: 0; }
.sen-option-card { border-bottom: 1px solid var(--sen-line); border-right: 1px solid var(--sen-line); border-top: 1px solid var(--sen-line); height: 100%; min-height: 255px; padding: clamp(1.25rem,2.6vw,2rem); }
.sen-option-grid.is-second .sen-option-card { border-top: 0; }
.sen-option-card > span { color: #a34b32; font-family: var(--wp--preset--font-family--sen-sans); font-size: .68rem; font-weight: 700; letter-spacing: .14em; }
.sen-option-card h3 { font-size: clamp(1.35rem,2vw,2rem); margin: 2.5rem 0 .8rem; }
.sen-option-card.is-note { background: #d8d4cc; }

.sen-discount-compare { border-top: 1px solid var(--sen-line); padding-bottom: clamp(4rem,8vw,8rem); padding-top: clamp(4rem,8vw,8rem); }
.sen-discount-compare > h2 { font-size: clamp(2rem,4vw,4.1rem); line-height: 1.2; margin: .7rem 0 1.5rem; }
.sen-discount-lead { font-family: var(--wp--preset--font-family--sen-serif); font-size: clamp(1.1rem,1.8vw,1.45rem); line-height: 1.75; max-width: 850px; }
.sen-discount-grid { align-items: stretch !important; border-left: 1px solid var(--sen-line); margin: 2.5rem 0 0; }
.sen-discount-card { border-bottom: 1px solid var(--sen-line); border-right: 1px solid var(--sen-line); border-top: 1px solid var(--sen-line); height: 100%; min-height: 420px; padding: clamp(1.35rem,2.6vw,2.2rem); }
.sen-discount-card.is-corporate { background: #111211; color: #f7f5f0; }
.sen-discount-card h3 { font-size: clamp(1.55rem,2.2vw,2.3rem); margin: 2.4rem 0 1.25rem; }
.sen-discount-rate { border-bottom: 1px solid currentColor; border-top: 1px solid currentColor; font-family: var(--wp--preset--font-family--sen-sans); font-size: .72rem; letter-spacing: .08em; line-height: 1.55; margin: 0 0 1.25rem; padding: 1rem 0; text-transform: uppercase; }
.sen-discount-rate strong { color: #a34b32; display: block; font-family: var(--wp--preset--font-family--sen-serif); font-size: clamp(1.65rem,2.4vw,2.5rem); font-weight: 400; letter-spacing: 0; margin-top: .25rem; text-transform: none; }
.sen-discount-card.is-corporate .sen-discount-rate strong { color: #d37b60; }
.sen-discount-example { color: #6a6862; font-size: .78rem; font-weight: 600; margin-top: 1.25rem; }
.sen-discount-card.is-corporate .sen-discount-example { color: rgba(247,245,240,.65); }
.sen-experience-panel { background: #d8d4cc; border-left: 5px solid #a34b32; margin-top: 2.5rem; padding: clamp(1.5rem,3.5vw,3rem); }
.sen-experience-panel h3 { font-size: clamp(1.45rem,2.6vw,2.5rem); margin: .5rem 0 1rem; }
.sen-experience-panel p:last-child { max-width: 900px; }
.sen-discount-check { display: grid; gap: 2rem; grid-template-columns: minmax(190px,.45fr) 1.55fr; margin-top: 2.5rem; }
.sen-discount-check h3 { font-size: clamp(1.35rem,2vw,2rem); margin: 0; }
.sen-discount-check ol { counter-reset: discount-step; list-style: none; margin: 0; padding: 0; }
.sen-discount-check li { border-top: 1px solid var(--sen-line); counter-increment: discount-step; min-height: 68px; padding: 1rem .25rem 1rem 3.4rem; position: relative; }
.sen-discount-check li:last-child { border-bottom: 1px solid var(--sen-line); }
.sen-discount-check li::before { color: #a34b32; content: "0" counter(discount-step); font-family: var(--wp--preset--font-family--sen-sans); font-size: .7rem; font-weight: 700; left: .25rem; letter-spacing: .12em; position: absolute; top: 1.18rem; }
.sen-separate-campaign { background: #d8d4cc; max-width: 1180px; padding: clamp(2rem,5vw,5rem); }
.sen-campaign-detail { border-top: 1px solid var(--sen-line); font-family: var(--wp--preset--font-family--sen-sans); font-size: .86rem; font-weight: 600; letter-spacing: .04em; line-height: 2; margin-top: 1.5rem; padding-top: 1rem; }
.sen-campaign-value { align-items: center; border: 1px solid rgba(32,34,31,.28); display: flex; flex-direction: column; justify-content: center; min-height: 270px; padding: 1.5rem; text-align: center; }
.sen-campaign-value span,
.sen-campaign-value small { font-family: var(--wp--preset--font-family--sen-sans); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sen-campaign-value strong { color: #a34b32; font-family: var(--wp--preset--font-family--sen-serif); font-size: clamp(4.2rem,8vw,7.4rem); font-weight: 400; letter-spacing: -.05em; line-height: 1; }
.sen-campaign-note,
.sen-source-date { color: #66645e; font-family: var(--wp--preset--font-family--sen-sans); font-size: .74rem; line-height: 1.8; }
.sen-campaign-note { border-top: 1px solid var(--sen-line); margin-top: 2rem; padding-top: 1rem; }
.sen-eligibility { padding-bottom: clamp(4rem,8vw,8rem); padding-top: clamp(4rem,8vw,8rem); }
.sen-status-table { border-top: 1px solid #20221f; margin-top: 2.5rem; }
.sen-status-row { align-items: center; border-bottom: 1px solid var(--sen-line); display: grid; gap: 1rem; grid-template-columns: 1.1fr 1fr 1.4fr; min-height: 82px; padding: .9rem .2rem; }
.sen-status-row.is-head { font-family: var(--wp--preset--font-family--sen-sans); font-size: .66rem; font-weight: 700; letter-spacing: .12em; min-height: 50px; text-transform: uppercase; }
.sen-status-row .is-good { color: #356144; font-weight: 700; }
.sen-status-row .is-check { color: #a34b32; font-weight: 700; }
.sen-status-row .is-muted { color: #6d6b65; }
.sen-referral-steps { counter-reset: sen-step; list-style: none; margin: 2.5rem 0; padding: 0; }
.sen-referral-steps li { border-top: 1px solid var(--sen-line); min-height: 110px; padding: 1.35rem 1rem 1.35rem clamp(3.5rem,8vw,8rem); position: relative; }
.sen-referral-steps li:last-child { border-bottom: 1px solid var(--sen-line); }
.sen-referral-steps li::before { color: #a34b32; content: "0" counter(list-item); font-family: var(--wp--preset--font-family--sen-sans); font-size: .72rem; font-weight: 700; left: .2rem; letter-spacing: .13em; position: absolute; top: 1.45rem; }
.sen-official-sources { border-top: 1px solid var(--sen-line); }
.sen-official-sources ul { list-style: none; padding: 0; }
.sen-official-sources li { border-top: 1px solid var(--sen-line); padding: 1.1rem 0; }
.sen-official-sources li:last-child { border-bottom: 1px solid var(--sen-line); }
.sen-official-sources a { font-weight: 700; }
.sen-referral-faq { padding-bottom: clamp(4rem,8vw,8rem); }
.sen-referral-faq details { border-top: 1px solid var(--sen-line); }
.sen-referral-faq details:last-child { border-bottom: 1px solid var(--sen-line); }
.sen-referral-faq summary { cursor: pointer; font-family: var(--wp--preset--font-family--sen-serif); font-size: clamp(1.05rem,1.7vw,1.4rem); font-weight: 600; list-style: none; padding: 1.35rem 3rem 1.35rem 0; position: relative; }
.sen-referral-faq summary::-webkit-details-marker { display: none; }
.sen-referral-faq summary::after { color: #a34b32; content: "+"; font-family: var(--wp--preset--font-family--sen-sans); font-size: 1.4rem; font-weight: 400; position: absolute; right: .2rem; top: 1.2rem; }
.sen-referral-faq details[open] summary::after { content: "−"; }
.sen-referral-faq details p { max-width: 780px; padding-bottom: 1.25rem; }
.sen-referral-form-section { background: #111211; color: #f7f5f0; max-width: none !important; padding: clamp(4rem,8vw,8rem) clamp(1.35rem,5vw,5rem); }
.sen-referral-form-section .sen-eyebrow { color: rgba(247,245,240,.58); }
.sen-referral-form-section > .wp-block-group { margin-left: auto; margin-right: auto; }
.sen-referral-form-section .sen-referral-form-wrap { color: #111211; margin-top: 2.5rem; }
.sen-article-referral { background: #d8d4cc; margin: 4rem 0 2rem; padding: clamp(1.5rem,4vw,2.75rem); }
.sen-article-referral h2 { border: 0; margin-top: .5rem; padding-top: 0; }
.sen-mobile-referral { display: none; }

@media (max-width: 900px) {
	.sen-hero > .wp-block-columns { flex-wrap: wrap !important; }
	.sen-hero > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
	.sen-hero-copy { min-height: 600px; }
	.sen-hero-media { min-height: 62vw; }
}
@media (max-width: 600px) {
	body { padding-bottom: 66px; }
	.sen-header-inner { min-height: 72px; }
	.sen-brand-sub { display: none; }
	.sen-guide-grid { border-left: 0; }
	.sen-guide-card { border-left: 1px solid var(--sen-line); }
	.sen-single-image img { aspect-ratio: 1.25; }
	.sen-form-grid { grid-template-columns: 1fr; }
	.sen-referral-section { padding-left: 1rem; padding-right: 1rem; }
	.sen-referral-form-wrap { padding: 1.25rem; }
	.sen-profile-hero, .sen-about-hero { margin-left: -1rem !important; margin-right: -1rem !important; padding: 2.5rem 1.25rem; }
	.sen-profile-wolf { max-width: 190px; }
	.sen-profile-catch, .sen-about-catch { font-size: clamp(2rem,10vw,3.2rem); }
	.sen-referral-hero { margin-left: -1rem !important; margin-right: -1rem !important; padding: 4rem 1.25rem; }
	.sen-referral-photo-lead { margin-top: 1rem; padding-bottom: 3.5rem; }
	.sen-referral-main-photo img { aspect-ratio: 4 / 3; }
	.sen-referral-photo-story { padding-bottom: 3rem; padding-top: 3rem; }
	.sen-referral-photo-copy { padding-left: 0; padding-top: 1.25rem; }
	.sen-benefit-grid { border-left: 0; }
	.sen-benefit-card { border-left: 1px solid var(--sen-line); min-height: 0; }
	.sen-option-grid { border-left: 0; }
	.sen-option-card { border-left: 1px solid var(--sen-line); min-height: 0; }
	.sen-option-grid.is-second .sen-option-card:first-child { border-top: 1px solid var(--sen-line); }
	.sen-discount-grid { border-left: 0; }
	.sen-discount-card { border-left: 1px solid var(--sen-line); min-height: 0; }
	.sen-discount-check { grid-template-columns: 1fr; }
	.sen-separate-campaign { padding: 2rem 1.25rem; }
	.sen-campaign-value { min-height: 210px; }
	.sen-status-row { grid-template-columns: 1fr; gap: .15rem; padding: 1rem .1rem; }
	.sen-status-row.is-head { display: none; }
	.sen-referral-form-section { margin-left: -1rem !important; margin-right: -1rem !important; padding: 3.5rem 1rem; }
	.sen-fact-grid, .sen-topic-grid { border-left: 0; }
	.sen-fact, .sen-topic { border-left: 1px solid var(--sen-line); min-height: 0; }
	.sen-editorial-policy { margin-left: -1rem !important; margin-right: -1rem !important; padding: 2.5rem 1.25rem; }
	.sen-editorial-policy .wp-block-column + .wp-block-column { border-left: 0; padding-left: 0; }
	.sen-mobile-referral { align-items: center; background: #a34b32; bottom: 0; color: #fff; display: flex; font-family: var(--wp--preset--font-family--sen-sans); font-size: .82rem; font-weight: 700; height: 66px; justify-content: space-between; left: 0; letter-spacing: .06em; padding: .7rem 1.1rem; position: fixed; right: 0; text-decoration: none; z-index: 1000; }
	.sen-mobile-referral span { display: block; font-size: .62rem; font-weight: 500; opacity: .72; }
}
