/* Ironline Freight theme styles */
:root{
  --graphite:#23262B; --graphite-2:#2C3036; --coal:#1A1C20; --edge:#3A3F46;
  --concrete:#E7E9EB; --line:#D3D7DB; --ink:#1F2226; --muted:#5E656D; --muted-d:#A3A9B0;
  --red:#A8342E; --red-d:#8C2A25; --red-l:#C25048; --green:#3CCB6B; --amber:#FFB547;
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --ease:cubic-bezier(.2,.7,.2,1);
  --font:'Roboto Flex','DejaVu Sans','Segoe UI',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:4.5rem}
body{margin:0;background:var(--graphite);color:#fff;font:400 1rem/1.6 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--font);font-stretch:140%;font-weight:900;letter-spacing:-.015em;margin:0}
p{margin:0}
a{color:inherit}
.wrap{width:min(1160px,100% - 2*var(--gutter));margin-inline:auto}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.dark :focus-visible{outline-color:#fff}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font:700 .95rem/1 var(--font);font-stretch:115%;text-decoration:none;
  background:var(--red);color:#fff;padding:1.05rem 1.6rem;border:0;cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.18);
  transition:background-color .25s,color .25s,transform .25s var(--ease)}
.btn:hover{background:var(--red-d);transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.btn--ghost{clip-path:none;background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}
.btn--ghost:hover{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 2px #fff}
.btn--sm{padding:.7rem 1.1rem;font-size:.85rem}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- header ---------- */
.top{background:rgba(35,38,43,.88);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4rem}
.logo{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff}
.logo__mark{width:46px;height:21px}
.logo__word{display:flex;flex-direction:column;line-height:1}
.logo__word b{font:900 1.25rem/1 var(--font);font-stretch:140%;letter-spacing:-.01em}
.logo__word small{font-size:.62rem;letter-spacing:.32em;color:var(--muted-d);margin-top:.25rem;font-weight:600}
.nav{display:flex;gap:1.9rem;margin-left:auto}
.nav a{color:var(--muted-d);text-decoration:none;font-weight:500;font-size:.95rem;position:relative;padding:.3rem 0;transition:color .2s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover,.nav a.is-here{color:#fff}.nav a:hover::after,.nav a.is-here::after{transform:scaleX(1)}
.roadbar{position:relative;height:3px;background:var(--edge)}
.roadbar i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p,0)*100%);background:var(--red)}
.roadbar__truck{position:absolute;bottom:3px;left:calc(var(--p,0)*100%);width:30px;height:14px;transform:translateX(-100%)}
@media (max-width:760px){.nav{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(ellipse 60% 50% at 80% 70%,rgba(168,52,46,.16),transparent 70%),
    linear-gradient(180deg,#1E2125 0%,#23262B 55%,#2C3036 100%);
  min-height:clamp(580px,58vw,720px)}
.hero::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero__copy{position:relative;z-index:5;padding-top:clamp(2.5rem,5.5vw,4.5rem);width:auto;max-width:880px;margin-left:max(var(--gutter),calc((100% - 1160px)/2));margin-right:var(--gutter)}
.hero__tag{display:inline-flex;align-items:center;gap:.55rem;font-size:.88rem;color:var(--muted-d);margin-bottom:1.25rem}
.hero__tag i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(60,203,107,.18)}
.hero h1{font-size:clamp(1.8rem,.6rem + 3.9vw,3.8rem);line-height:1;margin-bottom:1.1rem;text-wrap:balance}
.hero__sub{font-size:clamp(1rem,.9rem + .4vw,1.2rem);color:var(--muted-d);margin-bottom:1.9rem;max-width:40ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem}
.js .hero__copy>*{animation:rise .8s var(--ease) both}
.js .hero__copy>:nth-child(2){animation-delay:.08s}
.js .hero__copy>:nth-child(3){animation-delay:.16s}
.js .hero__copy>:nth-child(4){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.scene{position:absolute;inset:0;z-index:1;pointer-events:none;
  --tw:clamp(280px,40vw,560px); --dw:calc(var(--tw)*.56); --g:34px}
.skyline{position:absolute;left:0;right:0;bottom:var(--g);color:#2A2E34}
.skyline svg{display:block;width:100%;height:clamp(170px,22vw,290px)}
.ground{position:absolute;left:0;right:0;bottom:0;height:var(--g);background:linear-gradient(#1C1E22,#16181B);border-top:2px solid var(--edge)}
.ground::after{content:"";position:absolute;top:9px;right:calc(var(--dw) + 6px);width:calc(var(--tw)*1.1);height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 34px,transparent 34px 52px)}
.dock{position:absolute;z-index:2;right:0;bottom:calc(var(--g) - var(--dw)*6/280);width:var(--dw);height:auto;display:block}
.truck-wrap{position:absolute;z-index:3;right:calc(var(--dw) - var(--dw)*2/280);bottom:calc(var(--g) - var(--tw)*6/500);width:var(--tw)}
.truck{display:block;width:100%;height:auto;overflow:visible}

/* dock status board */
.board{position:absolute;z-index:4;right:calc(var(--dw)*.06);bottom:calc(var(--g) - var(--dw)*6/280 + var(--dw)*268/280);
  display:flex;align-items:center;gap:.7rem;background:#141518;border:1px solid #3A3F46;border-radius:4px;padding:.45rem .7rem;box-shadow:0 8px 20px -10px rgba(0,0,0,.7)}
.board__label{font-size:.7rem;color:var(--muted-d);letter-spacing:.02em;white-space:nowrap}
.board__status{display:grid;font:800 .85rem/1 var(--font);font-stretch:125%;white-space:nowrap}
.board__status span{grid-area:1/1;opacity:0}
.st1{color:var(--amber);text-shadow:0 0 8px rgba(255,181,71,.55)}
.st2{color:var(--green);text-shadow:0 0 8px rgba(60,203,107,.55)}
.st3{color:var(--amber);text-shadow:0 0 8px rgba(255,181,71,.55)}
.st4{color:var(--muted-d)}
.board__status .st2{opacity:1}
@media (max-width:600px){.board{display:none}}

/* default = docked and loading (static). .play runs an 18 s loop */
.glow-rev,.glow-brake,.beam,.puff{opacity:0}
.door{transform-origin:14px 96px;transform:scaleY(.05)}
.lamp-light{opacity:1}
.sig-red{fill:#4A2A28}.sig-green{fill:var(--green)}.sig-glow{opacity:1}
.leveler{transform:translateX(-10px)}
.puff{transform-box:fill-box;transform-origin:center}
.play .truck-wrap{animation:truckCycle 18s infinite}
@keyframes truckCycle{
  0%{transform:translateX(-100vw);animation-timing-function:cubic-bezier(.22,.61,.36,1)}
  20%,64.4%{transform:none;animation-timing-function:cubic-bezier(.5,0,.9,.55)}
  81.1%,100%{transform:translateX(-118vw)}}
.play .wheel__spin{animation:wheelCycle 18s infinite}
@keyframes wheelCycle{
  0%{transform:rotate(1800deg);animation-timing-function:cubic-bezier(.22,.61,.36,1)}
  20%,64.4%{transform:rotate(0);animation-timing-function:cubic-bezier(.5,0,.9,.55)}
  81.1%,100%{transform:rotate(2300deg)}}
.play .glow-rev{animation:revCycle 18s infinite}
@keyframes revCycle{0%,18%{opacity:1}20%,100%{opacity:0}}
.play .glow-brake{animation:brakeCycle 18s infinite}
@keyframes brakeCycle{0%,18.8%{opacity:0}19.6%{opacity:1}25.5%,100%{opacity:0}}
.play .door{animation:doorCycle 18s infinite}
@keyframes doorCycle{0%,23.3%{transform:scaleY(1)}29.4%,53.3%{transform:scaleY(.05)}58.9%,100%{transform:scaleY(1)}}
.play .lamp-light{animation:lampCycle 18s infinite}
@keyframes lampCycle{0%,26.1%{opacity:0}29.4%,57.8%{opacity:1}60%,100%{opacity:0}}
.play .sig-red{animation:sigRed 18s infinite}
@keyframes sigRed{0%,28.2%{fill:#E0443A}28.3%,58.8%{fill:#4A2A28}58.9%,100%{fill:#E0443A}}
.play .sig-green{animation:sigGreen 18s infinite}
@keyframes sigGreen{0%,28.2%{fill:#22382A}28.3%,58.8%{fill:#3CCB6B}58.9%,100%{fill:#22382A}}
.play .sig-glow{animation:sigGlow 18s infinite}
@keyframes sigGlow{0%,28.2%{opacity:0}28.3%,58.8%{opacity:1}58.9%,100%{opacity:0}}
.play .leveler{animation:levCycle 18s infinite}
@keyframes levCycle{0%,28.9%{transform:none}31.1%,52.2%{transform:translateX(-10px)}53.3%,100%{transform:none}}
.play .load1{animation:load1Cycle 18s infinite}
@keyframes load1Cycle{0%,31.7%{transform:none;opacity:1;animation-timing-function:cubic-bezier(.45,0,.3,1)}41.1%,85.9%{transform:translateX(var(--d));opacity:1}86%{transform:none;opacity:0}91.7%,100%{transform:none;opacity:1}}
.play .load2{animation:load2Cycle 18s infinite}
@keyframes load2Cycle{0%,38.3%{transform:none;opacity:1;animation-timing-function:cubic-bezier(.45,0,.3,1)}50%,85.9%{transform:translateX(var(--d));opacity:1}86%{transform:none;opacity:0}93%,100%{transform:none;opacity:1}}
.load{transform:translateX(var(--d))}
.play .beam{animation:beamCycle 18s infinite}
@keyframes beamCycle{0%,61.1%{opacity:0}61.8%{opacity:.4}62.2%{opacity:.1}63%,80%{opacity:1}82%,100%{opacity:0}}
.play .puff1{animation:puff1 18s infinite}
.play .puff2{animation:puff2 18s infinite}
@keyframes puff1{0%,64.4%{opacity:0;transform:scale(.3)}65.4%{opacity:.7;transform:scale(.7)}73%,100%{opacity:0;transform:translate(-70px,-50px) scale(2)}}
@keyframes puff2{0%,65.6%{opacity:0;transform:scale(.3)}66.6%{opacity:.6;transform:scale(.7)}74%,100%{opacity:0;transform:translate(-80px,-40px) scale(2.2)}}
.play .board__status .st1{animation:st1 18s infinite}
.play .board__status .st2{animation:st2 18s infinite}
.play .board__status .st3{animation:st3 18s infinite}
.play .board__status .st4{animation:st4 18s infinite}
@keyframes st1{0%,19%{opacity:1}20%,98.5%{opacity:0}99%,100%{opacity:1}}
@keyframes st2{0%,19.9%{opacity:0}20.5%,58.5%{opacity:1}59%,100%{opacity:0}}
@keyframes st3{0%,58.9%{opacity:0}59.5%,81.5%{opacity:1}82%,100%{opacity:0}}
@keyframes st4{0%,81.9%{opacity:0}82.5%,98%{opacity:1}98.5%,100%{opacity:0}}
.paused,.paused *{animation-play-state:paused!important}

@media (max-width:860px){
  .hero{min-height:0}
  .scene{--tw:61vw;--g:26px}
  .hero__copy{padding-bottom:calc(61vw*.6 + 26px + 2.5rem)}
}

/* ---------- band ---------- */
.band{background:var(--red);color:#fff;position:relative}
.band::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:rgba(0,0,0,.2)}
.band__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.9rem 2rem;padding-block:1.05rem}
.band__item{display:flex;align-items:center;gap:.7rem;font-weight:650;font-stretch:110%}
.band__item svg{width:24px;height:24px;flex:none;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
@media (max-width:760px){.band__in{justify-content:flex-start}}

/* ---------- sections ---------- */
.sec{padding-block:clamp(3rem,6vw,5.25rem)}
.sec__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem 2rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.sec h2{font-size:clamp(1.6rem,.9rem + 2.4vw,2.7rem);line-height:1.02}
.sec__lead{max-width:44ch;font-size:1.02rem}
.light{background:var(--concrete);color:var(--ink)}
.light .sec__lead{color:var(--muted)}
.dark .sec__lead{color:var(--muted-d)}

/* ---------- dock bays ---------- */
.bays{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,2vw,1.5rem)}
.bay__panel{background:repeating-linear-gradient(90deg,#DADEE1 0 24px,#CDD2D6 24px 26px);border-top:8px solid #B9BFC5;padding:.7rem .75rem 0;box-shadow:0 1px 0 #fff inset}
.bay__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}
.bay__name{font:900 .9rem/1 var(--font);font-stretch:130%;color:var(--ink)}
.bay__sig{width:12px;height:12px;border-radius:50%;flex:none;background:#C0392B;box-shadow:0 0 0 3px #2A2D31;transition:background-color .3s,box-shadow .3s}
.bay.is-open .bay__sig{background:var(--green);box-shadow:0 0 0 3px #2A2D31,0 0 12px 2px rgba(60,203,107,.6);transition-delay:calc(var(--i)*.22s + 1.1s)}
.bay__opening{position:relative;height:clamp(140px,15vw,175px);border:6px solid #2A2D31;border-bottom:0;overflow:hidden;background:#24282D}
.bay__room{position:absolute;inset:0;background:radial-gradient(ellipse 85% 75% at 50% 0%,rgba(255,244,228,.30),transparent 70%),#2B2F35}
.bay__room::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:#3E434A}
.bay__item{position:absolute;left:50%;bottom:6px;width:82%;max-width:190px;height:auto;transform:translateX(-50%);transition:transform .5s var(--ease)}
.bay:hover .bay__item{transform:translateX(-50%) translateY(-3px)}
.bay__door{position:absolute;inset:0;z-index:2;
  background:linear-gradient(90deg,rgba(0,0,0,.12),transparent 14%,transparent 86%,rgba(0,0,0,.12)),
             repeating-linear-gradient(180deg,#C5CBD1 0 12px,#AEB5BD 12px 14px);
  transition:transform 1.25s cubic-bezier(.65,0,.25,1);transition-delay:calc(var(--i)*.22s)}
.bay__door::after{content:"";position:absolute;left:50%;bottom:8px;width:40px;height:6px;margin-left:-20px;background:#5C626A;border-radius:2px}
.js .bay.is-open .bay__door{transform:translateY(-88%)}
html:not(.js) .bay__door{transform:translateY(-88%)}
.js .bay__room{filter:brightness(.3);transition:filter .9s ease calc(var(--i)*.22s + .5s)}
.js .bay.is-open .bay__room{filter:none}
.bay__dock{position:relative;height:16px;background:#4A4F57;margin-inline:-.75rem}
.bay__dock i{position:absolute;top:-6px;width:12%;height:20px;background:#1E2023;border-radius:2px}
.bay__dock i:first-child{left:12%}.bay__dock i:last-child{right:12%}
.bay__cap{margin-top:.8rem;font-size:.92rem;color:var(--muted);line-height:1.4}
.bay--adr .bay__panel{border-top-color:var(--red)}
@media (max-width:860px){.bays{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- how we work: SMS updates ---------- */
.how{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.how h2{margin-bottom:1rem}
.how__points{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:.7rem}
.how__points li{display:flex;gap:.7rem;align-items:center;font-size:.98rem;color:#E3E6E9}
.how__points svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--red-l);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.msgs{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;justify-self:end;width:100%;max-width:470px;position:relative}
.msgs::before{content:"";position:absolute;left:29px;top:24px;bottom:24px;width:2px;background:linear-gradient(var(--edge),var(--edge)) no-repeat;}
.msg{position:relative;display:grid;grid-template-columns:40px 1fr;gap:.85rem;align-items:start;background:var(--graphite-2);border:1px solid var(--edge);border-radius:14px;padding:.85rem 1rem .9rem .6rem;box-shadow:0 14px 28px -18px rgba(0,0,0,.8)}
.msg__icon{position:relative;z-index:1;width:40px;height:40px;border-radius:11px;background:#F3F4F5;display:grid;place-items:center}
.msg__icon svg{width:30px;height:14px}
.msg__step{position:absolute;right:-5px;bottom:-5px;width:18px;height:18px;border-radius:50%;background:var(--red);color:#fff;font:800 .65rem/18px var(--font);text-align:center;box-shadow:0 0 0 2px var(--graphite-2)}
.msg__top{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.2rem}
.msg__top strong{font:800 .95rem/1.2 var(--font);font-stretch:120%}
.msg__top time{font-size:.78rem;color:var(--muted-d);white-space:nowrap;font-variant-numeric:tabular-nums}
.msg p{font-size:.92rem;color:#D5D9DE;line-height:1.45}
.msg--done{border-color:rgba(60,203,107,.45)}
.msg--done .msg__step{background:var(--green);color:#0f2a18}
.js .msg{opacity:0;transform:translateY(14px) scale(.98)}
.msgs.is-in .msg{animation:msgIn .55s var(--ease) forwards;animation-delay:calc(var(--i)*.85s)}
@keyframes msgIn{to{opacity:1;transform:none}}
@media (max-width:860px){.how{grid-template-columns:1fr}.msgs{justify-self:stretch;max-width:none}}

/* ---------- contact ---------- */
.contact__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.contact__grid h2{margin-bottom:1.25rem}
.phone{display:inline-flex;align-items:center;gap:.75rem;font:900 clamp(1.5rem,1rem + 2.2vw,2.4rem)/1.1 var(--font);font-stretch:130%;color:var(--red);text-decoration:none;margin-bottom:.9rem;transition:color .2s}
.phone svg{width:.8em;height:.8em;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.phone:hover{color:var(--red-d)}
.contact__meta{display:grid;gap:.35rem;color:var(--muted);font-size:.95rem}
.contact__meta strong{color:var(--ink);font-weight:600}
.quote{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);padding:clamp(1.1rem,3vw,1.9rem);box-shadow:0 24px 40px -30px rgba(31,34,38,.45)}
.quote__title{grid-column:1/-1;font:800 1.05rem/1.2 var(--font);font-stretch:120%;margin-bottom:.2rem}
.quote label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted);font-weight:500;min-width:0}
.quote input{width:100%;font:inherit;color:var(--ink);background:#F4F5F6;border:1px solid #C9CED3;border-radius:2px;padding:.78rem .85rem;transition:border-color .2s,background-color .2s,box-shadow .2s}
.quote input:hover{border-color:#9AA1A9}
.quote input:focus{outline:none;border-color:var(--red);background:#fff;box-shadow:0 0 0 3px rgba(168,52,46,.15)}
.quote__go{align-self:end;position:relative;overflow:hidden}
.quote__go .mini{width:36px;height:16px;position:absolute;left:-40px;bottom:6px}
.quote.sent .quote__go{pointer-events:none}
.quote.sent .quote__go .mini{animation:leave 1s cubic-bezier(.5,0,.5,1) forwards}
@keyframes leave{to{left:calc(100% + 40px)}}
.quote__msg{grid-column:1/-1;min-height:1.2em;font-size:.9rem;color:var(--red)}
@media (max-width:860px){.contact__grid{grid-template-columns:1fr}}
@media (max-width:520px){.quote{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.footer{border-top:4px solid var(--red)}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem 2rem;padding-block:2.25rem 1.5rem;font-size:.92rem;color:var(--muted-d)}
.foot h3{font-size:.8rem;font-stretch:120%;font-weight:800;color:#fff;margin-bottom:.6rem;letter-spacing:.01em}
.foot p{line-height:1.6}
.foot a{text-decoration:none}.foot a:hover{color:#fff}
.foot__legal{grid-column:1/-1;border-top:1px solid var(--edge);padding-top:1.1rem;font-size:.82rem}
@media (max-width:760px){.foot{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
}

/* ---------- WordPress integration ---------- */
.wp-site-blocks{padding:0}
.wp-site-blocks>*+*{margin-block-start:0}
.fr-main>*,.fr-main>*+*{margin:0!important}
header.wp-block-template-part{position:sticky;top:0;z-index:60}
.admin-bar header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar header.wp-block-template-part{top:46px}}
footer.wp-block-template-part{margin:0}
.fr-plain{background:var(--concrete);color:var(--ink);padding:clamp(3rem,6vw,5rem) var(--gutter)}
.fr-plain>*{max-width:820px;margin-inline:auto}
.fr-plain h1,.fr-plain h2{font-size:clamp(1.8rem,1rem + 2.5vw,2.8rem);margin-bottom:1rem}
.fr-plain a{color:var(--red)}
