.tmn-planner {
    --tmn-planner-accent: #6c547f;
    --tmn-planner-border: #dedbe4;
    --tmn-planner-soft: #f2eff6;
    min-width: 0;
    margin-top: clamp(36px, 3vw, 48px);
    scroll-margin-top: 84px;
    font-family: "Tmn Hero Montserrat", var(--tmn-font);
}
.tmn-references + .tmn-planner { margin-top: clamp(32px, 3vw, 48px); }
.tmn-planner-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px 24px;
    margin-bottom: clamp(24px, 2vw, 32px);
}
.tmn-planner-heading h2 { font-size: clamp(1.5rem, 2.4vw, 2.25rem); letter-spacing: -.048em; line-height: 1.12; }
.tmn-planner-heading h2:has(.tmn-planner-icon-email) {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: clamp(28px, 2.1vw, 32px);
    font-weight: 750;
    letter-spacing: -.035em;
    line-height: 1.15;
}
.tmn-planner-heading .tmn-planner-icon-email { width: 26px; height: 26px; }
.tmn-planner-icon {
    flex: none;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
    color: var(--tmn-planner-accent);
}
.tmn-planner-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, max-content));
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.tmn-planner-steps li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-inline-end: 19px;
    color: #48434e;
    font-size: clamp(.69rem, 1.18vw, .8rem);
    font-weight: 450;
    line-height: 1.25;
}
.tmn-planner-steps li:last-child { padding-inline-end: 0; }
.tmn-planner-steps svg { width: 17px; height: 17px; }
.tmn-planner-step-label { position: relative; }
.tmn-planner-step-copy { display: none; }
.tmn-planner-steps[data-tmn-steps-animated] .tmn-planner-step-label > :first-child { opacity: 0; }
.tmn-planner-steps[data-tmn-steps-animated] .tmn-planner-step-copy { display: block; position: absolute; inset: 0; }
.tmn-planner-step-arrow {
    position: absolute;
    right: 4px;
    top: 50%;
    width: 13px;
    height: 8px;
    transform: translateY(-50%);
    transform-origin: left;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 8'%3E%3Cpath d='M1 4h17m-4-3 4 3-4 3' fill='none' stroke='%23948c9d' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.tmn-planner-form {
    display: grid;
    align-items: start;
    gap: 10px;
}
@media (width > 900px) {
    #tmn-meeting > .tmn-planner-form {
        grid-template:
            "feedback feedback" auto
            "intro details" max-content
            "links details" minmax(min-content, 1fr)
            / minmax(0, 1fr) minmax(0, 1fr);
        gap: 0 clamp(28px, 3vw, 40px);
    }
    #tmn-meeting .tmn-planner-feedback { grid-area: feedback; margin-bottom: 10px; }
    #tmn-meeting .tmn-planner-intro { grid-area: intro; }
    #tmn-meeting .tmn-planner-details {
        grid-area: details;
        align-self: stretch;
        display: grid;
        grid-template-rows: repeat(4, auto);
        align-content: space-between;
    }
    #tmn-meeting .tmn-planner-services { row-gap: 8px; }
    #tmn-meeting .tmn-planner-field input { min-height: 44px; }
    #tmn-meeting .tmn-planner-actions { margin-top: 16px; }
    #tmn-meeting .tmn-planner-service-links { grid-area: links; align-self: stretch; }
}
.tmn-planner-intro {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: clamp(18px, 2.5vw, 36px);
    border-radius: clamp(24px, 2vw, 32px);
    background: radial-gradient(ellipse at top right, #3a3048, transparent 76%), #25222b;
    color: #fbf8fc;
}
.tmn-planner-intro .tmn-kicker { color: #ddc7e8; font-size: .65rem; font-weight: 600; }
.tmn-planner-intro h3 { max-width: 19ch; font-size: clamp(1.25rem, 2.05vw, 1.9rem); letter-spacing: -.04em; line-height: 1.14; }
.tmn-planner-intro-lead { max-width: 44ch; color: #e0d9e7; font-size: .84rem; line-height: 1.5; }
.tmn-planner-benefits { display: grid; gap: 12px; margin: 2px 0 0; padding: 0; list-style: none; }
.tmn-planner-benefits li { display: flex; align-items: center; gap: 8px; color: #e8e1ed; font-size: .84rem; line-height: 1.3; }
.tmn-planner-benefits svg { width: 18px; height: 18px; color: #ceb0de; }
.tmn-planner-benefits .tmn-planner-icon-heart { color: #f08396; }
.tmn-planner-benefits strong { color: #fff; font-weight: 580; }
.tmn-planner-form .tmn-planner-types { display: none; }
.tmn-planner-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.tmn-planner-form legend { padding: 0; margin-bottom: 9px; font-size: .86rem; font-weight: 700; }
.tmn-planner-form legend span { margin-inline-end: 4px; color: var(--tmn-planner-accent); font-size: .71rem; }
.tmn-planner-feedback { grid-column: 1 / -1; }
.tmn-planner-options { display: grid; gap: 6px; }
.tmn-planner-services, .tmn-planner-inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tmn-planner-option {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid var(--tmn-planner-border);
    border-radius: 11px;
    background: #fff9;
    cursor: pointer;
}
.tmn-planner-types .tmn-planner-option { min-height: 66px; padding: 10px 13px; }
.tmn-planner-option strong { font-size: .76rem; font-weight: 650; line-height: 1.24; }
.tmn-planner-services .tmn-planner-option strong { font-weight: 450; }
.tmn-planner-services .tmn-planner-option:has(:checked) strong { font-weight: 500; }
.tmn-planner-option-copy { display: grid; gap: 3px; }
.tmn-planner-option small { color: var(--tmn-muted); font-size: .69rem; }
.tmn-planner-services .tmn-planner-icon { width: 16px; height: 16px; }
.tmn-planner-option:has(:checked) { border-color: #a990bd; background: var(--tmn-planner-soft); }
.tmn-planner-option:has(:focus-visible) { outline: 2px solid var(--tmn-planner-accent); outline-offset: 2px; }
.tmn-planner-check {
    flex: none;
    width: 8px;
    height: 5px;
    margin-inline-start: auto;
    border: solid var(--tmn-planner-accent);
    border-width: 0 0 1.5px 1.5px;
    transform: rotate(-45deg);
    opacity: 0;
}
.tmn-planner-option:has(:checked) .tmn-planner-check { opacity: 1; }
.tmn-planner-instagram {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
}
.tmn-planner-instagram > div { min-height: 0; overflow: hidden; }
.tmn-planner-instagram .tmn-planner-field { padding: 10px 2px 3px; }
.tmn-planner-details:has(input[value="/sosyalmedya"]:checked) .tmn-planner-instagram {
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}
.tmn-planner-form .tmn-planner-contact { margin-top: 12px; }
.tmn-planner-inputs { display: grid; gap: 7px 10px; }
.tmn-planner-field { display: grid; align-content: start; gap: 4px; min-width: 0; }
.tmn-planner-field label { font-size: .74rem; font-weight: 600; }
.tmn-planner-field label span { color: var(--tmn-muted); font-size: .66rem; font-weight: 400; }
.tmn-planner-field :is(input, textarea) {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid var(--tmn-planner-border);
    border-radius: 9px;
    background: #efedf1;
    color: var(--tmn-ink);
    font: inherit;
    font-size: .85rem;
}
.tmn-planner-field textarea { resize: vertical; }
:is(#tmn-meeting, #tmn-meeting-dialog) .tmn-planner-project textarea {
    height: 90px;
    min-height: 85px;
    max-height: 120px;
    overflow-y: auto;
}
.tmn-planner-field :is(input, textarea):focus { outline: 2px solid var(--tmn-planner-accent); outline-offset: 0; }
.tmn-planner-field [aria-invalid="true"] { border-color: #ab4949; }
.tmn-planner-project { grid-column: 1 / -1; }
.tmn-planner-actions { display: grid; justify-items: start; gap: 6px; margin-top: 12px; }
.tmn-planner-actions .tmn-meeting-submit { min-height: 44px; text-align: start; }
.tmn-planner-actions p { color: var(--tmn-muted); font-size: .69rem; line-height: 1.45; }
.tmn-planner-actions .tmn-planner-submit-desktop { background: #293389; }
.tmn-planner-actions .tmn-planner-submit-desktop:hover:enabled { background: #202970; }
.tmn-planner-actions :is(.tmn-planner-submit-mobile, .tmn-planner-submit-mobile-mail, .tmn-planner-note-mobile) { display: none; }
.tmn-planner-embedded { margin-top: 0; }
.tmn-planner-embedded .tmn-planner-heading { margin-bottom: 14px; }
.tmn-planner-embedded .tmn-planner-heading h2 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
.tmn-planner-embedded .tmn-planner-form { grid-template-columns: minmax(0, 1fr); }

@media (max-width: 900px) {
    #tmn-meeting .tmn-planner-intro { margin-bottom: 8px; }
    .tmn-planner-heading { flex-direction: column; align-items: flex-start; margin-bottom: 16px; }
    .tmn-planner:not(.tmn-planner-embedded) .tmn-planner-heading { align-items: center; row-gap: 24px; }
    .tmn-planner-heading h2:has(.tmn-planner-icon-email) { font-size: 23px; }
    .tmn-planner-steps {
        align-self: center;
        width: 100%;
        max-width: 390px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
    }
    .tmn-planner-steps li {
        flex-direction: column;
        align-items: center;
        gap: 7px;
        padding-inline-end: 0;
        text-align: center;
    }
    .tmn-planner-steps svg { width: 22px; height: 22px; }
    .tmn-planner-step-arrow { top: 11px; right: auto; left: calc(100% + 2.5px); }
    .tmn-planner-form { grid-template-columns: minmax(0, 1fr); gap: 13px; }
    .tmn-planner-actions :is(.tmn-planner-submit-desktop, .tmn-planner-note-desktop) { display: none; }
    .tmn-planner-form .tmn-planner-types, .tmn-planner-actions .tmn-planner-note-mobile { display: block; }
    .tmn-planner-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 9px; }
    .tmn-planner-actions .tmn-planner-note-mobile { grid-column: 1 / -1; }
    .tmn-planner-actions :is(.tmn-planner-submit-mobile, .tmn-planner-submit-mobile-mail) {
        display: flex;
        width: 100%;
        justify-content: center;
        gap: 5px;
        padding: 4px 6px;
        text-align: center;
    }
    .tmn-planner-submit-mobile img { flex: none; filter: brightness(0) invert(1); }
    .tmn-planner-actions .tmn-planner-submit-mobile { background: #237d4b; text-shadow: none; }
    .tmn-planner-actions .tmn-planner-submit-mobile:is(:hover, :active):enabled { background: #1d6d41; }
    .tmn-planner-actions .tmn-planner-submit-mobile-mail { background: #293389; }
    .tmn-planner-actions .tmn-planner-submit-mobile-mail:is(:hover, :active):enabled { background: #202970; }
    .tmn-planner-types .tmn-planner-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
    .tmn-planner-heading .tmn-planner-icon-email { width: 21px; height: 21px; }
    .tmn-planner-inputs { grid-template-columns: minmax(0, 1fr); }
    .tmn-planner-field :is(input, textarea) { font-size: 16px; }
}
@media (max-width: 350px) {
    .tmn-planner-types .tmn-planner-options, .tmn-planner-services { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: no-preference) {
    .tmn-planner-option { transition: background-color .2s, border-color .2s, transform .2s; }
    .tmn-planner-check { transition: opacity .2s; }
    .tmn-planner-instagram { transition: grid-template-rows .25s, opacity .22s, visibility 0s .25s; }
    .tmn-planner-option:has(:checked) .tmn-planner-steam { animation: tmn-planner-steam 7s ease-in-out 1.2s infinite; }
    .tmn-planner-option:has(:checked) .tmn-planner-icon-video use { animation: tmn-planner-nudge 5s ease-out; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .tmn-planner-option:hover { transform: translateY(-1px); border-color: #a990bd; }
}
@keyframes tmn-planner-nudge { 0%, 9%, 100% { transform: none; } 4% { transform: translate(1px, -1px); } }
@keyframes tmn-planner-steam { 0%, 18%, 100% { opacity: 1; transform: none; } 9% { opacity: .35; transform: translateY(-1.5px); } }

html:has(.tmn-planner-dialog:modal) { overflow: hidden; }

.tmn-planner-dialog {
    position: fixed;
    inset: 50% 0 auto;
    translate: 0 -50%;
    margin: 0 auto;
    width: min(650px, calc(100% - 32px));
    max-width: none;
    height: auto;
    max-height: 89vh;
    max-height: 89dvh;
    padding: clamp(16px, 3vw, 26px);
    border: 1px solid #ffffffb8;
    border-radius: 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fdfbfe;
    color: var(--tmn-ink);
    box-shadow: 0 24px 70px #22182930;
}
.tmn-planner-dialog::backdrop { background: #25202b75; }
@supports (backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px)) {
    .tmn-planner-dialog { background: #fdfbfeee; }
    .tmn-planner-dialog::backdrop {
        background: #25202b42;
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
    }
}
.tmn-planner-dialog-heading { position: relative; padding-inline-end: 44px; margin-bottom: 17px; }
.tmn-planner-dialog-heading h2 { display: flex; align-items: center; gap: 9px; font-size: 1.28rem; line-height: 1.2; }
.tmn-planner-dialog-heading p { margin-top: 4px; font-size: .8rem; color: var(--tmn-muted); }
.tmn-planner-dialog-close {
    position: absolute;
    top: 0;
    right: 0;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #e3dce8;
    border-radius: 50%;
    background: #f5f1f7;
    font-size: 1.25rem;
    line-height: 1;
}
.tmn-planner-dialog-close:hover { background: #ebe3f0; }
.tmn-planner-dialog .tmn-planner-form { grid-template-columns: minmax(0, 1fr); }
.tmn-planner-dialog .tmn-planner-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tmn-planner-dialog .tmn-planner-option { padding-block: 7px; }
.tmn-planner-dialog .tmn-planner-field :is(input, textarea) { padding-block: 8px; }
.tmn-planner-dialog .tmn-planner-submit-desktop { display: inline-flex; }
.tmn-planner-dialog .tmn-planner-note-desktop { display: block; grid-column: 1 / -1; }
.tmn-planner-dialog .tmn-planner-actions { grid-template-columns: minmax(0, 1fr); }

@media (prefers-reduced-motion: no-preference) {
    .tmn-planner-dialog[open] { animation: tmn-meeting-dialog-in .26s ease both; }
    .tmn-planner-dialog[open]::backdrop { animation: tmn-meeting-backdrop-in .26s ease both; }
    .tmn-planner-dialog[open][data-tmn-meeting-closing] { animation: tmn-meeting-dialog-out .26s ease both; }
    .tmn-planner-dialog[open][data-tmn-meeting-closing]::backdrop { animation: tmn-meeting-backdrop-out .26s ease both; }
}
@keyframes tmn-meeting-dialog-in { from { opacity: 0; transform: translateY(7px) scale(.97); } }
@keyframes tmn-meeting-dialog-out { to { opacity: 0; transform: translateY(7px) scale(.97); } }
@keyframes tmn-meeting-backdrop-in { from { opacity: 0; } }
@keyframes tmn-meeting-backdrop-out { to { opacity: 0; } }

.tmn-planner-service-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 11px;
    margin-top: 24px;
}
.tmn-planner-service-link {
    --tmn-service-tint: #527bb2;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    min-height: 88px;
    padding: 8px 5px;
    border: 1px solid color-mix(in srgb, var(--tmn-service-tint) 27%, #fff);
    border-radius: 17px;
    background: linear-gradient(145deg, #ffffffed, #f1eff7b8);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: 0 3px 12px #3127390c;
    color: #302c36;
    font-size: clamp(.69rem, .88vw, .8rem);
    font-weight: 600;
    line-height: 1.24;
    text-align: center;
}
.tmn-planner-service-link:nth-child(2) { --tmn-service-tint: #a65c9b; }
.tmn-planner-service-link:nth-child(3) { --tmn-service-tint: #8a68b0; }
.tmn-planner-service-link:nth-child(4) { --tmn-service-tint: #337c82; }
.tmn-planner-service-link:nth-child(5) { --tmn-service-tint: #ab6638; }
.tmn-planner-service-link:nth-child(6) { --tmn-service-tint: #af4c68; }
.tmn-planner-service-link > .tmn-planner-icon { color: var(--tmn-service-tint); }
.tmn-planner-story-figure {
    position: absolute;
    z-index: -1;
    inset: 7px 9px 7px auto;
    width: 30px;
    height: calc(100% - 14px);
    object-fit: contain;
    opacity: .28;
    pointer-events: none;
}
.tmn-planner-service-link:is(:hover, :focus-visible, :active) {
    background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--tmn-service-tint) 9%, #fff));
}
@property --tmn-service-glint-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .tmn-planner-service-link { transition: translate .23s ease, box-shadow .23s ease; }
    .tmn-planner-service-link > .tmn-planner-icon { transition: scale .23s ease; }
    .tmn-planner-service-link:hover { translate: 0 -2px; box-shadow: 0 6px 15px #31273915; }
    .tmn-planner-service-link:hover > .tmn-planner-icon { scale: 1.07; }
    .tmn-planner-service-link::after {
        content: "";
        position: absolute;
        inset: -1px;
        padding: 1px;
        border-radius: inherit;
        pointer-events: none;
        background: conic-gradient(from var(--tmn-service-glint-angle), transparent 0 77%, color-mix(in srgb, var(--tmn-service-tint) 23%, transparent) 90%, var(--tmn-service-tint) 98%, transparent);
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        opacity: 0;
        transition: opacity .25s ease;
        animation: tmn-planner-service-glint 2.8s linear infinite paused;
    }
    .tmn-planner-service-link:hover::after { opacity: .8; animation-play-state: running; }
}
@keyframes tmn-planner-service-glint { to { --tmn-service-glint-angle: 360deg; } }

@media (max-width: 900px) {
    .tmn-planner-service-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 15px;
    }
}
