/* TOTTORI FIELD CHALLENGE — entry bundle. Page-scoped source; keep selectors local to this template group. */
* { box-sizing: border-box; }

body.tfc-project-page {
    margin: 0;
    color: var(--tfc-ink);
    background: #fff;
    line-height: 1.75;
}

.tfc-site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tfc-brand {
    color: inherit;
    text-decoration: none;
    line-height: 1.25;
}

.tfc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border: 1px solid currentColor;
    color: var(--tfc-ink);
    background: #fff;
    text-decoration: none;
    font-weight: 700;
}

.tfc-button--primary {
    background: var(--tfc-ink);
    color: #fff;
    border-color: var(--tfc-ink);
}

.tfc-button--small {
    min-height: 40px;
    padding-inline: 18px;
    font-size: 14px;
}

.tfc-site-footer p {
    margin: 0;
}

@media (max-width: 767px) {
    .tfc-button--small {
        padding-inline: 14px;
    }
}

.tfc-menu-toggle{
    display:none;
}

@media (max-width: 1023px){
    .tfc-site-header__inner{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto auto;
        align-items:center;
        gap:8px;
        min-height:72px;
        padding:10px 0;
    }
    .tfc-brand{
        grid-column:1;
        grid-row:1;
        min-width:0;
        gap:7px;
    }
    .tfc-brand__logo{
        width:36px;
        height:36px;
        flex-basis:36px;
    }
    .tfc-brand__copy{
        min-width:0;
    }
    .tfc-brand__main{
        overflow:hidden;
        font-size:.76rem;
        line-height:1.25;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .tfc-brand__sub{
        overflow:hidden;
        margin-top:2px;
        font-size:.54rem;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .tfc-site-header > .tfc-container > .tfc-button--small{
        grid-column:2;
        grid-row:1;
        min-width:0;
        min-height:38px;
        padding-inline:12px;
        font-size:.74rem;
        white-space:nowrap;
    }
    .tfc-menu-toggle{
        display:inline-grid;
        grid-column:3;
        grid-row:1;
        place-items:center;
        width:42px;
        height:42px;
        padding:0;
        border:1px solid rgba(0,35,135,.16);
        border-radius:50%;
        background:#fff;
        color:var(--tfc-ink);
        cursor:pointer;
    }
    .tfc-menu-toggle__icon{
        display:grid;
        gap:4px;
    }
    .tfc-menu-toggle__icon i{
        display:block;
        width:18px;
        height:2px;
        border-radius:2px;
        background:currentColor;
        transition:transform .18s ease,opacity .18s ease;
    }
    .tfc-menu-toggle__label{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0);
        white-space:nowrap;
    }
    .tfc-menu-toggle[aria-expanded="true"] .tfc-menu-toggle__icon i:nth-child(1){transform:translateY(6px) rotate(45deg)}
    .tfc-menu-toggle[aria-expanded="true"] .tfc-menu-toggle__icon i:nth-child(2){opacity:0}
    .tfc-menu-toggle[aria-expanded="true"] .tfc-menu-toggle__icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

    .tfc-site-header .tfc-global-nav{
        display:none!important;
        grid-column:1 / -1;
        grid-row:2;
        width:100%;
        max-width:none;
        max-height:none;
        margin:2px 0 0;
        padding:8px 0 4px;
        border-top:1px solid rgba(0,35,135,.12);
        overflow:visible;
    }
    .tfc-site-header .tfc-global-nav.is-open{
        display:grid!important;
        grid-template-columns:1fr;
        gap:0;
    }
    .tfc-global-nav > a,
    .tfc-global-nav__item > a{
        justify-content:flex-start;
        min-height:42px;
        padding:0 8px;
        border-radius:0;
        font-size:.9rem;
    }
    .tfc-global-nav__item{
        display:grid;
    }
    .tfc-site-header .tfc-global-nav__submenu{
        position:static;
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr));
        min-width:0;
        padding:0 0 8px;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        transform:none;
    }
    .tfc-global-nav .tfc-global-nav__submenu-link{
        justify-content:center;
        min-height:38px;
        padding:0 6px;
        border-radius:4px;
        font-size:.82rem;
    }
}

