/*
Theme Name: Rory Branum — Strange Little Worlds
Theme URI: https://rorybranum.com/
Author: Rory Branum Portfolio
Description: Bright queer indie-comics portfolio with editable homepage and selectable CSS title cards.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: rory-branum
*/
:root{--ink:#211d24;--cream:#fffdf3;--lime:#ecffac;--pink:#ff9dce;--purple:#ac95ef;--border:2px solid var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#d6c5f4;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}::selection{background:#ff80b8;color:#211d24}.grain{pointer-events:none;position:fixed;inset:0;z-index:10;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.27'/%3E%3C/svg%3E")}.site-shell{max-width:1440px;margin:0 auto;overflow:hidden;background:var(--cream);box-shadow:0 0 0 2px var(--ink)}.topbar{height:84px;display:flex;justify-content:space-between;align-items:center;padding:0 6%;background:var(--lime);border-bottom:var(--border)}.brand{font-family:'Space Grotesk',Arial,sans-serif;font-size:34px;font-weight:700;letter-spacing:-.1em}.brand-spark{display:inline-block;font-size:34px;color:#ee5caa;margin-right:8px;vertical-align:-1px;letter-spacing:0}.brand-dot{color:#ec5aaa}.nav{display:flex;gap:40px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.nav a{padding:12px 0;border-bottom:2px solid transparent}.nav a:hover{border-color:var(--ink)}.hero{position:relative;display:grid;grid-template-columns:56% 44%;min-height:590px;background:var(--lime);border-bottom:var(--border);overflow:hidden}.hero-content{padding:66px 0 62px 10.7%;position:relative;z-index:2}.eyebrow,.section-kicker{font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:9px;white-space:nowrap}.asterisk{font-size:26px;color:#f06eae}.eyebrow-end{font-size:10px;color:#6a645b;margin-left:6px}.hero h1{font-family:'Space Grotesk',Arial,sans-serif;font-weight:700;letter-spacing:-.115em;line-height:.84;font-size:clamp(90px,11.45vw,166px);margin:55px 0 35px;position:relative}.hero h1 span{display:block}.hero h1 .line-two{letter-spacing:-.105em}.heading-star{color:#f078b6;font-size:.36em;vertical-align:top;display:inline!important;letter-spacing:0;position:relative;top:-.15em;margin-left:.1em}.hero-bottom{display:flex;align-items:end;gap:44px;max-width:520px}.hero-bottom p{font-size:23px;line-height:1.4;font-weight:500;max-width:370px;margin:0}.hero-bottom em{font-family:Georgia,serif;font-size:1.12em}.round-link{width:66px;height:66px;border-radius:50%;background:var(--pink);border:var(--border);box-shadow:4px 4px 0 var(--ink);display:grid;place-items:center;font-size:35px;flex:none;transition:transform .2s}.round-link:hover{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.hero-art{position:relative;align-self:center;justify-self:center;width:min(96%,530px);transform:rotate(6deg);padding:20px 0}.hero-art svg{width:100%;filter:drop-shadow(10px 12px 0 #211d24)}.art-sticker{position:absolute;right:1%;bottom:4%;display:grid;place-items:center;width:115px;height:115px;border:3px solid var(--ink);border-radius:50%;font-size:15px;font-weight:800;line-height:1.12;text-align:center;background:#ffed6b;transform:rotate(-16deg);box-shadow:4px 5px 0 var(--ink)}.orbit-note{position:absolute;bottom:20px;right:29px;font-size:10px;letter-spacing:.15em;font-weight:800;transform:rotate(-5deg)}.ticker{overflow:hidden;background:var(--ink);color:var(--cream);border-bottom:var(--border);height:51px;display:flex;align-items:center}.ticker-track{white-space:nowrap;min-width:max-content;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;letter-spacing:.09em;animation:marquee 35s linear infinite}.ticker span{padding:0 20px;color:var(--pink)}@keyframes marquee{to{transform:translateX(-50%)}}.work-section{padding:95px 6% 85px;background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-head h2,.about-section h2{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(45px,6.7vw,88px);line-height:.99;letter-spacing:-.075em;margin:17px 0 0}.section-head h2 i,.about-section h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em;color:#956ee4}.section-aside{text-align:right;font-size:12px;font-weight:800;line-height:1.8;letter-spacing:.1em;transform:rotate(-5deg);padding-bottom:11px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:29px}.project-card{border:var(--border);box-shadow:6px 6px 0 var(--ink);transition:transform .2s,box-shadow .2s;overflow:hidden}.project-card:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--ink)}.card-art{position:relative;height:350px;overflow:hidden;border-bottom:var(--border)}.card-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover .card-art img{transform:scale(1.04)}.card-num{position:absolute;left:18px;top:18px;background:var(--cream);border:var(--border);border-radius:40px;padding:7px 13px;font-size:12px;font-weight:800}.card-info{min-height:164px;padding:24px 26px 26px;position:relative}.card-meta{font-size:11px;font-weight:800;letter-spacing:.13em}.card-info h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(26px,3vw,37px);letter-spacing:-.06em;line-height:1.1;margin:12px 30px 8px 0}.card-info p{font-size:15px;margin:0}.card-arrow{position:absolute;right:23px;bottom:27px;font-size:30px}.card-purple .card-info{background:#d6c6ff}.card-orange .card-info{background:#ffb985}.card-mint .card-info{background:#b9eed1}.card-pink .card-info{background:#ffb9d5}.demo-note{margin:28px 0 0;font-size:12px;color:#635966}.about-section{background:#e5dcfa;border-block:var(--border);display:grid;grid-template-columns:32% 68%;padding:94px 9% 96px 6%;align-items:center;gap:3%}.about-symbol{font-family:Georgia,serif;font-size:clamp(160px,25vw,350px);line-height:.8;color:#f97aad;text-shadow:8px 8px 0 var(--ink);transform:rotate(-14deg)}.about-section h2{font-size:clamp(44px,5.5vw,73px);margin-bottom:30px}.about-section h2 em{color:#ed65a7}.about-copy p{font-size:19px;line-height:1.65;max-width:640px;margin:0 0 15px}.tiny-heart{display:inline-block;font-weight:800;letter-spacing:.14em;font-size:12px;margin-top:18px;background:#ffdc62;border:var(--border);padding:12px 19px;transform:rotate(-3deg)}.contact-section{background:#ff9ecb;padding:87px 6% 82px}.contact-section h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(60px,9.5vw,137px);letter-spacing:-.09em;line-height:.95;margin:33px 0 35px}.contact-section h2 span{-webkit-text-stroke:2px var(--ink);color:transparent}.contact-section h2 i{font-family:Georgia,serif;font-weight:400;font-size:.78em}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.contact-bottom p{font-size:21px;line-height:1.5;max-width:510px;margin:0}.contact-button{display:flex;justify-content:space-between;align-items:center;min-width:245px;gap:30px;font-size:16px;font-weight:800;letter-spacing:.07em;background:var(--lime);border:var(--border);box-shadow:5px 5px 0 var(--ink);padding:22px 26px;transition:transform .2s}.contact-button:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.contact-button span{font-size:26px}footer{background:var(--ink);color:var(--cream);display:flex;justify-content:space-between;gap:20px;padding:28px 6%;font-size:11px;font-weight:800;letter-spacing:.1em}footer a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.hero{grid-template-columns:60% 40%;min-height:510px}.hero-content{padding-left:8%;padding-top:65px}.hero h1{font-size:clamp(85px,12vw,125px)}.eyebrow-end{display:none}.hero-bottom p{font-size:19px}.hero-art{width:120%;margin-left:-18%}.art-sticker{width:95px;height:95px;font-size:12px}.card-art{height:300px}}
@media(max-width:700px){.topbar{height:70px;padding:0 5%}.brand{font-size:27px}.brand-spark{font-size:27px}.nav{gap:18px;font-size:10px}.hero{display:flex;flex-direction:column;min-height:0}.hero-content{padding:54px 6% 10px}.hero h1{font-size:clamp(72px,17vw,130px);margin:38px 0 28px}.hero-bottom p{font-size:19px;max-width:300px}.round-link{width:52px;height:52px;font-size:27px}.hero-art{width:78%;max-width:420px;align-self:center;margin:0 0 25px;transform:rotate(6deg)}.art-sticker{width:83px;height:83px;font-size:11px}.orbit-note{display:none}.work-section{padding:65px 6%}.section-head{margin-bottom:32px}.section-head h2{font-size:clamp(42px,10vw,70px)}.section-aside{display:none}.project-grid{grid-template-columns:1fr;gap:23px}.card-art{height:auto;aspect-ratio:1.45}.card-info{min-height:145px}.about-section{display:block;padding:58px 7% 75px}.about-symbol{font-size:150px;float:right;margin:0 0 -30px 0}.about-section h2{font-size:clamp(45px,10vw,65px)}.about-copy p{font-size:17px}.contact-section{padding:68px 6%}.contact-section h2{font-size:clamp(51px,11vw,90px)}.contact-bottom{align-items:stretch;flex-direction:column}.contact-bottom p{font-size:17px}.contact-button{width:100%;max-width:340px}footer{flex-wrap:wrap;line-height:1.7}}
@media(max-width:390px){.nav{gap:12px}.brand{font-size:23px}.hero h1{font-size:16.4vw}.hero-bottom{gap:15px}.hero-bottom p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.card-art img,.project-card,.round-link,.contact-button{transition:none}}

/* Multipage portfolio additions */
.inner-hero{padding:76px 6% 65px;position:relative;border-bottom:2px solid #211d24;overflow:hidden;background:#e6d6ff}
.inner-hero.pink{background:#ffc3df}.inner-hero.orange{background:#ffbd91}.inner-hero.mint{background:#c5efd5}.inner-hero.lime{background:#ecffac}
.inner-hero .section-kicker{margin-bottom:25px}.inner-hero h1{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(64px,9.4vw,132px);line-height:.87;letter-spacing:-.085em;margin:0 0 31px;max-width:1000px}
.inner-hero h1 em{font-family:Georgia,serif;font-weight:400;color:#8e60d9}
.inner-hero p{font-size:21px;line-height:1.55;max-width:690px;margin:0}
.inner-sticker{position:absolute;right:6%;top:70px;display:grid;place-items:center;border:2px solid #211d24;background:#fff69a;padding:21px;font-size:13px;font-weight:900;text-align:center;transform:rotate(12deg);box-shadow:5px 6px #211d24}
.inner-content{padding:73px 6% 90px;background:#fffdf3}
.inner-intro{font-size:20px;line-height:1.65;max-width:820px;margin:0 0 46px}
.page-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.page-gallery .project-card{text-decoration:none;display:block}
.page-gallery .card-art{height:360px}
.detail-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:center;background:#e5dcfa;border:2px solid #211d24;box-shadow:7px 7px #211d24;padding:32px;margin-bottom:50px}
.detail-panel.alt{background:#c5efd5}
.detail-panel img{display:block;width:100%;max-height:460px;object-fit:cover;border:2px solid #211d24}
.detail-panel h2{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(38px,5vw,68px);line-height:1.03;letter-spacing:-.07em;margin:12px 0 17px}
.detail-panel p{font-size:18px;line-height:1.55}
.detail-tag{font-size:12px;letter-spacing:.15em;font-weight:900;text-transform:uppercase}
.inline-link{display:inline-block;background:#ecffac;border:2px solid #211d24;padding:13px 19px;font-weight:800;box-shadow:4px 4px #211d24;margin-top:15px}
.inline-link:hover{transform:translate(2px,2px);box-shadow:2px 2px #211d24}
.zine-note{padding:22px 27px;border:2px dashed #211d24;background:#fff2b9;font-size:15px;line-height:1.55;margin-top:30px;max-width:820px}
.category-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:34px}
.category-links a{padding:14px 19px;background:#ffb9d5;border:2px solid #211d24;font-size:13px;font-weight:900;box-shadow:4px 4px #211d24}
.bio-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:center}
.bio-grid p{font-size:20px;line-height:1.65}
.bio-mark{font-size:190px;line-height:1;text-align:center;color:#f57eaf;text-shadow:8px 8px #211d24;transform:rotate(-10deg)}
.contact-box{background:#ffc2dc;border:2px solid #211d24;box-shadow:8px 8px #211d24;padding:55px;max-width:880px}
.contact-box h2{font-size:clamp(42px,6vw,82px);line-height:1;letter-spacing:-.07em;margin:0 0 25px;font-family:'Space Grotesk',Arial,sans-serif}
.contact-box p{font-size:19px;line-height:1.6}.contact-box .contact-button{display:inline-flex;margin-top:18px}
.topbar .nav{gap:23px}.topbar .nav a[aria-current="page"]{border-color:#211d24}
@media(max-width:800px){.inner-sticker{position:static;display:inline-grid;transform:rotate(4deg);margin-top:34px}.inner-hero{padding:50px 6%}.page-gallery{grid-template-columns:1fr}.detail-panel,.bio-grid{grid-template-columns:1fr}.bio-mark{font-size:115px}.contact-box{padding:30px}.topbar{height:auto;min-height:80px;gap:14px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.topbar .nav{gap:15px;flex-wrap:wrap}}

/* WordPress integration — never lock document scrolling */
html,body,.site-shell,main{height:auto!important;max-height:none!important;overflow:visible!important}
.site-shell{overflow:clip!important}
.nav{flex-wrap:wrap;gap:clamp(9px,1.8vw,26px)}.nav a{font-size:12px}
.wp-block-image img{height:auto}.admin-bar .topbar{scroll-margin-top:32px}
.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.post-tile{display:block;overflow:hidden;min-width:0;border:2px solid #211d24;box-shadow:6px 6px 0 #211d24;background:#fffdf3;transition:transform .18s}
.post-tile:hover{transform:translate(3px,3px)}.post-media{height:300px;overflow:hidden;background:#e3d1f6;position:relative}
.post-media img{width:100%;height:100%;object-fit:cover}.post-content{padding:23px 24px 25px;background:#e0d2fa}
.post-tile:nth-child(4n+2) .post-content{background:#ffc09c}.post-tile:nth-child(4n+3) .post-content{background:#c0eccf}.post-tile:nth-child(4n+4) .post-content{background:#ffc0de}
.post-kicker{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.post-content h3{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(25px,3vw,37px);letter-spacing:-.05em;margin:10px 0}.post-content p{margin:0;line-height:1.5}
.rory-title-card{width:100%;height:100%;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:var(--card-bg,#d6c6ff);color:var(--card-ink,#211d24);padding:24px;border:0;isolation:isolate}
.rory-title-card::before{content:'✳';font-size:180px;line-height:1;position:absolute;right:-12px;top:0;color:var(--card-accent,#f77bb5);opacity:.33;z-index:-1;transform:rotate(-20deg)}
.rory-title-card::after{content:'';position:absolute;right:24px;bottom:52px;width:70px;height:70px;border:5px solid var(--card-ink,#211d24);transform:rotate(16deg);opacity:.26;z-index:-1}
.rory-title-card .rory-card-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.15em}
.rory-title-card .rory-card-title{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(28px,3.5vw,58px);line-height:1.02;letter-spacing:-.065em;font-weight:800;overflow-wrap:anywhere;max-width:95%}
.rory-title-card .rory-card-foot{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.rory-title-card.palette-lavender{--card-bg:#d5c2ff;--card-accent:#ff93c5}.rory-title-card.palette-pink{--card-bg:#ffb4d7;--card-accent:#ffed79}.rory-title-card.palette-lime{--card-bg:#edffaa;--card-accent:#9b80ec}.rory-title-card.palette-blue{--card-bg:#b4eaff;--card-accent:#f981bd}.rory-title-card.palette-peach{--card-bg:#ffc59b;--card-accent:#e6fbae}.rory-title-card.palette-mint{--card-bg:#b6f1d7;--card-accent:#9d8af1}.rory-title-card.palette-night{--card-bg:#302444;--card-ink:#fff9ee;--card-accent:#ff79b3}.rory-title-card.palette-pride{--card-bg:#ffe8f4;--card-accent:#5bccea;background:linear-gradient(135deg,#ffc0dd 0 29%,#eafcff 29% 52%,#bceaff 52% 72%,#edffaa 72%)}
.article-shell{padding:75px 6%;background:#fffdf3}.article-panel{max-width:960px;margin:0 auto;background:#fff;border:2px solid #211d24;padding:clamp(25px,5vw,66px);box-shadow:8px 8px 0 #211d24;min-width:0}
.article-panel h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(42px,7vw,82px);line-height:1;letter-spacing:-.07em;margin:12px 0 30px;overflow-wrap:anywhere}.entry-content{font-size:18px;line-height:1.75;overflow-wrap:anywhere}.entry-content img{max-width:100%;height:auto}.entry-content blockquote{border-left:6px solid #f78fc5;padding:10px 24px;margin-left:0;background:#f6edff}.entry-content pre{overflow:auto}.entry-content a{text-decoration:underline;text-decoration-color:#dc6dab}
.single-media{aspect-ratio:16/10;margin-bottom:38px;border:2px solid #211d24;overflow:hidden}.single-media img{width:100%;height:100%;object-fit:contain;background:#eee6ff}.single-media .rory-title-card{padding:36px}.single-media .rory-card-title{font-size:clamp(34px,6vw,78px)}
.post-nav,.pagination{margin-top:35px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.post-nav a,.pagination a{border:2px solid;padding:10px 16px;background:#edffaa;font-weight:700}.pagination .page-numbers{padding:10px}
.archive-intro{margin-bottom:40px}.archive-intro p{font-size:18px;max-width:700px}.empty-state{padding:40px;background:#eee5ff;border:2px dashed #211d24}
.home-quicklinks{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.home-quicklinks a{font-weight:800;background:#fff;border:2px solid;padding:12px 16px;box-shadow:3px 3px #211d24}
.hero-art img{width:100%;height:auto;display:block}.home-editor-panel{max-width:980px;margin:28px auto;padding:25px;background:#fffdf3}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.nav .menu{display:flex;gap:22px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
@media(max-width:700px){.post-grid{grid-template-columns:1fr}.post-media{height:275px}.article-shell{padding:46px 5%}.article-panel{box-shadow:5px 5px #211d24}.topbar{height:auto;min-height:75px;gap:10px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.nav{gap:14px}.hero-art{margin-bottom:32px}}
