/* Bruno Pavani Dark Portfolio — design system */
:root{--bg:#0c0e10;--surface:#191d1f;--surface-2:#141819;--line:#2c3133;--text:#f5f6f4;--muted:#a8b0ac;--soft:#7a8581;--green:#8dea79;--content:1170px;--font:Inter,"Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{background:var(--bg);color:var(--text);margin:0;font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}
body.admin-bar .bp-site-header{top:32px}
a{color:inherit;text-decoration:none}a:hover{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:4px}
button,input,textarea{font:inherit}img{max-width:100%;height:auto}::selection{background:var(--green);color:#0c0e10}p{overflow-wrap:break-word}
.bp-wrap{width:min(calc(100% - 72px),var(--content));margin-inline:auto}.bp-green{color:var(--green)}
.bp-skip{position:absolute;top:-80px;left:20px;background:var(--green);color:#111;padding:12px;z-index:100}.bp-skip:focus{top:12px;color:#111}
.bp-site-header{border-bottom:1px solid var(--line);background:rgba(12,14,16,.94);position:relative;z-index:15}.bp-nav{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.bp-brand{font-size:19px;letter-spacing:-.063em;font-weight:800;white-space:nowrap}.bp-brand span{color:var(--green)}.bp-navlinks{display:flex;align-items:center;gap:34px;color:#c2c8c4;font-size:13px}.bp-navlinks a{transition:color .2s}.bp-navlinks a:hover{color:var(--green)}.bp-navlinks .bp-nav-contact{border:1px solid #435047;padding:12px 17px;border-radius:999px;white-space:nowrap;color:var(--text)}.bp-navlinks .bp-nav-contact:hover{border-color:var(--green);color:var(--green)}.bp-menu-toggle{display:none}
.bp-eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;line-height:1.5}
.bp-hero{padding:128px 0 112px;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:65px;align-items:end}.bp-hero h1{font-size:clamp(57px,7.8vw,112px);max-width:1020px;letter-spacing:-.084em;font-weight:600;line-height:.99;margin:26px 0 34px}.bp-hero h1 em,.bp-contact h2 em{color:var(--green);font-style:normal}.bp-lead{max-width:620px;font-size:clamp(17px,1.9vw,21px);line-height:1.6;color:#c3cac5;margin:0}.bp-cta{display:inline-flex;align-items:center;gap:18px;background:var(--green);color:#0b100c!important;padding:15px 20px;font-size:13px;font-weight:700;border-radius:4px;margin-top:33px;transition:background .2s,transform .2s}.bp-cta:hover{background:#aff69f;transform:translateY(-2px)}.bp-hero-aside{border-left:1px solid var(--line);display:flex;flex-direction:column;gap:16px;padding:4px 0 4px 24px;color:#838d87;font-size:10px;letter-spacing:.19em;line-height:1.8}.bp-hero-aside span::before{content:"/ ";color:var(--green)}.bp-rule{height:1px;background:var(--line)}
.bp-section{padding:80px 0 122px}.bp-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:46px}.bp-section-head h2{font-weight:600;font-size:clamp(40px,5vw,66px);letter-spacing:-.07em;line-height:1.04;margin:0}.bp-section-caption{font-size:13px;color:var(--soft)}
.bp-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 25px}.bp-project{min-width:0}.bp-project-image{height:355px;position:relative;display:flex;overflow:hidden;align-items:center;justify-content:center;border-radius:6px;border:1px solid #303538;background:#17231b;transition:border-color .25s}.bp-project:nth-child(4n+2) .bp-project-image{background:#182424}.bp-project:nth-child(4n+3) .bp-project-image{background:#28251d}.bp-project:nth-child(4n+4) .bp-project-image{background:#1b2429}.bp-project-image:hover{border-color:#718a73}.bp-project-thumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.bp-project-image:hover .bp-project-thumb{transform:scale(1.035)}.bp-project-arrow{position:absolute;right:20px;top:18px;font-size:22px;opacity:0;transform:translate(-6px,6px);color:var(--green);transition:opacity .25s,transform .25s;text-shadow:0 2px 9px #000}.bp-project-image:hover .bp-project-arrow,.bp-project-image:focus-visible .bp-project-arrow{opacity:1;transform:none}.bp-project-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 18% 9%,#31503a 0,transparent 54%),linear-gradient(135deg,transparent,#101514)}.bp-project:nth-child(4n+2) .bp-project-fallback{background:radial-gradient(ellipse at 95% 5%,#30433f 0,transparent 58%),linear-gradient(135deg,transparent,#111618)}.bp-project:nth-child(4n+3) .bp-project-fallback{background:radial-gradient(ellipse at 90% 60%,#43392a 0,transparent 58%),linear-gradient(135deg,transparent,#151716)}.bp-project:nth-child(4n+4) .bp-project-fallback{background:radial-gradient(ellipse at 15% 5%,#293c45 0,transparent 60%),linear-gradient(135deg,transparent,#111618)}.bp-project-mockup{width:75%;height:66%;border:1px solid #46534b;background:#101716;box-shadow:0 25px 68px #0009;border-radius:6px;transform:rotate(-3deg) translateY(18px);padding:20px 25px;display:flex;flex-direction:column;gap:14px}.bp-project:nth-child(even) .bp-project-mockup{transform:rotate(3deg) translateY(19px)}.bp-mockup-nav{display:block;flex:none;height:8px;width:75px;background:var(--green);border-radius:2px}.bp-mockup-heading{display:block;width:42%;height:11px;background:#a5aca6;border-radius:2px}.bp-mockup-line{display:block;width:85%;height:5px;border-radius:3px;background:#506056}.bp-mockup-line.short{width:54%}.bp-mockup-boxes{display:flex;gap:9px;min-height:53px}.bp-mockup-boxes i{flex:1;border-radius:4px;background:#27382e;border:1px solid #415745}
.bp-project-meta{display:flex;align-items:baseline;gap:11px;margin:20px 0 8px;color:var(--muted);font-size:12px}.bp-project-index{color:var(--green)}.bp-project-title{font-size:clamp(22px,2.5vw,32px);font-weight:600;letter-spacing:-.04em;line-height:1.18;margin:10px 0 11px}.bp-project-title a{transition:color .2s}.bp-project-desc{max-width:510px;color:var(--muted);font-size:14px;line-height:1.72;margin:0}.bp-project-metric{font-size:13px;color:var(--green);margin-top:14px}.bp-project-link{display:inline-flex;gap:6px;border-top:1px solid #4e5a51;color:var(--green);font-size:12px;padding-top:12px;margin-top:19px;transition:border-color .2s}.bp-project-link:hover{border-color:var(--green)}
.bp-empty-work{border:1px dashed #485a4b;padding:35px;background:#131815;border-radius:7px;max-width:740px}.bp-empty-work h3{font-size:24px;margin:0 0 10px}.bp-empty-work p,.bp-empty-public{font-size:15px;color:var(--muted);line-height:1.7}.bp-empty-work a,.bp-empty-public a{color:var(--green)}
.bp-about{display:grid;grid-template-columns:.9fr 1.15fr;gap:110px;padding:110px 0}.bp-about h2{font-size:clamp(41px,5.5vw,70px);font-weight:600;letter-spacing:-.07em;line-height:1.04;margin:14px 0}.bp-about-content p{font-size:18px;line-height:1.73;color:#bcc6bd;margin:0 0 19px}.bp-focus{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.bp-focus span{font-size:12px;color:#c3cdc5;border:1px solid #37453c;border-radius:30px;padding:8px 12px}
.bp-creative{padding:48px 0;display:grid;grid-template-columns:1.1fr 1fr auto;gap:25px;align-items:center;border-top:1px solid var(--line)}.bp-creative h2{font-size:23px;letter-spacing:-.04em;font-weight:600;margin:11px 0 0;line-height:1.3}.bp-creative p{max-width:530px;color:var(--muted);font-size:14px;line-height:1.7;margin:0}.bp-inline-link{font-size:12px;white-space:nowrap;color:var(--green)}
.bp-contact{padding:110px 0 108px;border-top:1px solid var(--line)}.bp-contact h2{font-size:clamp(43px,5.7vw,74px);font-weight:600;letter-spacing:-.072em;line-height:1.04;margin:15px 0 27px;max-width:850px}.bp-contact p{color:var(--muted);font-size:16px}.bp-mail{display:inline-flex;gap:8px;color:var(--green);font-size:clamp(18px,2.6vw,29px);border-bottom:1px solid var(--green);padding-bottom:10px;margin-top:24px;word-break:break-word}.bp-footer{border-top:1px solid var(--line);padding:29px 0 45px;font-size:12px;color:var(--soft)}.bp-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}.bp-footer-links{display:flex;gap:30px}.bp-footer-links a{color:#c3ccc5}.bp-footer-links a:hover{color:var(--green)}
/* Case study and general Page templates */
.bp-case{padding:76px 0 110px}.bp-back{font-size:13px;display:inline-flex;gap:8px;color:var(--muted);padding:9px 0}.bp-back:hover{color:var(--green)}.bp-case-header{margin-bottom:52px}.bp-case-header>.bp-eyebrow{margin-top:70px}.bp-case h1,.bp-standard-header h1{font-size:clamp(48px,7.5vw,103px);font-weight:600;letter-spacing:-.076em;line-height:1.04;margin:20px 0 25px;max-width:1050px}.bp-case-summary{font-size:clamp(17px,2vw,22px);line-height:1.62;max-width:850px;color:#c4cbc5}.bp-case-facts{display:flex;flex-wrap:wrap;gap:25px 70px;border-top:1px solid var(--line);margin-top:47px;padding-top:25px}.bp-case-facts div{display:flex;flex-direction:column;gap:8px}.bp-case-facts span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}.bp-case-facts strong{font-size:14px;font-weight:500}.bp-case-impact{font-size:14px;color:var(--green);border-left:2px solid var(--green);padding:6px 16px;margin-top:28px}.bp-case-cover{margin:0 0 60px;background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden}.bp-case-cover img{width:100%;height:auto;display:block}.bp-case-body{max-width:850px;margin:0 auto}.bp-case-bottom{border-top:1px solid var(--line);padding-top:28px;margin-top:95px}.bp-standard-page{padding:90px 0 120px}.bp-standard-header{margin-bottom:55px}.bp-prose{color:#c4cbc6;font-size:17px;line-height:1.78;overflow-wrap:break-word}.bp-prose h1,.bp-prose h2,.bp-prose h3,.bp-prose h4,.bp-prose h5{color:var(--text);font-weight:600;letter-spacing:-.04em;line-height:1.2;scroll-margin-top:40px}.bp-prose h2{font-size:clamp(30px,4.1vw,50px);margin:70px 0 24px}.bp-prose h3{font-size:clamp(25px,3vw,33px);margin:45px 0 18px}.bp-prose h4{font-size:21px;margin-top:30px}.bp-prose p{margin:0 0 25px}.bp-prose a{text-decoration:underline;text-decoration-color:#56795b;text-underline-offset:4px}.bp-prose a:hover{color:var(--green)}.bp-prose ul,.bp-prose ol{padding-left:25px;margin:0 0 28px}.bp-prose li{margin:7px 0}.bp-prose figure{margin:38px 0 48px}.bp-prose img{max-width:100%;height:auto;border-radius:4px}.bp-prose figcaption{font-size:12px;line-height:1.55;color:var(--soft);margin-top:12px}.bp-prose blockquote{border-left:2px solid var(--green);padding:8px 0 8px 23px;margin:35px 0;color:var(--text)}.bp-prose .wp-block-quote p{font-size:clamp(20px,2.5vw,27px);line-height:1.55}.bp-prose hr,.bp-prose .wp-block-separator{border:0;border-top:1px solid var(--line);margin:45px 0}.bp-prose .wp-block-columns{gap:30px}.bp-prose .wp-block-image.alignwide,.bp-prose .alignwide{max-width:calc(min(1170px,100vw - 72px));width:min(1170px,calc(100vw - 72px));position:relative;left:50%;transform:translateX(-50%)}.bp-prose .alignfull{width:100vw;max-width:100vw;position:relative;left:50%;transform:translateX(-50%)}.bp-prose table{border-collapse:collapse;max-width:100%;font-size:14px;display:block;overflow-x:auto}.bp-prose th,.bp-prose td{border:1px solid var(--line);padding:12px}.bp-prose th{background:#19201b;color:var(--text)}.bp-prose pre{background:#181e1b;color:#d9e5da;padding:20px;overflow:auto;font-size:14px}.bp-prose code{font-family:ui-monospace,Consolas,monospace}.bp-prose .wp-block-button__link{background:var(--green);color:#0b100c;border-radius:4px;font-size:14px;font-weight:600}.bp-prose .wp-block-button__link:hover{background:#aff69f}.bp-prose .wp-block-cover{border-radius:6px;overflow:hidden}.bp-prose .wp-block-group.has-background{padding:30px}.bp-prose .wp-block-embed{margin:40px 0}.bp-prose .wp-block-gallery img{border-radius:4px}.bp-prose .wp-block-details{border-bottom:1px solid var(--line);padding:15px 0}
.bp-index{padding:95px 0 130px}.bp-index>h1,.bp-notfound h1{font-size:clamp(48px,7vw,88px);letter-spacing:-.07em;font-weight:600;line-height:1.05;margin:17px 0 55px}.bp-post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 60px}.bp-post-item{border-top:1px solid var(--line);padding-top:22px}.bp-post-item>span{color:var(--green);font-size:12px}.bp-post-item h2{font-size:27px;line-height:1.3;letter-spacing:-.04em}.bp-post-item p{color:var(--muted);font-size:14px;line-height:1.7}.navigation.pagination{margin-top:60px}.page-numbers{padding:8px;color:var(--muted)}.page-numbers.current{color:var(--green)}.bp-notfound{padding:130px 0 160px}.bp-notfound p{font-size:18px;color:var(--muted);max-width:650px}
/* Gutenberg-specific content, images and accessibility */
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;white-space:nowrap}.screen-reader-text:focus{clip:auto;clip-path:none;width:auto;height:auto;left:12px;top:12px;background:var(--green);color:#111;z-index:99;padding:12px}.wp-caption{max-width:100%}.wp-caption-text{color:var(--soft)}.sticky{position:static}.gallery-caption{color:var(--soft)}.bypostauthor{display:block}
@media(max-width:1000px){.bp-hero{grid-template-columns:1fr;padding:104px 0 94px}.bp-hero-aside{display:none}.bp-about{gap:55px}.bp-project-image{height:300px}.bp-creative{grid-template-columns:1fr 1fr}.bp-creative .bp-inline-link{grid-column:2}}
@media(max-width:700px){.bp-wrap{width:min(calc(100% - 36px),var(--content))}.bp-nav{min-height:73px}.bp-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:42px;border:1px solid #415145;border-radius:5px;background:transparent;cursor:pointer}.bp-menu-toggle span{width:18px;height:2px;background:#eef3ee;display:block}.bp-navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#131819;border-bottom:1px solid var(--line);padding:20px 18px 28px;flex-direction:column;align-items:stretch;gap:2px}.bp-navlinks.bp-nav-open{display:flex}.bp-navlinks a{padding:13px 6px;font-size:15px}.bp-navlinks .bp-nav-contact{margin-top:10px;text-align:center}.bp-hero{padding:78px 0 74px}.bp-hero h1{font-size:clamp(52px,12vw,77px);margin:20px 0 28px}.bp-lead{font-size:17px}.bp-section{padding:66px 0 86px}.bp-section-head{margin-bottom:34px;align-items:flex-start}.bp-section-caption{font-size:11px;text-align:right;padding-top:10px}.bp-projects{grid-template-columns:1fr;gap:46px}.bp-project-image{height:min(72vw,420px)}.bp-project-title{font-size:28px}.bp-about{grid-template-columns:1fr;gap:20px;padding:83px 0}.bp-about-content p{font-size:16px}.bp-creative{grid-template-columns:1fr;gap:20px}.bp-creative .bp-inline-link{grid-column:1}.bp-contact{padding:90px 0}.bp-footer-inner{flex-direction:column;align-items:flex-start}.bp-case{padding:38px 0 70px}.bp-case-header>.bp-eyebrow{margin-top:50px}.bp-case h1,.bp-standard-header h1{font-size:clamp(45px,10vw,68px)}.bp-case-cover{margin-bottom:35px}.bp-case-facts{gap:25px 30px}.bp-standard-page{padding:64px 0 86px}.bp-prose{font-size:16px}.bp-prose .alignwide{max-width:calc(100vw - 36px);width:calc(100vw - 36px)}.bp-post-list{grid-template-columns:1fr}.bp-index{padding:76px 0 90px}}
@media(max-width:420px){.bp-hero h1{font-size:51px}.bp-section-head{display:block}.bp-section-caption{display:block;text-align:left;margin-top:13px;padding:0}.bp-project-image{height:260px}.bp-project-mockup{width:83%;height:66%;padding:14px;gap:10px}.bp-mail{font-size:17px}.bp-contact h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bp-cta,.bp-project-thumb,.bp-project-arrow,.bp-project-image{transition:none}.bp-cta:hover{transform:none}}
@media print{body{background:#fff;color:#000}.bp-site-header,.bp-footer,.bp-cta,.bp-project-arrow{display:none!important}.bp-prose,.bp-prose h2,.bp-prose h3{color:#000}.bp-wrap{width:100%}}


/* v1.4.2 — Case study header refinement.
   Deliberately scoped to .bp-case; homepage, cards and standard pages unchanged. */
.bp-case{padding-top:56px}
.bp-case-header{max-width:920px;margin:0 auto 44px}
.bp-case-header>.bp-eyebrow{margin-top:40px}
.bp-case h1{
  max-width:920px;
  margin:17px 0 22px;
  font-size:clamp(42px,5.2vw,70px);
  font-weight:600;
  letter-spacing:-.055em;
  line-height:1.09;
  text-wrap:balance;
}
.bp-case-summary{
  max-width:780px;
  margin:0;
  font-size:clamp(17px,1.6vw,20px);
  line-height:1.58;
}
.bp-case-facts{margin-top:32px;padding-top:22px;gap:24px 54px}
.bp-case-impact{margin:23px 0 0}
@media(max-width:700px){
  .bp-case{padding-top:34px}
  .bp-case-header{max-width:100%;margin-bottom:34px}
  .bp-case-header>.bp-eyebrow{margin-top:30px}
  .bp-case h1{
    font-size:clamp(36px,8.8vw,55px);
    letter-spacing:-.048em;
    line-height:1.1;
    margin:15px 0 18px;
    overflow-wrap:anywhere;
  }
  .bp-case-summary{font-size:17px;line-height:1.55}
  .bp-case-facts{margin-top:27px;padding-top:20px;gap:22px 32px}
  .bp-case-impact{margin-top:20px}
}