@media (max-width: 1023px){
    body.tfc-project-page .tfc-main{padding-top:78px}
}
body.tfc-project-page .tfc-main{
    overflow:hidden;
    background:#fff;
    font-size:1rem;
}
.tfc-entry-form .wpforms-submit{
    padding-inline:32px !important;
    font-size:1rem !important;
}

@media (max-width: 767px){
    .tfc-entry-form .wpforms-submit{
        min-height:56px !important;
        padding-inline:24px !important;
    }
}
.tfc-entry-page{
    background:#fff;
}

.tfc-entry-hero{
    padding:clamp(62px,7vw,86px) 0 clamp(54px,6vw,70px);
    background:linear-gradient(135deg,#f1f5fb 0%,#fff 76%);
}

.tfc-entry-hero__inner{
    max-width:960px;
    text-align:center;
}

.tfc-entry-hero__eyebrow,
.tfc-entry-form-section__eyebrow{
    margin:0 0 16px;
    color:#4d6384;
    font-size:.84rem;
    font-weight:700;
    letter-spacing:.04em;
}

.tfc-entry-hero h1,
.tfc-entry-form-section h2,
.tfc-entry-topics h2{
    padding:0!important;
    border:0!important;
    color:#002387;
    letter-spacing:0;
}

.tfc-entry-hero h1{
    margin:0;
    font-size:clamp(2.15rem,4vw,3.5rem);
    line-height:1.28;
}

.tfc-entry-hero h1 + p{
    max-width:700px;
    margin:25px auto 0;
    color:var(--tfc-color-text-secondary);
    font-size:clamp(1rem,1.7vw,1.18rem);
    line-height:2;
}

.tfc-entry-topics{
    padding:clamp(54px,7vw,88px) 0;
}

.tfc-entry-topics h2{
    margin:0 0 32px;
    font-size:clamp(1.7rem,3vw,2.4rem);
    text-align:center;
}

.tfc-entry-topics__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(18px,2.5vw,32px);
}

.tfc-entry-topics__grid article{
    min-width:0;
    padding:26px clamp(22px,2.5vw,34px) 30px;
    background:#f5f8fc;
}

.tfc-entry-topics__grid span{
    display:block;
    margin-bottom:13px;
    color:#365a9b;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.1em;
}

.tfc-entry-topics__grid h3{
    margin:0;
    color:var(--tfc-color-heading);
    font-size:1.12rem;
    line-height:1.55;
}

.tfc-entry-topics__grid h3::after{
    display:none;
    content:none;
}

.tfc-entry-topics__grid p{
    margin:12px 0 0;
    color:var(--tfc-color-text-secondary);
    font-size:.93rem;
    line-height:1.8;
}

.tfc-entry-form-section{
    padding:clamp(62px,8vw,102px) 0;
    background:#eef3f9;
}

.tfc-entry-form-section__grid{
    display:block;
    max-width:980px;
}

.tfc-entry-form-section__intro{
    max-width:860px;
    margin:0 auto 42px;
    text-align:center;
}

.tfc-entry-form-section h1{
    margin:0;
    padding:0;
    border:0;
    font-size:clamp(1.8rem,3vw,2.65rem);
    line-height:1.35;
}

.tfc-entry-form-section h1 + p{
    max-width:700px;
    margin:19px auto 0;
    color:var(--tfc-color-text-secondary);
    font-size:.98rem;
    line-height:1.9;
}

.tfc-entry-form-section .tfc-entry-context{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin:18px auto 0;
    color:var(--tfc-color-heading);
    font-weight:700;
    line-height:1.7;
}

.tfc-entry-context span{
    padding:3px 8px;
    background:#dfeafa;
    color:#30517f;
    font-size:.74rem;
    font-weight:800;
    line-height:1.45;
}

.tfc-entry-context + p{
    margin-top:14px!important;
}

.tfc-entry-flow{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    margin:38px 0 0;
    padding:0;
    list-style:none;
    text-align:left;
}

.tfc-entry-flow li{
    display:flex;
    align-items:flex-start;
    gap:13px;
    min-width:0;
    padding:20px 22px 0;
    border-top:1px solid #bdccdf;
}

.tfc-entry-flow li:first-child{
    padding-left:0;
}

.tfc-entry-flow li:last-child{
    padding-right:0;
}

.tfc-entry-flow li > span{
    display:grid;
    flex:0 0 27px;
    width:27px;
    height:27px;
    place-items:center;
    border-radius:50%;
    background:#dce8ff;
    color:#002387;
    font-size:.76rem;
    font-weight:700;
}

