/*
Theme Name: OtherBound Literary Futures
Theme URI: https://otherbound.com/
Author: OtherBound
Description: A responsive editorial theme for OtherBound and Literary Futures.
Version: 1.6.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: otherbound
*/
:root{--ink:#080b44;--navy:#11134d;--blue:#368fe9;--cyan:#1eb6d7;--cream:#f7f3e9;--paper:#fffdf7;--gold:#c69450;--muted:#4f5678;--line:#d9ddeb;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3.2rem,7vw,6.7rem)}h2{font-size:clamp(2.3rem,4.6vw,4.25rem)}h3{font-size:clamp(1.5rem,2vw,2.05rem)}.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-90px;background:#fff;padding:10px;z-index:20}.skip-link:focus{top:12px}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}.header-row{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:flex;align-items:center;flex-shrink:0;text-decoration:none}.brand img{width:160px;display:block}.nav{display:flex;align-items:center;gap:30px}.nav a{text-decoration:none;font-size:.88rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.nav a:hover{color:#1666b3}.nav .nav-cta{color:#fff;background:var(--ink);padding:13px 18px;border-radius:3px}.nav .nav-cta:hover{color:#fff;background:#255fc2}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800}.eyebrow{font-size:.76rem;text-transform:uppercase;font-weight:850;letter-spacing:.18em;color:#1765ae}.eyebrow.light{color:#85d9ff}.hero{background:var(--ink);color:#fff;overflow:hidden}.hero-inner{min-height:650px;display:grid;grid-template-columns:1.14fr .86fr;align-items:center;gap:32px}.hero-copy{padding:86px 0 96px;position:relative;z-index:1}.hero h1{max-width:850px;margin:20px 0 26px}.hero h1 em{font-style:normal;color:#78c8ff}.hero .lead{max-width:600px;color:#d7e4ff;font-size:clamp(1.08rem,1.8vw,1.3rem);line-height:1.55}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border:1px solid transparent;border-radius:3px;text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850;line-height:1.2}.button.primary{background:var(--cyan);color:#06103d}.button.primary:hover{background:#84e3ef}.button.secondary{border-color:#a4b4e2;color:#fff}.button.secondary:hover{background:#fff;color:var(--ink)}.button.dark{background:var(--ink);color:#fff}.button.dark:hover{background:#2655a9}.portal-art{height:520px;position:relative;display:grid;place-items:center}.portal-art:before{content:'';position:absolute;width:min(42vw,500px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 47% 46%,#091046 0 21%,#487ded 21.5% 26%,#1cb4d8 26.5% 30%,transparent 30.5% 34%,#2d549d 34.5% 35%,transparent 35.5% 41%,#c79552 41.5% 42%,transparent 42.5%),conic-gradient(from 24deg,transparent 0 8%,#142f77 9% 21%,transparent 22% 29%,#143d8d 30% 39%,transparent 40% 54%,#087eac 55% 61%,transparent 62%);box-shadow:0 0 100px rgba(48,141,236,.22)}.portal-art:after{content:'✦';position:absolute;color:#d2b17b;font-size:45px;top:9%;right:10%;text-shadow:-300px 245px 0 #83bce8, -100px 385px 0 #8eaae9}.hero-caption{position:absolute;bottom:35px;right:0;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#a3b7db;writing-mode:vertical-rl}.ticker{background:#19aace;color:#031343;padding:14px 0}.ticker .wrap{display:flex;justify-content:space-between;gap:25px;font-size:.8rem;font-weight:850;text-transform:uppercase;letter-spacing:.14em}.section{padding:100px 0}.section.soft{background:var(--cream)}.section.dark{background:var(--navy);color:#fff}.section-intro{max-width:790px;margin-bottom:40px}.section-intro p:last-child{font-size:1.18rem;color:var(--muted)}.dark .section-intro p:last-child{color:#cbd4f5}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--paper);border:1px solid var(--line);padding:35px;min-height:340px;display:flex;flex-direction:column}.card .number{font:700 3.8rem/1 Georgia,serif;color:#b8dff3;margin-bottom:45px}.card h3{margin-bottom:14px}.card p{color:var(--muted)}.card a{font-weight:850;text-decoration-thickness:2px;text-underline-offset:5px;margin-top:auto;color:#155caa}.feature{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.feature p{font-size:1.15rem;color:var(--muted)}.quote-art{min-height:400px;background:radial-gradient(circle at 68% 43%,#68cbef 0 8%,#1e5da9 8.5% 12%,transparent 12.5%),repeating-radial-gradient(circle at 68% 43%,transparent 0 42px,#73cce8 44px 46px,transparent 48px 78px),linear-gradient(135deg,#0e144a,#3053a6);position:relative;overflow:hidden}.quote-art span{position:absolute;left:9%;bottom:9%;font:italic 2.5rem/1.08 Georgia,serif;color:white;max-width:260px}.manifesto{display:grid;grid-template-columns:1fr 1fr;gap:10%}.manifesto h2{margin-bottom:0}.manifesto p{color:#d6dcf5;font-size:1.12rem}.cta-panel{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:40px;background:#d8eff6;padding:54px}.cta-panel h2{font-size:clamp(2rem,3vw,3.5rem);margin:0}.cta-panel p{color:#253561}.cta-panel .actions{justify-content:flex-end;margin:0}.site-footer{background:#090c38;color:#fff;padding:68px 0 25px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-top img{width:180px;filter:brightness(0) invert(1)}.footer-top p{max-width:330px;color:#c1c9e0}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-links a{color:#d5e8ff;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{margin-top:62px;border-top:1px solid #41456e;padding-top:18px;color:#aeb8d5;font-size:.82rem}.page-hero{background:var(--ink);color:#fff;padding:95px 0 100px}.page-hero h1{max-width:950px;margin:14px 0 18px}.page-hero p{max-width:750px;font-size:1.2rem;color:#cbd9f5}.content{padding:80px 0 100px;max-width:860px}.content h2{font-size:2.4rem;margin-top:45px}.content p{font-size:1.12rem}.programme-row{padding:36px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:70px 1fr;gap:25px}.programme-row .num{font:700 2rem Georgia,serif;color:#258ac1}.programme-row h2{font-size:clamp(2rem,3vw,3rem);margin:0 0 12px}.programme-row p{max-width:760px;color:var(--muted)}.note{background:#eff7fb;border-left:4px solid #1ca8d2;padding:20px 24px;margin-top:35px}.wp-block-image{margin:30px 0}@media(max-width:850px){.hero-inner,.feature,.manifesto,.cta-panel{grid-template-columns:1fr}.hero-inner{min-height:unset}.hero-copy{padding:75px 0 20px}.portal-art{height:320px}.portal-art:before{width:330px}.hero-caption{display:none}.grid{grid-template-columns:1fr}.card{min-height:unset}.card .number{margin-bottom:25px}.feature{gap:30px}.cta-panel .actions{justify-content:flex-start}.footer-top{grid-template-columns:1fr 1fr}.ticker .wrap{flex-wrap:wrap}}@media(max-width:650px){.wrap{width:min(var(--max),calc(100% - 36px))}.header-row{min-height:76px;flex-wrap:wrap}.brand img{width:130px}.menu-toggle{display:block;padding:10px}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:0 0 20px}.nav.is-open{display:flex}.nav a{padding:12px 0}.nav .nav-cta{text-align:center;margin-top:10px}.hero-copy{padding:65px 0 0}.hero h1{font-size:clamp(3.25rem,13vw,5rem)}.portal-art{height:270px}.portal-art:before{width:280px}.section{padding:70px 0}.ticker .wrap{font-size:.69rem;gap:4px}.quote-art{min-height:320px}.cta-panel{padding:32px}.footer-top{grid-template-columns:1fr}.footer-bottom{margin-top:40px}.page-hero{padding:65px 0}.content{padding:55px 0}.programme-row{grid-template-columns:1fr;gap:0}}

/* Keep long action labels contained on small screens. */
.button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}.actions>*{min-width:0}

