/*
Theme Name: Maploon Studio
Theme URI: https://maploon.com/
Author: Maploon
Description: An editorial Gutenberg block theme for Maploon's studio and journal.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: maploon-studio
*/

:root{--ink:#171927;--muted:#626574;--paper:#f7f6f2;--white:#fff;--blue:#3155f4;--line:#dcdedc;--lime:#d9f36a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink)}
a{text-underline-offset:.18em}
button,input,textarea{font:inherit}
.wp-site-blocks{overflow:hidden}
.maploon-header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}
.maploon-header-inner{min-height:88px;gap:32px}
.maploon-brand a{text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:-.075em}
.maploon-brand a::after{content:"✳";color:var(--blue);font-size:.65em;vertical-align:top;margin-left:3px}
.maploon-header .wp-block-navigation{font-size:14px;font-weight:600}
.maploon-header .wp-block-navigation a{text-decoration:none}
.maploon-header .wp-block-navigation a:hover,.maploon-footer a:hover{color:var(--blue)}
.maploon-header .wp-block-button__link{white-space:nowrap}
.maploon-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:12px!important;font-weight:800;color:var(--blue)}
.maploon-kicker::before{content:"✦";padding-right:10px}
.maploon-display{font-size:clamp(4.2rem,10vw,9rem)!important;line-height:.87!important;letter-spacing:-.09em!important;font-weight:750!important;max-width:1100px}
.maploon-display em,.maploon-section-title em{font-family:Georgia,serif;font-weight:400;color:var(--blue);letter-spacing:-.075em}
.maploon-hero{padding-top:100px!important;padding-bottom:90px!important;position:relative}
.maploon-hero-copy{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.5;color:var(--muted);max-width:640px}
.maploon-hero-bottom{margin-top:52px;align-items:flex-end!important}
.maploon-hero-note{max-width:200px;font-size:12px;line-height:1.4;color:var(--muted);text-align:right}
.maploon-hero-art{min-height:500px;margin-top:72px!important;background:var(--blue);border-radius:18px;position:relative;overflow:hidden;isolation:isolate}
.maploon-hero-art::before{content:"";position:absolute;width:54%;aspect-ratio:1;border:70px solid var(--lime);border-radius:50%;left:16%;top:-20%;transform:rotate(-24deg);box-shadow:0 0 0 48px rgba(255,255,255,.12)}
.maploon-hero-art::after{content:"";position:absolute;width:35%;aspect-ratio:1;background:#f6a4a5;border-radius:48% 52% 0 0;right:8%;bottom:-26%;transform:rotate(32deg)}
.maploon-art-label{position:relative;z-index:2;color:white;font-size:clamp(3rem,8vw,8.6rem)!important;letter-spacing:-.09em;line-height:.85;font-weight:800;margin:0!important;padding:36px 38px}
.maploon-art-label span{display:block;font-family:Georgia,serif;font-weight:400;font-style:italic}
.maploon-art-stamp{position:absolute;bottom:28px;left:38px;z-index:2;color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:11px}
.maploon-section{padding-top:112px!important;padding-bottom:112px!important}
.maploon-section-title{font-size:clamp(2.8rem,5.5vw,5.8rem)!important;line-height:1.02!important;letter-spacing:-.075em!important}
.maploon-section-heading{align-items:flex-end!important;margin-bottom:38px!important}
.maploon-section-heading p{max-width:420px;color:var(--muted)}
.maploon-service-grid{gap:12px!important}
.maploon-service-grid+.maploon-service-grid{margin-top:12px!important}
.maploon-service-card{background:var(--white);border:1px solid var(--line);border-radius:14px;min-height:330px;padding:32px!important;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease}
.maploon-service-card:hover{transform:translateY(-5px);border-color:var(--blue)}
.maploon-service-card .maploon-number{color:var(--blue);font-size:13px;font-weight:800}
.maploon-service-card h3{font-size:clamp(1.7rem,2.5vw,2.45rem);letter-spacing:-.055em;line-height:1.08;margin-top:auto!important}
.maploon-service-card p:last-child{color:var(--muted);font-size:15px;line-height:1.55}
.maploon-dark{background:var(--ink);color:var(--white)}
.maploon-dark .maploon-kicker{color:var(--lime)}
.maploon-dark .maploon-kicker::before{color:var(--lime)}
.maploon-dark .maploon-section-title em{color:var(--lime)}
.maploon-dark-copy{font-size:clamp(1.2rem,2.2vw,1.6rem);line-height:1.5;color:#c5c7d1;max-width:650px}
.maploon-work-grid{gap:20px!important}
.maploon-work-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.maploon-work-visual{height:300px;position:relative;overflow:hidden}
.maploon-work-visual-one{background:#e5eaed}
.maploon-work-visual-one::before{content:"m.";position:absolute;inset:16% 15%;border-radius:50%;background:#213b78;color:#f7eece;display:grid;place-items:center;font:italic 9rem Georgia,serif;box-shadow:28px 28px 0 #a4b9c6}
.maploon-work-visual-two{background:#e7d5bd}
.maploon-work-visual-two::before{content:"FORM / FUNCTION";position:absolute;inset:16% 18%;background:#faf5e9;display:grid;place-items:center;color:#6a422e;font-size:clamp(1.3rem,2.5vw,2.5rem);font-weight:900;text-align:center;letter-spacing:-.07em;transform:rotate(-8deg);box-shadow:20px 20px 0 #ab7d5b}
.maploon-work-visual-three{background:#dfe4f7}
.maploon-work-visual-three::before{content:"↗";position:absolute;width:230px;height:230px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-16deg);background:var(--blue);border-radius:28px;color:white;font-size:180px;display:grid;place-items:center;box-shadow:22px 22px 0 #98a5d4}
.maploon-work-info{padding:24px 28px 28px!important}
.maploon-work-info h3{font-size:1.55rem;letter-spacing:-.045em;margin:8px 0!important}
.maploon-work-info p{font-size:13px;color:var(--muted);margin:0!important}
.maploon-process{border-top:1px solid var(--line);padding:24px 0!important;gap:20px!important}
.maploon-process p{margin:0!important}
.maploon-process .maploon-number{color:var(--blue);font-weight:800}
.maploon-process strong{font-size:1.4rem;letter-spacing:-.045em}
.maploon-process .maploon-process-description{color:var(--muted);font-size:15px}
.maploon-post-grid .wp-block-post{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.maploon-post-grid .wp-block-post-featured-image{margin:0!important;aspect-ratio:1.55;overflow:hidden;background:#dfe4f7}
.maploon-post-grid .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.maploon-post-grid .wp-block-post:hover .wp-block-post-featured-image img{transform:scale(1.04)}
.maploon-post-card-content{padding:25px!important;display:flex;flex:1;flex-direction:column}
.maploon-post-grid .wp-block-post-title{font-size:clamp(1.4rem,2vw,1.8rem);letter-spacing:-.045em;line-height:1.2;margin:12px 0!important}
.maploon-post-grid .wp-block-post-title a{text-decoration:none;color:var(--ink)}
.maploon-post-grid .wp-block-post-title a:hover{color:var(--blue)}
.maploon-post-grid .wp-block-post-excerpt{color:var(--muted);font-size:14px;line-height:1.55}
.maploon-post-grid .wp-block-post-excerpt__more-link{display:block;margin-top:24px;color:var(--blue);font-weight:700;text-decoration:none}
.maploon-post-grid .wp-block-post-date,.maploon-post-grid .wp-block-post-terms{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:700}
.maploon-post-grid .wp-block-post-terms a{text-decoration:none}
.maploon-cta{background:var(--lime);border-radius:16px;padding:clamp(40px,6vw,90px)!important}
.maploon-cta h2{font-size:clamp(3rem,6vw,6.5rem)!important;line-height:.98!important;letter-spacing:-.08em!important;max-width:850px}
.maploon-cta p{font-size:1.2rem;max-width:640px}
.maploon-contact-form{max-width:720px;margin-top:40px!important}
.maploon-contact-form form p{margin-bottom:16px}
.maploon-contact-form label{font-size:13px;font-weight:700}
.maploon-contact-form input:not([type=submit]),.maploon-contact-form textarea{width:100%;border:1px solid #a9b478;border-radius:7px;background:#f8fbe6;color:var(--ink);padding:13px 15px;margin-top:7px}
.maploon-contact-form input[type=submit]{border:0;border-radius:6px;background:var(--ink);color:white;padding:15px 25px;cursor:pointer;font-weight:700}
.maploon-footer{background:var(--ink);color:white;padding-top:70px!important;padding-bottom:30px!important}
.maploon-footer a{color:white;text-decoration:none}
.maploon-footer .maploon-brand a{color:white}
.maploon-footer-top{padding-bottom:75px!important}
.maploon-footer-tag{font-size:clamp(2rem,4vw,4rem);line-height:1.1;letter-spacing:-.065em;max-width:600px}
.maploon-footer-nav{gap:18px!important;font-size:14px}
.maploon-footer-bottom{border-top:1px solid #484a56;padding-top:22px!important;color:#aeb0bb;font-size:12px}
.maploon-page-hero{padding-top:90px!important;padding-bottom:70px!important}
.maploon-page-hero h1{font-size:clamp(4rem,8vw,8rem);line-height:.95;letter-spacing:-.085em}
.maploon-page-hero p{max-width:700px;font-size:1.2rem;color:var(--muted)}
.maploon-archive{padding-bottom:110px!important}
.maploon-archive .wp-block-query-pagination{margin-top:60px;gap:12px}
.maploon-archive .wp-block-query-pagination a{text-decoration:none;color:var(--ink)}
.maploon-archive .wp-block-query-pagination .current{background:var(--blue);color:white;padding:8px 14px;border-radius:4px}
.maploon-article-header{padding-top:85px!important;padding-bottom:50px!important}
.maploon-article-header h1{font-size:clamp(3.2rem,6vw,6.7rem);line-height:1;letter-spacing:-.075em;max-width:1050px}
.maploon-article-meta{gap:18px!important;color:var(--muted);font-size:13px}
.maploon-article-image img{border-radius:14px;max-height:660px;object-fit:cover;width:100%}
.maploon-article-body{padding-top:70px!important;padding-bottom:100px!important;font-size:1.12rem;line-height:1.75}
.maploon-article-body h2,.maploon-article-body h3{letter-spacing:-.055em;line-height:1.15;margin-top:2em}
.maploon-article-body h2{font-size:clamp(2rem,3vw,3rem)}
.maploon-article-body blockquote{border-left:5px solid var(--blue);padding-left:25px;font-family:Georgia,serif;font-size:1.5rem}
.maploon-article-body a{color:var(--blue)}
.maploon-post-nav{border-top:1px solid var(--line);padding:30px 0!important}
.maploon-post-nav a{color:var(--ink);text-decoration:none;font-weight:700}
.maploon-page-content{padding-bottom:100px!important}
@media(max-width:781px){.maploon-header-inner{min-height:74px}.maploon-header-cta{display:none}.maploon-hero{padding-top:68px!important;padding-bottom:60px!important}.maploon-hero-art{min-height:300px;margin-top:50px!important}.maploon-art-label{padding:25px}.maploon-art-stamp{left:25px}.maploon-hero-art::before{border-width:38px}.maploon-section{padding-top:72px!important;padding-bottom:72px!important}.maploon-section-heading{align-items:flex-start!important}.maploon-hero-note{display:none}.maploon-service-card{min-height:260px}.maploon-work-visual{height:250px}.maploon-process{gap:8px!important}.maploon-footer-top{padding-bottom:45px!important}.maploon-article-body{padding-top:40px!important}}
@media(max-width:480px){.maploon-hero-art{min-height:240px}.maploon-art-label{font-size:3.5rem!important}.maploon-work-visual{height:215px}.maploon-page-hero{padding-top:60px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
