/* GMS Community landingpage – extends the approved Homepage V2.1 CSS.
 * Exact design tokens and font families are inherited from style.css.
 * Only new page composition and input states are styled here.
 */
[hidden] { display:none !important; }
.site-header .brand-logo {display:block;width:clamp(190px,24vw,300px);height:auto;object-fit:contain;}
.brand-full-logo {display:block;width:clamp(204px,19vw,252px);height:auto;object-fit:contain;}
.footer-brand .brand-full-logo{width:226px;}
.nav-links .nav-link.is-active {color:var(--gms-accent-dark);}
.gms-breadcrumb ol{display:flex;align-items:center;list-style:none;margin:0;padding:0;}
.gms-breadcrumb li{display:flex;align-items:center;}
.gms-breadcrumb li+li::before{content:'/';margin:0 .65em;color:inherit;}
.gms-breadcrumb a{color:inherit;text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:4px;transition:color var(--gms-transition),text-decoration-color var(--gms-transition);}
.gms-breadcrumb a:hover,.gms-breadcrumb a:focus-visible{color:var(--gms-accent-dark);text-decoration-color:var(--gms-accent-deep);}
.community-hero .hero-content{max-width:940px;}
.community-hero .hero-content h1{max-width:870px;}
.community-hero .hero-ribbon{opacity:.94;}
.community-pillars{padding-bottom:40px;}
.community-intro{padding:75px 0 116px;}
.community-intro .intro-grid{padding-top:74px;}
.community-intro h2,.participation-heading h2,.process-heading h2{
    font:500 clamp(32px,3.25vw,51px)/1.23 var(--gms-font-head);letter-spacing:-.076em;
    margin:18px 0 30px;max-width:700px;
}
.community-intro p,.participation-heading p,.community-process p{
    font-size:clamp(17px,1.24vw,19px);line-height:1.7;color:var(--gms-body);
}
.community-intro .intro-statement{font-size:clamp(19px,1.55vw,23px);line-height:1.57;max-width:640px;color:var(--gms-ink);}
.intro-step{padding:15px 0 22px;border-bottom:1px solid var(--gms-line);transition:background var(--gms-transition),padding var(--gms-transition);}
.intro-step:hover{background:var(--gms-paper-strong);padding-left:18px;padding-right:12px;}
.intro-step:first-child{border-top:1px solid var(--gms-line);}
.intro-step-title{display:flex;align-items:baseline;gap:23px;font:500 clamp(17px,1.65vw,23px)/1.45 var(--gms-font-head);letter-spacing:-.06em;margin:0 0 9px;}
.intro-step-title .step-number{font:500 12px var(--gms-font-head);letter-spacing:.08em;color:var(--gms-muted);}
.intro-step p{margin:0 0 0 45px;font-size:16px;}
.identity-section{padding:2px 0 105px;}
.identity-section .participation-heading{padding:72px 0 47px;}
.participation-heading h2{margin-bottom:20px;max-width:990px;}
.participation-heading .intro-copy{max-width:920px;}
.identity-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:23px;}
.identity-meta .meta-label{font:500 12px/1.5 var(--gms-font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--gms-muted);}
.identity-meta .meta-dot{height:5px;width:5px;border-radius:100%;background:var(--gms-accent-dark);}
.identity-grid{padding-top:5px;}
.identity-card{
    display:flex;flex-direction:column;height:100%;position:relative;cursor:pointer;
    border:1px solid var(--gms-line);background:transparent;
    padding:clamp(23px,2.5vw,36px);border-radius:2px;
    transition:background var(--gms-transition),border-color var(--gms-transition),transform var(--gms-transition),box-shadow var(--gms-transition);
}
.identity-card:hover{background:var(--gms-paper-strong);border-color:var(--gms-accent-deep);transform:translateY(-3px);}
.identity-card:focus-within{outline:3px solid #7cae3b;outline-offset:3px;}
.identity-card.is-selected{background:var(--gms-paper-strong);border-color:var(--gms-accent-dark);box-shadow:inset 0 0 0 1px var(--gms-accent-dark);}
.identity-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;min-height:36px;}
.identity-overline{font:500 12px/1.5 var(--gms-font-head);color:var(--gms-muted);text-transform:uppercase;letter-spacing:.06em;}
.identity-card input[type=radio]{accent-color:var(--gms-accent-dark);width:22px;height:22px;flex:none;margin:0;cursor:pointer;}
.identity-preview{display:flex;align-items:center;min-height:180px;overflow:hidden;padding:18px 0 21px;margin-bottom:24px;border-bottom:1px solid var(--gms-line);}
.identity-preview img{width:100%;height:auto;max-height:165px;object-fit:contain;transition:transform var(--gms-transition);}
.identity-card:hover .identity-preview img{transform:scale(1.022);}
.identity-card h3{font:500 clamp(19px,1.8vw,25px)/1.35 var(--gms-font-head);letter-spacing:-.065em;margin:0 0 17px;}
.identity-description{font-size:16px;line-height:1.7;color:var(--gms-body);margin:0 0 25px;flex:1;}
.identity-traits{border-top:1px solid var(--gms-line);padding:20px 0 0;margin:0;list-style:none;}
.identity-traits li{font:500 13px/1.58 var(--gms-font-head);letter-spacing:-.018em;margin:7px 0;color:var(--gms-ink);}
.identity-traits li::before{content:'—';color:var(--gms-accent-dark);margin-right:10px;}
.identity-card-note{display:block;margin-top:16px;font:500 11px/1.5 var(--gms-font-head);letter-spacing:.04em;color:var(--gms-accent-dark);text-transform:uppercase;}
.vote-actions{display:flex;align-items:center;gap:22px 35px;flex-wrap:wrap;margin-top:39px;padding-top:28px;border-top:1px solid var(--gms-line);}
.vote-actions .btn-accent{min-width:210px;}
.vote-actions .btn-accent:disabled{opacity:.50;transform:none;cursor:not-allowed;box-shadow:none;}
.identity-vote-disclaimer{padding-top:18px;font-size:14px;color:var(--gms-muted);line-height:1.6;}
.vote-error{border:1px solid #9f3c32;border-left-width:4px;background:#fff5f2;color:#66241d;margin:0 0 28px;padding:18px 21px;font-size:15px;line-height:1.6;}
.vote-error strong{font-family:var(--gms-font-head);font-weight:600;}
.vote-error ul{margin:8px 0 0;padding-left:20px;}
.vote-success{scroll-margin-top:130px;border-top:2px solid var(--gms-accent);margin-top:38px;padding:42px clamp(24px,4vw,56px);background:var(--gms-paper-strong);}
.success-kicker{font:500 12px/1.5 var(--gms-font-head);letter-spacing:.09em;color:var(--gms-accent-dark);text-transform:uppercase;}
.vote-success h3{font:500 clamp(27px,3vw,43px)/1.25 var(--gms-font-head);letter-spacing:-.073em;margin:14px 0 16px;}
.vote-success p{max-width:820px;font-size:17px;color:var(--gms-body);line-height:1.67;}
.newsletter-area{border-top:1px solid var(--gms-line);margin-top:36px;padding-top:31px;}
.newsletter-area h4{font:500 22px/1.4 var(--gms-font-head);letter-spacing:-.055em;margin:0 0 14px;}
.newsletter-form .form-control{border:1px solid var(--gms-muted);border-radius:2px;background:var(--gms-canvas);font-size:17px;padding:15px 16px;color:var(--gms-ink);min-height:57px;}
.newsletter-form .form-control:focus{border-color:var(--gms-accent-dark);box-shadow:0 0 0 3px rgba(168,212,96,.25);}
.newsletter-form .btn-accent{white-space:nowrap;}
.newsletter-form .form-check{margin:15px 0 19px;max-width:800px;}
.newsletter-form .form-check-input{accent-color:var(--gms-accent-dark);border-color:#7f8580;width:1.15em;height:1.15em;margin-top:.33em;}
.newsletter-form .form-check-input:checked{background-color:var(--gms-accent-dark);border-color:var(--gms-accent-dark);}
.newsletter-form .form-check-label{font-size:14px;color:var(--gms-body);line-height:1.65;}
.demo-result{display:block;font:500 13px/1.5 var(--gms-font-head);color:var(--gms-accent-dark);padding-top:7px;}
/* Sharing the project – same GMS palette, typography and button interactions. */
.community-share{border-top:1px solid var(--gms-line);margin-top:38px;padding-top:34px;}
.community-share h4{font:500 22px/1.4 var(--gms-font-head);letter-spacing:-.055em;margin:13px 0 13px;}
.community-share>p{max-width:810px;}
.share-url-wrapper{margin-top:22px;}
.share-label{display:block;font:500 12px/1.6 var(--gms-font-head);letter-spacing:.035em;color:var(--gms-muted);text-transform:uppercase;margin-bottom:10px;}
.share-url-line{display:flex;align-items:stretch;gap:12px;max-width:840px;}
.share-url-input{flex:1;min-width:0;border-radius:2px;border:1px solid var(--gms-line);background:var(--gms-canvas);color:var(--gms-ink);min-height:56px;padding:14px 16px;font:400 14px/1.4 var(--gms-font-head);}
.share-url-input:focus{border-color:var(--gms-accent-dark);box-shadow:0 0 0 3px var(--gms-paper-strong);}
.share-copy-button{flex-shrink:0;min-width:163px;}
.share-feedback{min-height:24px;font:500 13px/1.5 var(--gms-font-head) !important;color:var(--gms-accent-dark) !important;margin:9px 0 0;}
.share-channel-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:14px;}
.share-social-label{margin:0 1px 0 12px;}
.share-channel{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--gms-ink);font:500 14px/1.5 var(--gms-font-head);padding:10px 0;border-bottom:1px solid var(--gms-line);transition:color var(--gms-transition),border-color var(--gms-transition);}
.share-channel:hover,.share-channel:focus-visible{color:var(--gms-accent-dark);border-color:var(--gms-accent-dark);}
.share-channel .link-arrow{display:inline-block;transition:transform var(--gms-transition);}
.share-channel:hover .link-arrow,.share-channel:focus-visible .link-arrow{transform:translate(3px,-2px);}
@media(max-width:767.98px){.share-url-line{flex-direction:column;}.share-copy-button{align-self:flex-start;}.share-social-label{width:100%;margin-left:0;margin-top:10px;}}
@media(prefers-reduced-motion:reduce){.share-channel .link-arrow{transition:none;}.share-channel:hover .link-arrow,.share-channel:focus-visible .link-arrow{transform:none;}}
.community-process{padding:25px 0 125px;}
.process-heading{padding-top:70px;padding-bottom:26px;}
.process-heading p{max-width:860px;}
.process-step{height:100%;padding:30px 30px 21px 0;transition:background var(--gms-transition),padding var(--gms-transition);}
.process-step:hover{background:var(--gms-paper-strong);padding-left:18px;}
.process-step h3{font:500 21px/1.45 var(--gms-font-head);letter-spacing:-.06em;margin:17px 0 13px;}
.process-step p{font-size:16px;}
.process-step .decorative-dash{display:block;height:2px;width:24px;background:var(--gms-line);margin-top:25px;}
.process-grid > div+div .process-step{border-left:1px solid var(--gms-line);padding-left:31px;}
.community-process .after-process{margin-top:40px;padding-top:24px;border-top:1px solid var(--gms-line);font-size:15px;line-height:1.65;color:var(--gms-body);}
.footer-brand .brand-full-logo{margin-bottom:11px;}
@media(max-width:1199.98px){
  .identity-preview{min-height:140px;}
  .community-intro{padding:65px 0 85px;}
}
@media(max-width:991.98px){
  .community-intro .intro-grid{padding-top:53px;}
  .identity-section{padding-bottom:80px;}
}
@media(max-width:767.98px){
  .brand-full-logo{width:205px;}
  .community-hero .hero-content h1{font-size:clamp(34px,7.1vw,48px);}
  .community-intro{padding:55px 0 70px;}
  .community-intro .intro-grid{padding-top:39px;}
  .community-intro .intro-statement{font-size:19px;}
  .intro-step p{font-size:16px;}
  .participation-heading h2,.community-intro h2,.process-heading h2{font-size:clamp(29px,6vw,40px);}
  .identity-section .participation-heading{padding-top:54px;}
  .identity-preview{min-height:105px;padding:5px 0 10px;margin-bottom:17px;}
  .identity-card{padding:23px 19px;}
  .identity-card h3{font-size:21px;}
  .vote-success{padding:33px 21px;}
  .vote-actions .btn-accent{min-width:0;}
  .process-grid>div+div .process-step{border-left:0;border-top:1px solid var(--gms-line);padding-left:0;}
  .community-process{padding-bottom:80px;}
}
@media(max-width:420px){.brand-full-logo{width:185px;}.identity-card{padding:19px 16px;}}