/* Partner marks remain legible at varying shapes without making the grid uneven. */
.partners-strip{padding:58px 0 75px;background:var(--paper);border-top:1px solid var(--line)}
.partners-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:29px}
.partners-heading h2{font-size:clamp(2rem,3vw,3rem);margin:8px 0 0}
.partners-heading p{color:var(--muted);margin:0 0 5px}
.partner-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:16px}
.partner-logo{min-height:120px;display:flex;align-items:center;justify-content:center;padding:24px;background:#fff;border:1px solid var(--line)}
.partner-logo a{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.partner-logo img{display:block;width:auto;max-width:100%;max-height:74px;object-fit:contain}
@media(max-width:650px){.partners-heading{display:block}.partners-heading p{margin-top:13px}.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-logo{min-height:100px;padding:18px}}

.build-hero{background-color:var(--ink);background-size:cover;background-position:center;color:#fff}.build-hero-inner{min-height:570px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:85px}.build-hero h1{margin:16px 0}.build-hero p{max-width:620px;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.45;color:#e4edff}.build-statement{min-height:400px;padding:45px;display:flex;align-items:end;background:linear-gradient(145deg,#083a79,#0e144a 68%);color:white;position:relative;overflow:hidden}.build-statement:before{content:'';position:absolute;width:310px;height:310px;border:28px solid #1eb6d7;border-radius:50%;top:-120px;right:-90px;box-shadow:0 0 0 38px #368fe9,0 0 0 60px #c69450}.build-statement span{position:relative;font:italic clamp(2rem,3vw,3.25rem)/1.1 Georgia,serif}@media(max-width:850px){.build-hero-inner{min-height:490px}}@media(max-width:650px){.build-hero{background-position:62% center}.build-hero-inner{min-height:540px}.build-hero p{max-width:340px}}
.build-statement.has-custom-image{background-size:cover;background-position:center}.build-statement.has-custom-image:before{display:none}.build-statement span{max-width:480px;text-wrap:balance}

.portal-art.has-home-image:before,.portal-art.has-home-image:after{display:none}.portal-art.has-home-image img{max-width:100%;max-height:500px;width:auto;height:auto;object-fit:contain;position:relative;z-index:1}
.page-hero.programme-hero{background-color:var(--ink);background-size:cover;background-position:center;min-height:470px;display:flex;align-items:center}.page-hero.programme-hero .wrap{width:min(var(--max),calc(100% - 48px))}.page-hero.programme-hero p{max-width:640px}@media(max-width:650px){.page-hero.programme-hero{background-position:60% center;min-height:525px}.page-hero.programme-hero .wrap{width:calc(100% - 36px)}}

/* Uniform gaps between navigation items, with a menu before labels become cramped. */
.header-row{gap:24px}.nav{gap:24px;margin-left:auto}.nav a{white-space:nowrap}
@media(max-width:1100px){.header-row{flex-wrap:wrap}.menu-toggle{display:block;margin-left:auto}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;margin-left:0;padding:0 0 20px}.nav.is-open{display:flex}.nav a{padding:12px 0}.nav .nav-cta{text-align:center;margin-top:10px}}

.page-hero.image-hero{background-size:cover;background-position:center}.page-hero.about-hero{overflow:hidden;min-height:450px;display:flex;align-items:center}.about-hero .wrap{position:relative;min-height:260px;display:flex;flex-direction:column;justify-content:center}.about-hero .eyebrow,.about-hero h1{position:relative;z-index:1;max-width:55%}.about-mark{position:absolute;right:3%;top:50%;transform:translateY(-50%);width:min(35vw,400px);max-height:390px;object-fit:contain;filter:drop-shadow(0 0 35px rgba(55,165,230,.13))}.page-hero.stay-hero{min-height:390px;display:flex;align-items:center}.stay-hero .wrap{width:min(var(--max),calc(100% - 48px))}
.quote-art.has-custom-image{background-size:cover;background-position:center}.quote-art.has-custom-image span{position:relative;z-index:1}
.ob-existing-signup{margin:32px 0 56px;padding:34px;background:#f2f6fa;border-left:4px solid var(--cyan)}.ob-existing-signup form{max-width:680px}.ob-existing-signup input,.ob-existing-signup select,.ob-existing-signup textarea{max-width:100%}
.ob-existing-signup:empty{display:none}
@media(max-width:650px){.about-hero .eyebrow,.about-hero h1{max-width:100%}.about-mark{right:-10%;top:63%;width:260px;opacity:.24}.stay-hero .wrap{width:calc(100% - 36px)}}

.stay-hero{background-position:center;background-size:cover}
@media(max-width:650px){.stay-hero{background-position:68% center}.stay-hero h1{max-width:90%}}
