/*
Theme Name: Odense Procesportfolio
Theme URI: https://example.com/
Author: Patrick Løber
Description: An original editorial portfolio theme for multimedia design coursework.
Version: 1.0.13
Text Domain: odense-procesportfolio
*/

:root{--ink:#263934;--blue:#3c5e73;--olive:#4d5931;--sage:#838c64;--brown:#735e53;--clay:#a68877;--paper:#f7f5ee;--cream:#eee9dc;--line:#c9c4b7;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%;display:block}button{font:inherit}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px}.skip-link:focus{clip:auto;height:auto;width:auto;z-index:100;background:#fff;padding:1rem}.wrap{width:min(calc(100% - 64px),var(--max));margin:auto}.site-header{position:relative;z-index:10;border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:3rem}.brand{display:inline-flex;flex-direction:column;text-decoration:none;text-transform:uppercase;line-height:1}.brand strong{font-family:Georgia,serif;font-size:1.5rem;letter-spacing:-.07em;font-weight:400}.brand span{margin-top:.55rem;font-size:.58rem;letter-spacing:.27em;color:var(--olive);font-weight:700}.site-nav{display:flex;gap:2.3rem;align-items:center}.site-nav a{text-decoration:none;font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.site-nav a:hover,.site-nav a:focus-visible{color:var(--brown)}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);padding:.6rem;text-transform:uppercase;letter-spacing:.1em}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--olive)}.hero{overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:660px}.hero-copy{padding:clamp(5rem,9vw,10rem) 4rem 5rem 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1,.section-title,.feature h2,.page-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.075em}.hero h1{font-size:clamp(5.2rem,12vw,12rem);line-height:.82;margin:1.7rem 0 2.2rem}.hero h1 em{display:block;color:var(--blue);font-weight:400}.hero-lead{max-width:530px;font-size:clamp(1.15rem,1.8vw,1.7rem);line-height:1.5;margin:0 0 2.6rem}.text-link{display:inline-flex;gap:1.4rem;align-items:center;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.6rem;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700}.text-link::after{content:'↗';font-size:1.1rem}.hero-art{background:var(--blue);position:relative;min-height:660px;overflow:hidden}.hero-art::before{content:'';position:absolute;inset:8% 11%;border:1px solid rgba(247,245,238,.4);border-radius:45% 45% 4% 4%;transform:rotate(-10deg)}.hero-art::after{content:'';position:absolute;width:70%;aspect-ratio:1;right:-18%;bottom:-23%;border:1px solid rgba(247,245,238,.5);border-radius:50%}.hero-art .shape-one{position:absolute;background:var(--sage);width:35%;height:75%;left:20%;bottom:-15%;transform:rotate(24deg);border-radius:50% 50% 0 0}.hero-art .shape-two{position:absolute;background:var(--clay);width:26%;height:43%;right:15%;top:15%;border-radius:50% 50% 5% 5%;transform:rotate(-19deg)}.hero-art .art-label{position:absolute;left:8%;bottom:8%;color:#fff;font-size:.65rem;text-transform:uppercase;letter-spacing:.23em}.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-strip .wrap{display:grid;grid-template-columns:1fr 2fr;gap:5rem;padding:2rem 0}.intro-strip p{margin:0;max-width:760px;font-family:Georgia,serif;font-size:clamp(1.25rem,2.1vw,2rem);line-height:1.45}.section{padding:clamp(5rem,9vw,10rem) 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:4rem}.section-title{font-size:clamp(3.7rem,8vw,8rem);line-height:.93;margin:.7rem 0 0}.section-description{max-width:520px;font-size:1.04rem;line-height:1.7;color:#4b5550}.feature-list{border-top:1px solid var(--line)}.feature{display:grid;grid-template-columns:100px 1fr 1.2fr 45px;align-items:center;gap:2rem;border-bottom:1px solid var(--line);padding:2.2rem 0;text-decoration:none;transition:padding .2s,background .2s}.feature:hover{padding-left:1rem;background:var(--cream)}.feature-number{font-size:.75rem;letter-spacing:.15em;color:var(--brown)}.feature h2{font-size:clamp(2.5rem,4.5vw,5rem);line-height:1;margin:0}.feature p{font-size:.96rem;line-height:1.6;max-width:490px;margin:0}.feature-arrow{font-size:1.8rem;color:var(--olive)}.method{background:var(--olive);color:var(--paper);padding:clamp(5rem,8vw,9rem) 0}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:8rem}.method .eyebrow{color:#d7d5b5}.method h2{font-family:Georgia,serif;font-size:clamp(3rem,6.4vw,6.3rem);line-height:.99;letter-spacing:-.07em;font-weight:400;margin:1rem 0}.method p{font-size:1.15rem;line-height:1.75;margin:0;max-width:600px}.method-index{border-top:1px solid rgba(255,255,255,.4);display:grid;grid-template-columns:65px 1fr;padding:1.2rem 0;font-size:.87rem}.site-footer{background:var(--ink);color:var(--paper);padding:4rem 0}.footer-inner{display:flex;justify-content:space-between;align-items:end;gap:2rem}.footer-inner strong{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,5rem);font-weight:400;letter-spacing:-.07em}.footer-inner p{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase}.article-hero{padding:8rem 0 5rem;border-bottom:1px solid var(--line)}.article-hero .page-title{font-size:clamp(4rem,11vw,11rem);line-height:.9;margin:1rem 0 2rem}.article-hero p{font-size:1.25rem;line-height:1.65;max-width:790px}.article-section{padding:6rem 0;border-bottom:1px solid var(--line)}.article-grid{display:grid;grid-template-columns:1fr 2fr;gap:6rem}.article-section h2{font-family:Georgia,serif;font-size:clamp(2.8rem,4vw,4.5rem);font-weight:400;letter-spacing:-.06em;line-height:1.05;margin:0}.article-body{font-size:1.08rem;line-height:1.8;max-width:760px}.article-body p:first-child{margin-top:0}.placeholder{border:1px solid var(--line);background:var(--cream);min-height:360px;display:grid;place-items:center;text-align:center;padding:2rem;color:var(--brown);font-size:.8rem;text-transform:uppercase;letter-spacing:.16em}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}.media-grid .placeholder{min-height:260px}.media-grid figure{margin:0}.media-grid img{aspect-ratio:3/4;object-fit:cover;width:100%}.media-grid figcaption{padding-top:.7rem;font-size:.75rem}.entry-content{max-width:800px;margin:5rem auto;font-size:1.08rem;line-height:1.8}.entry-content img{height:auto}.entry-content h2{font-family:Georgia,serif;font-size:2.6rem;font-weight:400}.archive-list{padding:5rem 0}.archive-list article{border-top:1px solid var(--line);padding:1.5rem 0}.archive-list h2{font-family:Georgia,serif;font-size:3rem;font-weight:400;margin:0}.archive-list a{text-decoration:none}
@media(max-width:900px){.wrap{width:min(calc(100% - 36px),var(--max))}.header-inner{min-height:70px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper);padding:1.5rem 18px 2rem;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:5rem 0 4rem}.hero h1{font-size:clamp(5rem,15vw,10rem)}.hero-art{min-height:400px}.intro-strip .wrap,.section-head,.method-grid,.article-grid{grid-template-columns:1fr;gap:1.7rem}.feature{grid-template-columns:55px 1fr 30px;gap:1rem}.feature p{grid-column:2;grid-row:2}.feature-arrow{grid-column:3;grid-row:1}.media-grid{grid-template-columns:1fr 1fr}.footer-inner{align-items:start;flex-direction:column}}
@media(max-width:560px){.hero h1{font-size:21vw}.hero-art{min-height:330px}.section{padding:5rem 0}.feature{grid-template-columns:35px 1fr 26px}.feature h2{font-size:2.6rem}.media-grid{grid-template-columns:1fr}.article-hero{padding:5rem 0 3rem}.article-section{padding:4rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Gutenberg content uses the same visual language as the original templates. */
.portfolio-block-page>.wp-block-group{max-width:none}.portfolio-block-page .wp-block-group.wrap{max-width:var(--max);margin-left:auto;margin-right:auto}.portfolio-block-page .hero-grid,.portfolio-block-page .section-head,.portfolio-block-page .method-grid,.portfolio-block-page .article-grid{display:grid}.portfolio-block-page .hero-art{background:radial-gradient(ellipse 28% 45% at 65% 38%,var(--clay) 0 98%,transparent 100%),radial-gradient(ellipse 29% 49% at 32% 84%,var(--sage) 0 98%,transparent 100%),var(--blue)}.portfolio-block-page .hero-art p{margin:0}.portfolio-block-page .hero-cta{margin:0}.portfolio-block-page .hero-cta .wp-block-button__link{display:inline-flex;align-items:center;gap:1.2rem;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:var(--ink);padding:0 0 .6rem;text-decoration:none;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.portfolio-block-page .hero-cta .wp-block-button__link::after{content:'↗';font-size:1.1rem}.portfolio-block-page .hero-title{font-family:Georgia,serif}.portfolio-block-page .eyebrow{margin:0}.portfolio-block-page .section-heading .section-title{margin-top:.7rem}.portfolio-block-page .feature-list{display:block}.portfolio-block-page .feature-bar{width:100%;display:block}.portfolio-block-page .feature-bar .wp-block-button__link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:2.2rem 1rem 2.2rem 0;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,3rem);letter-spacing:-.04em;line-height:1.25;transition:padding .2s,background .2s}.portfolio-block-page .feature-bar .wp-block-button__link::after{content:'↗';font-family:Arial,sans-serif;font-size:1.7rem;margin-left:1rem;color:var(--olive)}.portfolio-block-page .feature-bar .wp-block-button__link:hover,.portfolio-block-page .feature-bar .wp-block-button__link:focus-visible{padding-left:1rem;background:var(--cream)}.portfolio-block-page .portfolio-query{border-top:1px solid var(--line)}.portfolio-block-page .portfolio-post-list{display:block;list-style:none;padding:0;margin:0;counter-reset:portfolio}.portfolio-block-page .portfolio-post-list>li{display:grid;grid-template-columns:100px 1fr 45px;gap:2rem;align-items:center;border-bottom:1px solid var(--line);padding:1.6rem 0;counter-increment:portfolio}.portfolio-block-page .portfolio-post-list>li::before{content:counter(portfolio,decimal-leading-zero);font:700 .75rem Arial,sans-serif;letter-spacing:.15em;color:var(--brown)}.portfolio-block-page .portfolio-post-list>li::after{content:'↗';font-size:1.8rem;color:var(--olive)}.portfolio-block-page .portfolio-post-list h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.06em;margin:0}.portfolio-block-page .portfolio-post-list h3 a{text-decoration:none}.portfolio-block-page .portfolio-post-list h3 a:hover{text-decoration:underline}.portfolio-block-page .method-copy>p:first-child{font-size:1.15rem;line-height:1.75;max-width:600px}.portfolio-block-page .method-steps{border-top:1px solid rgba(255,255,255,.4);padding-top:1.4rem;margin-top:3rem;font-size:.9rem;letter-spacing:.05em}.portfolio-block-page .article-heading h2{margin-top:1rem}.portfolio-block-page .article-body .media-grid{max-width:none}.portfolio-block-page .placeholder p{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.16em}.portfolio-block-page .article-hero .wrap>.wp-block-paragraph:last-child{max-width:790px;font-size:1.25rem;line-height:1.65}
@media(max-width:900px){.portfolio-block-page .portfolio-post-list>li{grid-template-columns:55px 1fr 30px;gap:1rem}.portfolio-block-page .hero-grid,.portfolio-block-page .section-head,.portfolio-block-page .method-grid,.portfolio-block-page .article-grid{grid-template-columns:1fr}.portfolio-block-page .hero-art{min-height:400px}}
@media(max-width:560px){.portfolio-block-page .portfolio-post-list>li{grid-template-columns:35px 1fr 25px}.portfolio-block-page .hero-art{min-height:330px}.portfolio-block-page .feature-bar .wp-block-button__link{font-size:1.7rem}}

