.generated-hero { position: relative; overflow: hidden; padding: 38px 0 105px; background: linear-gradient(145deg, #fff 0 52%, #fff7f3 100%); }.generated-hero-mesh { position: absolute; inset: 0; opacity: .36; background-image: radial-gradient(#dacbc5 1px, transparent 1px); background-size: 26px 26px; mask-image: radial-gradient(circle at 72% 46%, #000, transparent 66%); }.generated-hero-grid { position: relative; z-index: 2; min-height: 640px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 70px; }.generated-hero h1 { margin: 22px 0 24px; font-size: clamp(3rem, 5vw, 3.75rem); font-weight: 590; line-height: .99; }.generated-hero h1 strong { color: var(--orange); font-weight: inherit; }.generated-hero .hero-actions { justify-content: flex-start; margin-top: 34px; }
.entity-visual { position: relative; width: min(590px, 47vw); aspect-ratio: 1; justify-self: end; }.entity-rings { position: absolute; inset: 8%; border: 1px solid rgb(32 32 32 / .14); border-radius: 50%; box-shadow: 0 0 0 58px rgb(238 64 36 / .025), inset 0 0 80px rgb(238 64 36 / .035); }.entity-rings i { position: absolute; border: 1px dashed rgb(32 32 32 / .13); border-radius: 50%; }.entity-rings i:nth-child(1) { inset: 15%; }.entity-rings i:nth-child(2) { inset: 31%; border-color: rgb(238 64 36 / .28); }.entity-rings i:nth-child(3) { width: 8px; height: 8px; left: 50%; top: -4px; border: 0; background: var(--orange); box-shadow: 0 0 0 7px rgb(238 64 36 / .1); animation: entity-orbit 16s linear infinite; transform-origin: 0 270px; }.entity-core { position: absolute; z-index: 3; inset: 35%; display: grid; place-content: center; justify-items: center; border-radius: 50%; color: white; background: radial-gradient(circle at 30% 25%, #3b3b3b, #191919 72%); box-shadow: 0 24px 60px rgb(32 32 32 / .27), 0 0 0 12px rgb(238 64 36 / .055); text-align: center; }.entity-core span { color: var(--orange-light); font-size: 26px; font-weight: 900; letter-spacing: -.06em; }.entity-core strong { max-width: 110px; color: #aaa; font-size: 11px; line-height: 1.25; letter-spacing: .09em; }
.entity-label { position: absolute; z-index: 4; min-width: 135px; max-width: 175px; padding: 12px 14px; border: 1px solid #e2ddd9; border-radius: 12px; background: rgb(255 255 255 / .92); box-shadow: 0 14px 40px rgb(32 32 32 / .1); backdrop-filter: blur(14px); }.entity-label span { display: block; color: var(--orange); font-size: 11px; font-weight: 850; }.entity-label strong { font-size: 13px; line-height: 1.2; }.entity-label-1 { left: 3%; top: 18%; }.entity-label-2 { right: 1%; top: 18%; }.entity-label-3 { right: -2%; top: 50%; }.entity-label-4 { right: 10%; bottom: 4%; }.entity-label-5 { left: 8%; bottom: 4%; }.entity-label-6 { left: -2%; top: 52%; }
.theme-2 .entity-rings, .theme-6 .entity-rings { border-radius: 28% 72% 58% 42% / 52% 36% 64% 48%; animation: morph 10s ease-in-out infinite alternate; }.theme-3 .generated-hero, .theme-7 .generated-hero { background: linear-gradient(145deg, #fff 0 48%, #f4f4f1 100%); }.segment-page .entity-core strong { color: #ddd; }.segment-page .entity-rings { border-width: 2px; border-color: rgb(238 64 36 / .26); }
.generated-context { background: white; }.generated-context-grid { display: grid; grid-template-columns: 1fr .84fr; align-items: end; gap: 90px; }.generated-context-grid .section-heading { margin: 0; }.generated-copy { padding-left: 32px; border-left: 1px solid var(--orange); }.generated-copy p, .generated-copy li { color: #686868; font-size: 17px; }.generated-copy ul { padding-left: 19px; }.text-link { display: block; margin-top: 9px; color: var(--orange); font-size: 14px; font-weight: 600; text-decoration: none; }
.generated-cards { background: #f8f8f6; }.section-tone-1 { background: white; }.section-tone-2 { background: #f3f2ef; }.generated-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: 0 25px 78px rgb(32 32 32 / .07); }.generated-card { position: relative; min-height: 330px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.generated-card:nth-child(3n) { border-right: 0; }.generated-card:nth-last-child(-n+3) { border-bottom: 0; }.generated-card:first-child { color: white; background: var(--ink); }.generated-card:first-child p, .generated-card:first-child li { color: #aaa; }.segment-page .generated-card:first-child { background: var(--brand-gradient); }.generated-card > span { color: #aaa; font-size: 12px; font-weight: 850; }.generated-card h3 { margin: 30px 0 12px; font-size: 24px; font-weight: 630; }.generated-card p, .generated-card li { color: #737373; font-size: 14px; }.generated-card ul { padding-left: 17px; }.generated-symbol { position: relative; width: 62px; height: 62px; margin-top: 25px; border: 1px solid rgb(128 128 128 / .27); border-radius: 15px; }.generated-symbol i { position: absolute; width: 28px; height: 28px; left: 16px; top: 16px; border: 2px solid var(--orange); border-radius: 50%; }.generated-symbol b { position: absolute; width: 18px; height: 5px; right: 4px; bottom: 9px; background: var(--brand-gradient); transform: skewX(-32deg); }
.generated-journey { color: white; background: #202020; }.generated-journey .section-heading { max-width: 770px; }.generated-journey .section-heading p { color: #aaa; }.generated-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: 55px 0 0; padding: 0; border-top: 1px solid #484848; list-style: none; }.generated-steps li { position: relative; min-height: 340px; padding: 30px 25px 25px 0; border-right: 1px solid #484848; }.generated-steps li + li { padding-left: 25px; }.generated-steps li:last-child { border-right: 0; }.generated-steps li > span { color: #ff8b75; font-size: 13px; font-weight: 850; }.generated-steps li::after { content: ""; position: absolute; width: 10px; height: 10px; right: -5px; top: -5px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 7px rgb(238 64 36 / .12); }.generated-steps li:last-child::after { display: none; }.generated-steps h3 { margin: 100px 0 13px; font-size: 22px; }.generated-steps p { color: #aaa; font-size: 14px; }
.generated-final { position: relative; overflow: hidden; padding: 125px 0; color: white; background: #181818; }.generated-final::after { content: "KOI"; position: absolute; right: -20px; bottom: -125px; color: rgb(255 255 255 / .025); font-size: 330px; font-weight: 900; letter-spacing: -.09em; }.generated-grid-lines { position: absolute; inset: 0; opacity: .1; background-image: linear-gradient(rgb(255 255 255 / .2) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / .2) 1px, transparent 1px); background-size: 80px 80px; mask-image: radial-gradient(circle at 45% 50%, #000, transparent 70%); }.generated-final-inner { position: relative; z-index: 2; max-width: 920px; }.generated-final h2 { margin: 18px 0 20px; font-size: clamp(2.65rem, 5vw, 3.75rem); line-height: 1.02; }.generated-final p { max-width: 680px; color: #aaa; font-size: 17px; }.generated-final .hero-actions { justify-content: flex-start; margin-top: 34px; }
.editorial-visual { min-height: 470px; display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 10px; padding: 45px; border: 1px solid #e3ded9; border-radius: 50% 50% 18px 18px; background: radial-gradient(circle at 50% 42%, rgb(238 64 36 / .15), transparent 46%), white; box-shadow: var(--shadow); }.editorial-visual span { padding: 18px; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 850; letter-spacing: .09em; }.editorial-visual span:last-child { grid-column: 1 / -1; color: white; background: var(--ink); border-radius: 8px; }
.contact-hero { position: relative; padding: 38px 0 110px; background: linear-gradient(145deg, #fff, #fff7f3); }.contact-layout { min-height: 720px; display: grid; grid-template-columns: .78fr 1.22fr; gap: 80px; align-items: start; padding-top: 70px; }.contact-copy { position: sticky; top: 105px; }.contact-copy h1 { margin: 22px 0; font-size: clamp(3rem, 5vw, 3.75rem); line-height: 1; }.contact-copy > p { color: #666; font-size: 18px; }.contact-route { margin-top: 48px; border-top: 1px solid var(--line); }.contact-route span { float: left; width: 40px; padding-top: 17px; color: var(--orange); font-size: 12px; font-weight: 850; }.contact-route p { margin: 0; padding: 15px 0 15px 42px; border-bottom: 1px solid var(--line); color: #777; font-size: 14px; }
.contact-form { padding: 38px; border: 1px solid #e4dfda; border-radius: 22px; background: rgb(255 255 255 / .94); box-shadow: 0 28px 90px rgb(32 32 32 / .11); }.contact-form fieldset { margin: 0 0 28px; padding: 0; border: 0; }.contact-form legend, .contact-form > label { display: block; margin-bottom: 12px; font-size: 14px; font-weight: 800; }.intent-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.intent-grid label, .check-grid label { cursor: pointer; }.intent-grid input, .check-grid input { position: absolute; opacity: 0; }.intent-grid span, .check-grid span { min-height: 50px; display: grid; place-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 8px; color: #666; font-size: 13px; text-align: center; }.intent-grid input:checked + span, .check-grid input:checked + span { border-color: var(--orange); color: #9d2b18; background: #fff3ef; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.form-grid label, .message-field { display: grid; gap: 7px; font-size: 13px; font-weight: 750; }.form-wide { grid-column: 1 / -1; }.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 13px 14px; border: 1px solid #d7d2cd; border-radius: 8px; background: white; }.interest-field { margin-top: 28px !important; }.check-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }.message-field { margin-top: 28px; }.legal-pending { margin: 20px 0; padding: 13px; border-left: 3px solid #d6a417; color: #735d13; background: #fff8dd; font-size: 12px; }
@keyframes entity-orbit { to { transform: rotate(360deg); } } @keyframes morph { to { border-radius: 65% 35% 40% 60% / 38% 65% 35% 62%; transform: rotate(8deg); } }
@media (max-width: 1050px) { .generated-hero-grid { grid-template-columns: 1fr; }.entity-visual { width: min(640px,86vw); justify-self:center; }.generated-card-grid { grid-template-columns: 1fr 1fr; }.generated-card:nth-child(3n) { border-right: 1px solid var(--line); }.generated-card:nth-child(2n) { border-right: 0; }.generated-card:nth-last-child(-n+3) { border-bottom: 1px solid var(--line); }.generated-card:nth-last-child(-n+2) { border-bottom: 0; }.generated-steps { grid-template-columns: 1fr 1fr; }.generated-steps li:nth-child(2) { border-right:0; }.contact-layout { grid-template-columns: 1fr; }.contact-copy { position:static; } }
@media (max-width: 760px) { .generated-hero { padding:20px 0 75px; }.generated-hero-grid { min-height:auto; gap:25px; }.generated-hero h1 { font-size:clamp(2.55rem,12vw,3.75rem); }.generated-hero .hero-actions,.generated-final .hero-actions { display:grid; }.entity-visual { width:min(440px,100vw); }.entity-label { min-width:105px; max-width:125px; padding:8px 9px; }.entity-label strong { font-size:11px; }.entity-core { inset:34%; }.generated-context-grid { grid-template-columns:1fr; gap:38px; }.generated-copy { padding-left:20px; }.generated-card-grid { grid-template-columns:1fr; }.generated-card { min-height:290px; border-right:0!important; border-bottom:1px solid var(--line)!important; }.generated-card:last-child { border-bottom:0!important; }.generated-steps { grid-template-columns:1fr; }.generated-steps li,.generated-steps li+li { min-height:250px; padding:28px 0; border-right:0; border-bottom:1px solid #484848; }.generated-steps h3 { margin-top:55px; }.generated-final { padding:95px 0; }.editorial-visual { min-height:370px; padding:24px; }.contact-layout { padding-top:45px; }.contact-form { padding:24px 18px; }.intent-grid,.form-grid { grid-template-columns:1fr; }.form-wide { grid-column:auto; }.check-grid { grid-template-columns:1fr 1fr; } }
@media (prefers-reduced-motion:reduce) { .entity-rings i:nth-child(3),.theme-2 .entity-rings,.theme-6 .entity-rings { animation:none; } }
.legal-placeholder { min-height: 610px; display: grid; align-content: center; max-width: 920px; }.legal-placeholder h1 { margin: 20px 0; font-size: clamp(3rem,6vw,3.75rem); }.legal-placeholder > p { max-width: 680px; color: #666; font-size: 18px; }.legal-status { width: min(520px,100%); display: grid; gap: 4px; margin-top: 38px; padding: 22px; border: 1px solid #d9aa16; border-radius: 10px; color: #6f5913; background: #fff8dc; }.legal-status span { font-size: 11px; font-weight: 900; letter-spacing: .1em; }.error-page { background: radial-gradient(circle at 15% 20%,rgb(238 64 36 / .15),transparent 38%),#f8f8f6; }.error-layout { width: min(1120px,calc(100% - 40px)); min-height: 100vh; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 70px; margin:auto; }.error-code { color: var(--orange); font-size: clamp(9rem,25vw,20rem); font-weight: 900; letter-spacing: -.12em; line-height: .75; }.error-layout h1,.review-layout h1 { margin: 20px 0; font-size: clamp(3rem,6vw,3.75rem); line-height:1; }.error-layout p,.review-layout > p { color:#666;font-size:18px; }.error-layout .hero-actions { justify-content:flex-start;margin-top:32px; }.review-layout { padding: 90px 0; }.review-grid { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; margin-top:50px; border:1px solid var(--line); border-radius:18px; }.review-grid a { min-height:150px; display:grid; grid-template-columns:1fr auto; align-content:space-between; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; }.review-grid a:nth-child(3n) { border-right:0; }.review-grid a span { color:#aaa;font-size:12px;font-weight:850; }.review-grid a strong { grid-column:1/2; align-self:end; font-size:18px; }.review-grid a b { grid-column:2; grid-row:1/3; align-self:end; color:var(--orange); }.review-grid a:hover { background:#fff5f1; }
@media (max-width:760px) { .error-layout { grid-template-columns:1fr; align-content:center; gap:40px; }.error-code { font-size:9rem; }.review-grid { grid-template-columns:1fr; }.review-grid a { border-right:0; }.legal-placeholder { min-height:520px; } }

/* Keep visually hidden radio and checkbox controls inside their labels. */
.contact-form .intent-grid input,
.contact-form .check-grid input { width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.privacy-notice { margin: 20px 0; padding: 14px 16px; border-left: 3px solid var(--orange); color: #656565; background: #f7f6f3; font-size: 13px; line-height: 1.55; }.privacy-notice a { color: #9d2b18; font-size: 14px; font-weight: 600; }
.legal-hero { padding: 38px 0 85px; background: linear-gradient(145deg,#fff,#fff7f3); }.legal-heading { max-width: 900px; padding-top: 85px; }.legal-heading h1 { margin: 22px 0; font-size: clamp(3rem,6vw,3.75rem); line-height: 1; }.legal-heading p { max-width: 700px; color: #656565; font-size: 18px; }.legal-heading small { display: block; margin-top: 28px; color: #8b8b8b; }.legal-content { max-width: 900px; padding-top: 85px; padding-bottom: 110px; }.legal-content section { padding: 0 0 44px; border-bottom: 1px solid var(--line); }.legal-content section + section { padding-top: 44px; }.legal-content h2 { margin: 0 0 18px; font-size: clamp(1.5rem,3vw,2.1rem); }.legal-content h3 { margin: 26px 0 9px; font-size: 18px; }.legal-content p,.legal-content li { color: #606060; font-size: 16px; line-height: 1.75; }.legal-content a { color: #9d2b18; }.legal-content code { padding: 2px 5px; border-radius: 4px; background: #f1efec; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 12px 22px; padding-bottom: 22px; }.footer-legal a,.footer-legal button { padding: 0; border: 0; color: #8f8f8f; background: none; font: inherit; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; }.footer-legal a:hover,.footer-legal button:hover { color: var(--orange-soft); }

@media (max-width:760px) { .legal-heading { padding-top:55px; }.legal-content { padding-top:60px; } }
