/*
Theme Name: Mediatopia Print
Theme URI: https://mediatopia.ca/
Author: Mediatopia
Description: An editable block theme for Mediatopia’s printing venture, with short-run books, notebooks, workbooks and publishing support.
Version: 1.0.4
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mediatopia-print
Tags: block-patterns, full-site-editing, wide-blocks, custom-colors, custom-logo
*/
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/dm-sans-normal-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/dm-sans-normal-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/dm-sans-normal-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/dm-sans-normal-700.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/dm-sans-normal-800.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/instrument-serif-italic-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/instrument-serif-normal-400.ttf) format('truetype');
}

:root{--paper:#f7f7f2;--ink:#20241f;--blue:#2945d9;--orange:#ff764b;--muted:#62665e;--line:#d5d7cd;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
img{display:block;max-width:100%}
p,h1,h2,h3,figure{margin:0}
::selection{background:var(--orange);color:var(--ink)}
.skip-link{position:absolute;top:-6rem;left:1rem;z-index:10;padding:.75rem 1.5rem;background:var(--ink);color:white}
.skip-link:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{min-height:108px;max-width:1600px;margin:auto;padding:1.65rem 4.6%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.wordmark{display:inline-flex;align-items:baseline;gap:.45rem;white-space:nowrap;font-size:1.9rem;letter-spacing:-1.5px;font-weight:800;line-height:1.1}
.print-tag{font-size:.75rem;letter-spacing:.09em;font-weight:650;border-left:1px solid currentColor;padding-left:.5rem;margin-left:.1rem;align-self:center;transform:translateY(2px)}
.brand-period{color:var(--blue);font-size:2rem;margin-left:-.4rem}
.site-header nav{display:flex;align-items:center;gap:2.35rem;font-size:.9rem;font-weight:550}
.nav-text{padding:.4rem 0;border-bottom:1px solid transparent}
.nav-text:hover{border-bottom-color:var(--ink)}
.header-cta{border:1px solid var(--ink);padding:.75rem 1.15rem;display:inline-flex;align-items:center;gap:1.4rem;transition:background .2s,color .2s}
.header-cta:hover{background:var(--ink);color:var(--paper)}
.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;min-height:650px;border-top:1px solid var(--line)}
.hero-copy{padding:4.2rem 7.5% 3.3rem 9.2%;display:flex;align-items:flex-start;flex-direction:column}
.eyebrow{font-size:.76rem;letter-spacing:.105em;font-weight:650;line-height:1.5}
.hero .eyebrow{display:flex;align-items:center;gap:.75rem}
.registration-mark{font-size:1.9rem;line-height:.8;font-weight:400;color:var(--blue)}
h1{font-size:clamp(4.5rem,7.3vw,7.3rem);letter-spacing:-.075em;font-weight:550;line-height:1.04;margin:2.2rem 0 1.65rem}
h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
h1 em{color:var(--blue);font-size:1.11em;line-height:.9}
.hero-description{font-size:1.18rem;max-width:23rem;line-height:1.55}
.hero-secondary{margin-top:.9rem;color:var(--muted);font-size:1.03rem}
.wp-block-button__link{display:inline-flex;justify-content:space-between;align-items:center;gap:2.2rem;padding:1rem 1.3rem;font-size:.94rem;font-weight:550;min-height:56px;transition:background .2s,transform .2s}
.wp-block-button__link:hover{transform:translateY(-2px)}
.button-blue .wp-block-button__link{background:var(--blue);color:white;margin-top:1.85rem}
.button-blue .wp-block-button__link:hover{background:#1d34b1}
.wp-block-button__link span[aria-hidden]{font-size:1.3rem;line-height:1}
.hero-note{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.78rem;margin-top:3.25rem}
.note-line{width:24px;border-top:1px solid var(--muted)}
.hero-visual{position:relative;min-height:100%;background:#e8e5dc;display:flex;flex-direction:column}
.hero-visual img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;object-position:center}
.hero-caption{position:relative;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--orange);font-size:.73rem;letter-spacing:.08em;font-weight:600;color:#24211a}
.concept-label{letter-spacing:0;font-size:.75rem;font-weight:450}
.format-ribbon{display:flex;align-items:center;justify-content:space-evenly;gap:1.5rem;padding:1.35rem 4.6%;background:var(--blue);color:#fff;font-family:var(--serif);font-size:1.55rem;line-height:1.35}
.ribbon-plus{font-family:var(--sans);font-size:1.4rem;font-weight:400;opacity:.65}
.section-wrap{max-width:1440px;margin:auto;padding:6.5rem 5.1%}
.printing-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}
h2{font-size:clamp(3rem,4.8vw,4.7rem);line-height:1.06;letter-spacing:-.055em;font-weight:550}
.section-intro h2{margin:1.7rem 0 1.6rem}
.section-intro>p:last-child{max-width:21rem;color:var(--muted);font-size:1.05rem}
.format-row{display:grid;grid-template-columns:2rem 1fr;gap:1.5rem;padding:1.85rem 0 2rem;border-top:1px solid var(--line)}
.format-row:last-child{border-bottom:1px solid var(--line)}
.format-number{font-size:.8rem;color:var(--blue);padding-top:.45rem}
h3{font-weight:550;font-size:1.7rem;line-height:1.3;letter-spacing:-.035em;margin-bottom:.8rem}
.format-row p{max-width:34rem;color:var(--muted)}
.format-row .format-detail{font-size:.81rem;color:var(--ink);margin-top:1rem;line-height:1.7}
.support-section{background:var(--ink);color:var(--paper)}
.support-inner{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:5.2rem;padding-bottom:5.8rem}
.support-section .eyebrow{color:#c8cec2}
.support-section h2{margin-top:1.65rem;font-size:clamp(3.4rem,5.25vw,5.2rem)}
.support-section h2 em{color:var(--orange)}
.support-copy{padding-top:.25rem}
.support-lead{font-size:1.55rem;font-weight:450;line-height:1.4;letter-spacing:-.02em;margin-bottom:1.25rem}
.support-copy>p:not(.support-lead){color:#c1c8bd;max-width:32rem}
.support-services{padding:0;margin:2rem 0;list-style:none;border-top:1px solid #4b5345}
.support-services li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid #4b5345}
.support-services li span:last-child{font-size:.78rem;color:#a8b09f}
.text-link{display:inline-flex;align-items:center;gap:1.7rem;padding-bottom:.35rem;border-bottom:1px solid #a2ae99;font-size:.91rem}
.text-link:hover{color:var(--orange);border-color:var(--orange)}
.support-section a:focus-visible{outline-color:var(--orange)}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:6.4rem;padding-bottom:6.4rem}
.contact-heading h2{margin-top:1.7rem;font-size:clamp(3.6rem,5.7vw,5.6rem)}
.contact-heading h2 em{color:var(--blue)}
.contact-copy{max-width:34rem}
.contact-lead{font-size:1.6rem;font-weight:550;letter-spacing:-.035em;margin-bottom:.65rem}
.contact-copy>p:nth-child(2){color:var(--muted)}
.project-details{list-style:none;margin:1.55rem 0 2rem;padding:0}
.project-details li{display:flex;align-items:baseline;gap:1rem;margin:.65rem 0}
.project-details li span{color:var(--blue);font-size:.77rem}
.button-dark .wp-block-button__link{background:var(--ink);color:white;max-width:100%;font-size:.9rem;gap:1.8rem}
.button-dark .wp-block-button__link:hover{background:var(--blue)}
.contact-phone{margin-top:1.4rem;font-size:.9rem}
.contact-phone a{border-bottom:1px solid var(--ink);white-space:nowrap}
.contact-note{margin-top:.65rem;color:var(--muted);font-size:.76rem}
.site-footer{background:#eaece3;padding:2.7rem 4.6% 1.5rem}
.footer-top,.footer-bottom{max-width:1452px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.footer-top{padding-bottom:2.4rem}
.footer-top>p:not(.wordmark){font-family:var(--serif);font-size:1.55rem}
.footer-bottom{padding-top:1.2rem;border-top:1px solid #c7cbbf;font-size:.78rem;color:#545c4c}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1.8rem}
.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}

@media(min-width:1600px){.hero{border-left:1px solid var(--line);border-right:1px solid var(--line)}.hero-copy{padding-left:4.6rem}.format-ribbon{padding-left:max(4.6%,calc((100vw - 1450px)/2));padding-right:max(4.6%,calc((100vw - 1450px)/2))}}
@media(max-width:1100px){.site-header nav{gap:1.35rem}.hero-copy{padding-top:3.4rem;padding-bottom:2.4rem}.hero{min-height:610px}.hero .eyebrow{font-size:.67rem;letter-spacing:.075em}h1{font-size:7.3vw}.hero-description{font-size:1.1rem}.hero-note{font-size:.75rem;margin-top:2.8rem}.printing-section{gap:6%;grid-template-columns:.8fr 1.2fr}.section-wrap{padding-top:5rem;padding-bottom:5rem}.support-inner,.contact-section{gap:7%}.hero-caption{padding:.9rem 1rem;font-size:.67rem;letter-spacing:.05em}.concept-label{font-size:.7rem}}
@media(max-width:800px){.site-header{min-height:90px;padding:1.5rem 5%}.site-header nav .nav-text{display:none}.wordmark{font-size:1.6rem}.print-tag{font-size:.63rem}.header-cta{font-size:.83rem;padding:.65rem .85rem;gap:.7rem}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:3rem 6% 2.7rem}.hero .eyebrow{font-size:.73rem}h1{font-size:clamp(4.6rem,12vw,6.5rem);margin:1.8rem 0 1.3rem}.hero-description{max-width:28rem;font-size:1.2rem}.hero-secondary{font-size:1.05rem}.hero-note{margin-top:2rem}.hero-visual{min-height:450px;aspect-ratio:1.4}.hero-visual img{object-position:center}.hero-caption{padding:1rem 6%;font-size:.75rem}.concept-label{font-size:.75rem}.format-ribbon{font-size:1.15rem;gap:.75rem;text-align:center;padding:1.3rem 5%}.format-ribbon .ribbon-plus{font-size:1.1rem}.section-wrap{padding:4.3rem 6%}.printing-section{grid-template-columns:1fr;gap:2.5rem}.section-intro h2{font-size:3.7rem}.section-intro>p:last-child{max-width:30rem}.format-row{gap:1rem;padding:1.65rem 0}.format-row p{max-width:none}.support-inner{grid-template-columns:1fr;gap:2.6rem}.support-section h2{font-size:4.1rem}.support-copy{max-width:36rem}.support-lead{font-size:1.5rem}.contact-section{grid-template-columns:1fr;gap:2.6rem}.contact-heading h2{font-size:4.4rem}.contact-copy{max-width:36rem}.footer-top{align-items:flex-start;flex-direction:column;gap:1rem}.footer-bottom{align-items:flex-start;flex-wrap:wrap}.footer-bottom nav{order:3;flex-basis:100%;gap:1.5rem}.site-footer{padding:2.5rem 6% 1.5rem}}
@media(max-width:420px){.wordmark{font-size:1.4rem;gap:.3rem;letter-spacing:-1px}.print-tag{font-size:.57rem;padding-left:.35rem}.brand-period{font-size:1.5rem;margin-left:-.3rem}.header-cta{font-size:.77rem;padding:.6rem .7rem;gap:.5rem}.site-header{gap:.7rem}.hero-copy{padding-top:2.5rem}.hero .eyebrow{font-size:.64rem;letter-spacing:.07em}h1{font-size:4.45rem}.hero-description{font-size:1.08rem}.hero-visual{min-height:320px}.hero-caption{font-size:.66rem}.concept-label{font-size:.67rem}.format-ribbon{font-size:1.02rem;gap:.4rem}.ribbon-plus{font-size:.9rem}.section-intro h2{font-size:3.35rem}.format-row{grid-template-columns:1.5rem 1fr;gap:.65rem}h3{font-size:1.48rem}.format-row p{font-size:.97rem}.format-row .format-detail{font-size:.79rem}.contact-heading h2{font-size:4rem}.project-details{font-size:.95rem}.button-dark .wp-block-button__link{font-size:.85rem;gap:1rem;padding:1rem}.contact-phone{font-size:.84rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wp-block-button__link,.header-cta{transition:none}.wp-block-button__link:hover{transform:none}}

/* Native WordPress blocks: preserve the original layout in the editor and on the site. */
:root{--paper:var(--wp--preset--color--paper,#f7f7f2);--ink:var(--wp--preset--color--ink,#20241f);--blue:var(--wp--preset--color--blue,#2945d9);--orange:var(--wp--preset--color--orange,#ff764b);--muted:var(--wp--preset--color--muted,#62665e);--sans:var(--wp--preset--font-family--sans,'DM Sans',Arial,sans-serif);--serif:var(--wp--preset--font-family--serif,'Instrument Serif',Georgia,serif)}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block:0}
.wp-block-group{box-sizing:border-box}
.site-header .wordmark,.site-footer .wordmark{margin:0}
.wordmark>a{display:inline-flex;align-items:baseline;gap:.45rem}
.hero-copy>*{max-width:100%}
.hero-copy .wp-block-buttons{align-self:flex-start;margin:0}
.wp-block-button__link{border:0;border-radius:0;text-decoration:none}
.hero-visual>.wp-block-image{position:absolute;inset:0;width:100%;height:100%;margin:0}
.hero-visual>.hero-caption{z-index:1;width:100%;margin-top:auto}
.hero-caption p{margin:0}
.hero-caption .concept-label{font-weight:450;letter-spacing:0}
.hero-note{display:flex}
.format-number{font-size:.8rem;color:var(--blue)}
.format-ribbon{margin:0}
.support-copy .text-link{border:0;padding:0;display:block}
.support-copy .text-link a{display:inline-flex;align-items:center;gap:1.7rem;border-bottom:1px solid #a2ae99;padding-bottom:.35rem}
.footer-navigation{font-size:.78rem}
.site-header .header-navigation{gap:0;font-size:.9rem;font-weight:550}
.header-navigation .wp-block-navigation__container{gap:2.35rem}
.header-navigation .nav-text{padding:0;border:0}
.header-navigation .nav-text>.wp-block-navigation-item__content{border-bottom:1px solid transparent;padding:.4rem 0}
.header-navigation .nav-text>.wp-block-navigation-item__content:hover{border-bottom-color:var(--ink)}
.header-navigation .header-cta{padding:0;display:flex}
.header-navigation .header-cta>.wp-block-navigation-item__content{padding:.75rem 1.15rem}
.wp-block-navigation-item__content:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--paper);color:var(--ink);padding:2rem}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:1.25rem;align-items:flex-start}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{display:block;font-size:1.15rem}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.standard-content{max-width:1280px;margin:0 auto;padding:4rem 6%;min-height:50vh}
.standard-content h1{font-size:clamp(2.5rem,5vw,4rem);margin:0 0 2rem;letter-spacing:-.04em}
.standard-content h2{font-size:2rem;margin-block:1.5rem 1rem}
.standard-content p{margin-block:1rem}
.standard-content .wp-block-post-content a{color:var(--blue);text-decoration:underline}
.standard-content .wp-block-post-template{list-style:none;padding:0}
.standard-content .wp-block-post-template>li{margin-block:2.5rem}
.standard-content .wp-block-query-pagination{gap:1rem;margin-block:2rem}
.standard-content .wp-block-search__button{background:var(--blue);color:white;border:0;padding:.7rem 1rem}
.standard-content .wp-block-search__input{padding:.7rem;border:1px solid var(--line);font:inherit}
.editor-styles-wrapper .hero-visual>.wp-block-image{min-height:0}
.editor-styles-wrapper .wp-block{max-width:none}
@media(max-width:1100px){.header-navigation .wp-block-navigation__container{gap:1.35rem}}
@media(min-width:600px) and (max-width:800px){.site-header .header-navigation .nav-text{display:none}}
@media(max-width:599px){.site-header .header-navigation .nav-text{display:block}.site-header .header-navigation{display:flex}.site-header .header-navigation .header-cta{width:auto}.footer-navigation .wp-block-navigation__container{gap:1.5rem}.footer-bottom .footer-navigation{flex-basis:100%;order:3}}
@media(max-width:420px){.wordmark>a{gap:.3rem}}

/* Official Mediatopia symbol beside the editable wordmark. */
.brand-lockup{display:flex;align-items:center;gap:.8rem;flex:0 0 auto}
.brand-lockup>.mediatopia-symbol{margin:0;width:52px;height:52px;flex:0 0 auto;mix-blend-mode:multiply}
.brand-lockup>.mediatopia-symbol img{width:100%;height:100%;object-fit:contain}
.brand-lockup>.mediatopia-symbol a{display:block;width:100%;height:100%}
@media(max-width:800px){.brand-lockup{gap:.6rem}.brand-lockup>.mediatopia-symbol{width:42px;height:42px}}
@media(max-width:600px){.site-header{gap:.75rem}.site-header .brand-lockup{gap:.5rem}.site-header .wordmark{font-size:1.35rem;letter-spacing:-1px}.site-header .mediatopia-symbol{width:36px;height:36px}}

/* Keep native Image and Group blocks within the section's column bounds. */
.hero>*,.printing-section>*,.support-inner>*,.contact-section>*{min-width:0}
.hero-visual>.wp-block-image>img{width:100%;height:100%;object-fit:cover}
.hero-caption{flex-wrap:wrap}
@media(max-width:360px){.hero h1{font-size:clamp(3.6rem,19vw,4.25rem)}.hero-caption{gap:.25rem .75rem}}
