/*
Theme Name: Cori Portfolio
Theme URI: https://example.com/cori-portfolio
Author: OpenAI
Description: Editorial portfolio theme based on the supplied Claude design export, with editable Projects and dynamic case-study templates.
Version: 1.1.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: cori-portfolio
*/
:root{--paper:#F7F4ED;--green:#153B1D;--green-2:#236130;--pink:#DF3890;--lime:#8DB510;--sage:#E9EFEA;--line:rgba(21,59,29,.22);--font:Geist,"Helvetica Neue",Arial,sans-serif;--page:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--green);font-family:var(--font);-webkit-font-smoothing:antialiased}body,button,input,textarea,select{font-family:var(--font)}a{color:var(--green-2);text-decoration:none}a:hover{color:var(--pink)}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}.site-shell{max-width:var(--page);margin:0 auto;overflow:hidden;background:var(--paper)}.site-header{min-height:80px;padding:24px clamp(20px,4.5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;color:var(--green);font-size:25px;font-weight:700;letter-spacing:-1.8px;line-height:1}.brand-mark{color:var(--pink);font-size:29px;margin-left:2px}.header-note{font-size:11px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;color:var(--green-2)}.main-nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);font-size:15px}.main-nav a{color:var(--green)}.main-nav a:hover{color:var(--pink)}.rule{height:1px;background:var(--line);margin:0 clamp(20px,4.5vw,64px)}.home-hero{padding:clamp(38px,6vw,86px) clamp(20px,4.5vw,64px) clamp(58px,8vw,112px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(32px,6vw,88px);align-items:end}.eyebrow,.case-kicker{font-size:10px;line-height:1.4;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--green-2)}.home-hero h1{font-size:clamp(56px,9vw,130px);font-weight:400;letter-spacing:-.085em;line-height:.88;margin:24px 0 30px;max-width:900px}.home-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--pink)}.hero-copy{font-size:clamp(17px,1.7vw,22px);line-height:1.5;max-width:420px;color:var(--green-2)}.hero-side{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:20px}.hero-side p{margin:0;font-size:15px;line-height:1.5}.hero-side .availability{font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.section-head{padding:32px clamp(20px,4.5vw,64px);display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-bottom:1px solid var(--line)}.section-head h2{margin:0;font-size:clamp(32px,5vw,64px);font-weight:400;letter-spacing:-.06em;line-height:1}.section-head p{margin:0;font-size:12px;letter-spacing:1px;text-transform:uppercase}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.project-card{min-width:0;padding:clamp(20px,3.5vw,48px);border-bottom:1px solid var(--line)}.project-card:nth-child(odd){border-right:1px solid var(--line)}.project-visual{position:relative;display:block;aspect-ratio:1.28/1;overflow:hidden;background:#E5E7DE;color:var(--green);isolation:isolate}.project-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#E9EFEA,#DCE3D6);z-index:-2}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-visual img{transform:scale(1.035)}.project-visual .visual-label{position:absolute;left:20px;bottom:18px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase}.project-card-top{display:flex;justify-content:space-between;gap:16px;margin:22px 0 10px;font-size:10px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase}.project-card h3{font-size:clamp(30px,4vw,52px);font-weight:400;letter-spacing:-.06em;line-height:1;margin:0 0 12px}.project-card .dek{font-size:16px;line-height:1.5;max-width:620px;color:var(--green-2);margin:0}.card-link{display:inline-flex;margin-top:20px;align-items:center;gap:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.card-link span{font-size:20px;transition:transform .2s}.card-link:hover span{transform:translate(4px,-2px)}.about-band{padding:clamp(56px,8vw,112px) clamp(20px,4.5vw,64px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,7vw,100px)}.about-band h2{font-size:clamp(38px,6vw,76px);font-weight:400;line-height:.96;letter-spacing:-.07em;margin:0}.about-band p{font-size:clamp(17px,1.8vw,23px);line-height:1.5;color:var(--green-2);margin:0 0 20px}.skills-list{border-top:1px solid var(--line);margin-top:30px}.skill-row{padding:15px 0;display:grid;grid-template-columns:44px 1fr auto;gap:14px;border-bottom:1px solid var(--line);align-items:start}.skill-number{font-size:12px;padding-top:4px}.skill-row strong{font-size:20px;font-weight:500}.skill-row small{font-size:9px;letter-spacing:1px;padding:5px 7px;background:var(--lime);color:var(--green);text-transform:uppercase}.contact-band{padding:clamp(48px,7vw,96px) clamp(20px,4.5vw,64px);background:var(--green);color:var(--paper)}.contact-band .eyebrow{color:#D2E0B0}.contact-band h2{font-size:clamp(42px,8vw,100px);line-height:.9;letter-spacing:-.075em;font-weight:400;margin:22px 0 30px;max-width:1000px}.contact-band a{color:var(--paper);border-bottom:1px solid var(--pink);padding-bottom:4px}.site-footer{padding:26px clamp(20px,4.5vw,64px);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--green-2)}.case-hero{position:relative;min-height:clamp(300px,44vw,634px);display:flex;align-items:flex-end;padding:clamp(24px,4.5vw,64px);background:#E6E6E1 center/cover no-repeat;color:var(--paper)}.case-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(21,59,29,.72),rgba(21,59,29,0) 72%)}.case-hero>*{position:relative}.case-hero-inner{max-width:950px}.case-hero .eyebrow{color:#E2F0B9}.case-hero h1{font-size:clamp(48px,8vw,112px);font-weight:400;letter-spacing:-.075em;line-height:.9;margin:18px 0}.case-hero .dek{font-size:clamp(17px,2vw,24px);line-height:1.45;max-width:850px;margin:0}.case-main{padding:clamp(32px,5vw,72px) clamp(20px,4.5vw,64px) 0}.case-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;border-bottom:1px solid var(--line);padding:0 0 28px;margin:0 0 50px}.case-meta dt{font-size:9px;font-weight:700;letter-spacing:1.2px;color:var(--green-2);text-transform:uppercase;margin-bottom:8px}.case-meta dd{margin:0;font-size:16px}.case-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(36px,8vw,120px)}.case-aside{position:sticky;top:28px;align-self:start}.case-aside h2{font-size:12px;text-transform:uppercase;letter-spacing:1.3px;margin:0 0 18px}.result-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.result-list li{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45}.case-content{font-size:17px;line-height:1.7;color:#294D30;min-width:0}.case-content>*:first-child{margin-top:0}.case-content h2{font-size:clamp(32px,4vw,52px);line-height:1.02;font-weight:400;letter-spacing:-.055em;color:var(--green);margin:56px 0 18px}.case-content h3{font-size:24px;font-weight:500;letter-spacing:-.03em;color:var(--green)}.case-content p{margin:0 0 22px}.case-content .project-intro{font-size:clamp(21px,2.6vw,32px);line-height:1.4;letter-spacing:-.025em;color:var(--green)}.case-content .case-section{padding:34px 0 12px;border-top:1px solid var(--line);margin-top:48px}.case-content .case-kicker{margin-bottom:18px}.case-content .image-note{font-size:12px;border-left:3px solid var(--lime);padding:12px 16px;background:#EEF0E5}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin:40px 0 70px}.project-tags span{font-size:10px;letter-spacing:.8px;text-transform:uppercase;padding:8px 10px;border:1px solid var(--line)}.project-pagination{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-pagination a{padding:28px clamp(20px,4.5vw,64px);display:flex;flex-direction:column;gap:8px}.project-pagination a+ a{border-left:1px solid var(--line);text-align:right;align-items:flex-end}.project-pagination small{font-size:10px;letter-spacing:1.2px;text-transform:uppercase}.project-pagination strong{font-size:clamp(23px,3vw,40px);font-weight:400;letter-spacing:-.05em}.editor-content{max-width:var(--page);margin:auto}.editor-content>*{max-width:900px;margin-left:auto;margin-right:auto}.editor-content .alignwide{max-width:1200px}.editor-content .alignfull{max-width:none}.wp-block-image img{height:auto}.wp-block-button__link{background:var(--green);color:var(--paper);border-radius:0}.screen-reader-text{position:absolute;left:-9999px}@media(max-width:760px){.site-header{min-height:64px;padding-top:20px;padding-bottom:16px;flex-wrap:wrap}.header-note{display:none}.main-nav{gap:15px;font-size:13px}.home-hero{grid-template-columns:1fr;gap:30px;padding-top:36px}.home-hero h1{font-size:clamp(54px,15vw,88px);letter-spacing:-.075em}.hero-side{max-width:560px}.section-head{align-items:flex-start;flex-direction:column;gap:10px;min-height:125px;justify-content:center}.project-grid{grid-template-columns:1fr}.project-card:nth-child(odd){border-right:0}.project-card{padding:22px 20px 34px}.project-visual{aspect-ratio:1.1/1}.about-band{grid-template-columns:1fr;gap:30px}.site-footer{flex-direction:column}.case-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.case-layout{grid-template-columns:1fr;gap:42px}.case-aside{position:static}.case-hero{min-height:440px;padding:24px 20px}.case-hero h1{font-size:58px}.case-main{padding:30px 20px 0}.project-pagination a{padding:22px 20px}.project-pagination strong{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Editable Gutenberg homepage: preserve the original layout while allowing native block editing. */
.cori-editable-home .wp-block-group { max-width: none; }
.cori-editable-home > .wp-block-group { margin-block: 0; }
.cori-editable-home .home-hero { padding: clamp(38px,6vw,86px) clamp(20px,4.5vw,64px) clamp(58px,8vw,112px); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:clamp(32px,6vw,88px); align-items:end; }
.cori-editable-home .home-hero > .wp-block-group { min-width:0; }
.cori-editable-home .home-hero h1 { font-size:clamp(56px,9vw,130px); font-weight:400; letter-spacing:-.085em; line-height:.88; margin:24px 0 30px; max-width:900px; }
.cori-editable-home .home-hero h1 em,.cori-editable-home .about-band h2 em,.cori-editable-home .contact-band h2 em { font-family:Georgia,serif; font-weight:400; color:var(--pink); }
.cori-editable-home .hero-copy { font-size:clamp(17px,1.7vw,22px); line-height:1.5; max-width:420px; color:var(--green-2); }
.cori-editable-home .hero-side { border-top:1px solid var(--line); padding-top:18px; display:flex; flex-direction:column; gap:20px; }
.cori-editable-home .hero-side p { margin:0; font-size:15px; line-height:1.5; }
.cori-editable-home .hero-side .availability { font-size:10px; letter-spacing:1.4px; text-transform:uppercase; }
.cori-editable-home .work-section { margin:0; }
.cori-editable-home .section-head { padding:32px clamp(20px,4.5vw,64px); display:flex; justify-content:space-between; align-items:baseline; gap:24px; border-bottom:1px solid var(--line); }
.cori-editable-home .section-head h2 { margin:0; font-size:clamp(32px,5vw,64px); font-weight:400; letter-spacing:-.06em; line-height:1; }
.cori-editable-home .section-head p { margin:0; font-size:12px; letter-spacing:1px; text-transform:uppercase; }
.cori-editable-home .wp-block-shortcode { margin:0; }
.cori-editable-home .about-band { padding:clamp(56px,8vw,112px) clamp(20px,4.5vw,64px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px,7vw,100px); }
.cori-editable-home .about-band h2 { font-size:clamp(38px,6vw,76px); font-weight:400; line-height:.96; letter-spacing:-.07em; margin:0; }
.cori-editable-home .about-band p { font-size:clamp(17px,1.8vw,23px); line-height:1.5; color:var(--green-2); margin:0 0 20px; }
.cori-editable-home .contact-band { padding:clamp(48px,7vw,96px) clamp(20px,4.5vw,64px); background:var(--green); color:var(--paper); }
.cori-editable-home .contact-band h2 { font-size:clamp(42px,8vw,100px); line-height:.9; letter-spacing:-.075em; font-weight:400; margin:22px 0 30px; max-width:1000px; }
.cori-editable-home .contact-band .eyebrow { color:#D2E0B0; }
.cori-editable-home .contact-band a { color:var(--paper); border-bottom:1px solid var(--pink); padding-bottom:4px; }
.cori-editable-home .wp-block-html { margin:0; }
@media(max-width:760px){.cori-editable-home .home-hero{grid-template-columns:1fr;gap:30px;padding-top:36px}.cori-editable-home .home-hero h1{font-size:clamp(54px,15vw,88px);letter-spacing:-.075em}.cori-editable-home .section-head{align-items:flex-start;flex-direction:column;gap:10px;min-height:125px;justify-content:center}.cori-editable-home .about-band{grid-template-columns:1fr;gap:30px}}