.tfc-entry-flow p{
    margin:0;
}

.tfc-entry-flow strong,
.tfc-entry-flow small{
    display:block;
}

.tfc-entry-flow strong{
    color:var(--tfc-color-heading);
    font-size:.93rem;
}

.tfc-entry-flow small{
    margin-top:3px;
    color:var(--tfc-color-text-secondary);
    font-size:.82rem;
    line-height:1.55;
}

.tfc-entry-form{
    min-height:340px;
    padding:clamp(26px,4vw,48px);
    border-radius:8px;
    background:#fff;
    box-shadow:0 14px 34px rgba(0,35,135,.07);
}

.tfc-entry-form .wpforms-container{
    margin:0;
}

.tfc-entry-form .wpforms-field-label{
    color:var(--tfc-color-heading)!important;
    font-size:.93rem!important;
    font-weight:700!important;
}

.tfc-entry-form .wpforms-field-medium,
.tfc-entry-form input,
.tfc-entry-form textarea,
.tfc-entry-form select{
    max-width:none!important;
    border:1px solid #cfd9e8!important;
    border-radius:4px!important;
    background:#fff!important;
    color:var(--tfc-color-heading)!important;
    font-family:inherit!important;
}

.tfc-entry-form .wpforms-field.is-context-filled input[readonly]{
    background: var(--tfc-sand);
    color: var(--tfc-color-text);
    cursor: default;
}

/* These are submission metadata, not questions for a general consultation. */
.tfc-entry-form #wpforms-744-field_11-container,
.tfc-entry-form #wpforms-744-field_12-container{
    display: none;
}

.tfc-entry-form .wpforms-submit{
    min-height:50px!important;
    padding:0 26px!important;
    border:0!important;
    border-radius:999px!important;
    background:#002387!important;
    color:#fff!important;
    font-family:inherit!important;
    font-weight:700!important;
}

.tfc-entry-form__notice{
    margin:0;
    color:var(--tfc-color-text-secondary);
    font-size:.9rem;
    line-height:1.8;
}

@media (max-width: 767px){
    .tfc-entry-hero{
        padding:58px 0 52px;
    }
    .tfc-entry-hero h1{
        font-size:clamp(1.85rem,8vw,2.15rem);
        line-height:1.42;
    }
    .tfc-entry-hero__break{
        display:none;
    }
    .tfc-entry-topics__grid{
        grid-template-columns:1fr;
    }
    .tfc-entry-topics__grid{
        gap:12px;
    }
    .tfc-entry-topics__grid article{
        padding:22px 20px 24px;
    }
    .tfc-entry-form-section__intro{
        margin-bottom:30px;
    }
    .tfc-entry-flow{
        grid-template-columns:1fr;
        gap:0;
        margin-top:30px;
    }
    .tfc-entry-flow li,
    .tfc-entry-flow li:first-child,
    .tfc-entry-flow li:last-child{
        padding:16px 0;
    }
    .tfc-entry-flow li:last-child{
        border-bottom:1px solid #bdccdf;
    }
    .tfc-entry-form{
        min-height:0;
        padding:25px 19px;
        box-shadow:0 12px 30px rgba(0,35,135,.07);
    }
}
body.tfc-project-page #page_top{
    right:24px!important;
    bottom:100px!important;
    display:grid!important;
    width:44px!important;
    height:44px!important;
    place-items:center;
    border:1px solid #cfdbef!important;
    border-radius:50%!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(0,35,135,.1);
    color:#002387!important;
    z-index:39!important;
}

body.tfc-project-page #page_top:hover{
    border-color:#002387!important;
    background:#eef4ff!important;
}

@media (max-width: 767px){
    body.tfc-project-page #page_top{
        right:12px!important;
        bottom:calc(86px + env(safe-area-inset-bottom))!important;
        width:40px!important;
        height:40px!important;
    }
}
@media(min-width: 1024px){
    .tfc-site-header > .tfc-container.tfc-site-header__inner{
        width:min(calc(100% - 64px),1280px);
    }
}
body.tfc-project-page{
    --tfc-project-content:1080px;
    --tfc-project-border:#dce3ed;
    --tfc-project-soft:#f4f7fb;
    --tfc-project-accent:#002387;
}