/* WordPress wraps Group block children in an inner container. */
.portfolio-block-page .hero-grid,.portfolio-block-page .section-head,.portfolio-block-page .method-grid,.portfolio-block-page .article-grid,.portfolio-block-page .media-grid,.portfolio-block-page .intro-strip .wrap{display:block}
.portfolio-block-page .hero-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:1.08fr .92fr;min-height:660px}
.portfolio-block-page .hero-copy>.wp-block-group__inner-container{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.portfolio-block-page .intro-strip .wrap>.wp-block-group__inner-container{display:grid;grid-template-columns:1fr 2fr;gap:5rem}
.portfolio-block-page .section-head>.wp-block-group__inner-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end}
.portfolio-block-page .method-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:1fr 1fr;gap:8rem}
.portfolio-block-page .article-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:1fr 2fr;gap:6rem}
.portfolio-block-page .media-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;align-items:start}
.portfolio-block-page .media-grid figure{align-self:start;min-width:0}
.portfolio-block-page .media-grid img{width:auto;max-width:100%;height:auto;max-height:340px;aspect-ratio:auto;object-fit:contain;object-position:center top}
.portfolio-block-page .media-grid figcaption{font-size:.9rem;line-height:1.5;color:var(--ink)}
.portfolio-block-page .article-body h3{font-family:Georgia,serif;font-size:clamp(1.8rem,2.6vw,2.6rem);font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:3.5rem 0 1rem}
.portfolio-block-page .article-body h3:first-child{margin-top:0}
.portfolio-block-page .exhibition-grid>.wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-block-page .two-image-grid>.wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-block-page .single-sign-image{max-width:360px;margin:2.5rem 0 0}
.portfolio-block-page .single-sign-image img{width:100%;height:auto}
.portfolio-block-page .single-sign-image figcaption{font-size:.9rem;line-height:1.5;color:var(--ink);margin-top:.65rem}
.portfolio-block-page .reflection-focus-image{margin:1.5rem 0 2rem}
.portfolio-block-page .reflection-focus-image img{width:100%;height:auto;max-height:560px;object-fit:contain;object-position:left center}
.portfolio-block-page .reflection-focus-image figcaption{font-size:.9rem;line-height:1.5;color:var(--ink);margin-top:.65rem}
.portfolio-block-page .hero-cta .text-link{border:0;padding:0}
.portfolio-block-page .hero-cta .text-link::after{content:none}
@media(max-width:900px){.portfolio-block-page .hero-grid>.wp-block-group__inner-container,.portfolio-block-page .intro-strip .wrap>.wp-block-group__inner-container,.portfolio-block-page .section-head>.wp-block-group__inner-container,.portfolio-block-page .method-grid>.wp-block-group__inner-container,.portfolio-block-page .article-grid>.wp-block-group__inner-container{grid-template-columns:1fr}.portfolio-block-page .media-grid>.wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.portfolio-block-page .media-grid>.wp-block-group__inner-container{grid-template-columns:1fr}}
@media(max-width:560px){.portfolio-block-page .exhibition-grid>.wp-block-group__inner-container{grid-template-columns:1fr}}
@media(max-width:560px){.portfolio-block-page .two-image-grid>.wp-block-group__inner-container{grid-template-columns:1fr}}

