/*
Theme Name: Together Now
Description: Editable native WordPress blocks matching the supplied Together Now homepage.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: together-now
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root { --navy:#24364b; --navy-deep:#192738; --sage:#6f8b74; --sage-dark:#4a554f; --deep-blue-sage:#465f68; --sage-pale:#e8eee7; --rose:#c08189; --cream:#f7f5f0; --ink:#24364b; --muted:#4a4a4a; --line:#d9dfda; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
img { display:block; max-width:100%; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(11,72,119,.09); backdrop-filter:blur(14px); }
.header-inner { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { min-width:0; }
.brand img { width:450px; height:auto; }
.site-status { flex:none; margin:0; padding:9px 15px; border:1px solid rgba(111,139,116,.34); border-radius:999px; background:var(--sage-pale); color:var(--sage-dark); font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.hero { display:grid; grid-template-columns:1fr .9fr; gap:56px; align-items:center; padding-block:48px 56px; }
.eyebrow { margin:0 0 18px; color:var(--sage); font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,p { margin-top:0; }
h1 { max-width:650px; margin-bottom:20px; color:var(--navy); font-size:clamp(2.85rem,4.7vw,4.45rem); font-weight:500; letter-spacing:-.045em; line-height:1; }
.hero-lede { max-width:620px; margin-bottom:26px; color:var(--deep-blue-sage); font-size:1.13rem; line-height:1.55; }
.hero-actions { display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:14px 24px; border-radius:999px; font-weight:700; line-height:1.2; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--navy); color:var(--white); }
.button.primary:hover { background:var(--navy-deep); }
.text-link { color:var(--navy); font-weight:700; text-decoration:none; }
.text-link span { color:var(--rose); margin-left:5px; }
.hero-visual { position:relative; }
.hero-visual::before { content:""; position:absolute; inset:-20px 32px 26px -20px; z-index:-1; border-radius:48% 52% 46% 54%/42% 48% 52% 58%; background:var(--sage-pale); }
.hero-visual img { width:100%; max-height:430px; aspect-ratio:1.18/1; object-fit:cover; object-position:63% center; border-radius:52% 48% 44% 56%/42% 50% 50% 58%; }
.image-note { position:absolute; right:20px; bottom:18px; margin:0; padding:10px 17px; border-radius:999px; background:rgba(255,255,255,.9); color:var(--sage-dark); font-size:.9rem; font-weight:700; }
h2 { color:var(--navy); font-size:clamp(2.15rem,3.35vw,3.45rem); font-weight:500; letter-spacing:-.038em; line-height:1.08; }
.benefits-section { background:var(--cream); padding:68px 0; }
.benefits-grid { display:grid; grid-template-columns:1.15fr .8fr .8fr; gap:60px; align-items:start; }
.benefit-intro h2 { margin-bottom:22px; }
.benefit-intro>p:last-child { max-width:520px; color:var(--muted); font-size:1.14rem; line-height:1.6; }
.benefit-column { padding-top:34px; }
.benefit-label { color:var(--sage); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.benefit-column ul { margin:24px 0 0; padding:0; list-style:none; }
.benefit-column li { position:relative; margin-bottom:18px; padding-left:22px; color:var(--deep-blue-sage); line-height:1.48; }
.benefit-column li::before { content:""; position:absolute; top:.58em; left:0; width:8px; height:8px; border-radius:50%; background:var(--rose); }
.pilot-section { background:var(--navy); color:var(--white); padding:72px 0; }
.eyebrow.light { color:#c7d6bf; }
.pilot-copy { max-width:860px; }
.pilot-copy h2 { color:var(--white); }
.pilot-copy>p { max-width:720px; color:#d6e4ee; font-size:1.16rem; line-height:1.65; }
.pilot-details { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:32px; padding-top:24px; border-top:1px solid rgba(255,255,255,.24); }
.pilot-details strong,.pilot-details span { display:block; }
.pilot-details strong { margin-bottom:8px; color:var(--white); }
.pilot-details span { color:#bed0dc; font-size:.92rem; }
.contact-section { background:var(--sage-pale); padding:54px 0; }
.contact-inner { display:grid; grid-template-columns:1fr auto; gap:70px; align-items:center; }
.contact-inner h2 { margin-bottom:12px; font-size:clamp(2rem,3vw,3rem); }
.contact-actions { display:grid; gap:22px; align-items:center; }
.contact-actions>a { color:var(--navy); font-weight:700; text-decoration-thickness:1px; text-underline-offset:3px; overflow-wrap:anywhere; }
footer { background:#f7f8f6; border-top:1px solid var(--line); }
.footer-inner { min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-inner img { width:430px; }
.footer-inner p { margin:0; color:#6d7a78; font-size:.78rem; }
a:focus-visible { outline:3px solid var(--rose); outline-offset:4px; }
@media (max-width:960px) { .hero{grid-template-columns:1fr;gap:42px;padding-block:48px 62px}.hero-copy,.hero-visual{max-width:760px}.hero-visual img{max-height:500px}.benefits-grid{grid-template-columns:1fr;gap:40px}.benefit-column{padding-top:0}.contact-inner{grid-template-columns:1fr;gap:28px} }
@media (max-width:640px) { .shell{width:min(100% - 30px,1180px)}.header-inner{min-height:68px}.brand img{width:380px}.hero{padding-block:40px 54px;gap:38px}h1{font-size:2.8rem}h2{font-size:2.3rem}.hero-lede{font-size:1.03rem}.hero-visual::before{inset:-12px 18px 18px -8px}.benefits-section,.pilot-section{padding-block:58px}.pilot-details{grid-template-columns:1fr;gap:18px}.contact-section{padding:48px 0}.footer-inner{padding-block:24px;flex-direction:column;align-items:flex-start} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.button{transition:none} }

/* Adapt the supplied design to native WordPress block wrappers. */
.wp-block-group h1 { margin:0 0 20px; }
.wp-block-group h2 { margin:0 0 .83em; }
.wp-block-group p { margin:0 0 1em; }
.wp-block-group .eyebrow { margin:0 0 18px; }
.wp-block-group .hero-lede { margin-bottom:26px; }
.wp-block-group .benefit-intro h2 { margin-bottom:22px; }
.benefit-intro > p:last-child { margin-bottom:1em; }
.wp-block-group .contact-inner h2 { margin-bottom:12px; }
.wp-block-group .pilot-details { margin-top:32px; }
.wp-block-group .image-note { margin:0; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > *, .tn-home-content, .tn-home-content > .wp-block-post-content { margin-block:0; }
.wp-block-image { margin:0; }
.hero-actions > p, .contact-actions > p { margin:0; }
.hero-actions .wp-block-buttons { margin:0; }
.tn-primary-button .wp-block-button__link { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:14px 24px; border-radius:999px; font-weight:700; line-height:1.2; text-decoration:none; transition:transform .2s ease,background .2s ease; background:var(--navy); color:var(--white); border:0; }
.tn-primary-button .wp-block-button__link:hover { background:var(--navy-deep); transform:translateY(-2px); }
.contact-actions a { color:var(--navy); font-weight:700; text-decoration-thickness:1px; text-underline-offset:3px; overflow-wrap:anywhere; }
.pilot-details p { margin:0; }
.pilot-details .pilot-detail-description { color:#bed0dc; font-size:.92rem; }
.tn-page-content { padding-block:56px; min-height:55vh; }
.tn-page-content .wp-block-post-content > * + * { margin-block-start:1.25rem; }
.tn-page-content .wp-block-post-title { margin-bottom:28px; }
.tn-page-content .wp-block-post-template > * { margin-bottom:32px; }
.site-header .brand { flex:0 1 450px; }
.site-header .brand a { display:block; }
.header-inner .site-status { margin:0; }
.footer-inner p { margin:0; }
.footer-inner a { color:var(--navy); text-decoration:underline; text-underline-offset:3px; }
.site-header { position:relative; }
.wp-site-blocks > div:has(> .site-header) { position:sticky; top:0; z-index:20; }
.admin-bar .wp-site-blocks > div:has(> .site-header) { top:32px; }
.wp-block-group.hero-visual { isolation:isolate; }
.tn-home-content section[id] { scroll-margin-top:90px; }
@media(max-width:782px){.admin-bar .wp-site-blocks > div:has(> .site-header){top:46px;}}
@media(max-width:600px){.admin-bar .wp-site-blocks > div:has(> .site-header){top:0;}}
@media(prefers-reduced-motion:reduce){.tn-primary-button .wp-block-button__link{transition:none;}}