.nav-dropdown{position:relative}
.nav-dropdown summary{display:flex;align-items:center;gap:.55rem;list-style:none;cursor:pointer;font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary::after{content:'⌄';font-size:1rem;line-height:.7;transition:transform .2s}
.nav-dropdown[open] summary::after{transform:rotate(180deg)}
.nav-dropdown summary:hover,.nav-dropdown summary:focus-visible{color:var(--brown)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 1rem);left:-1rem;z-index:20;min-width:11rem;padding:.55rem;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 30px rgba(28,38,35,.12)}
.nav-dropdown-menu a{display:block;padding:.8rem .7rem;white-space:nowrap}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible{background:var(--cream)}
@media(max-width:900px){.nav-dropdown{width:100%}.nav-dropdown-menu{position:static;min-width:0;margin:.7rem 0 0 .25rem;padding:.15rem 0 .15rem 1rem;border:0;border-left:1px solid var(--line);box-shadow:none}.nav-dropdown-menu a{padding:.65rem 0}}

.portfolio-block-page .hero-art.hero-portrait{background:var(--sage)}
.portfolio-block-page .hero-art.hero-portrait::before,.portfolio-block-page .hero-art.hero-portrait::after{content:none}
.portfolio-block-page .hero-portrait>.wp-block-group__inner-container{height:100%}
.portfolio-block-page .hero-portrait figure{width:100%;height:100%;margin:0}
.portfolio-block-page .hero-portrait img{width:100%;height:660px;object-fit:cover;object-position:center 38%}
@media(max-width:900px){.portfolio-block-page .hero-art.hero-portrait{min-height:0}.portfolio-block-page .hero-portrait img{height:clamp(380px,70vw,560px)}}

/* Show the entire image in WordPress lightboxes, regardless of thumbnail crop. */
.wp-lightbox-overlay .lightbox-image-container{width:min(92vw,1200px)!important;height:min(88vh,800px)!important}
.wp-lightbox-overlay .lightbox-image-container figure,.wp-lightbox-overlay .lightbox-image-container img{width:100%!important;height:100%!important}
.wp-lightbox-overlay .lightbox-image-container img{object-fit:contain!important}
