/*
Theme Name: Berivan
Theme URI: https://berivan.ch
Author: L'usine Web
Author URI: https://lusineweb.ch
Description: Site personnel de Berivan Nurhan Özyurt. Thème à blocs : tous les textes se modifient dans Pages > Accueil, l'en-tête et le pied de page dans Apparence > Éditeur.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: berivan
*/

:root{
	--bo-navy:#0D1B36;
	--bo-blue:#2A63D4;
	--bo-blue-light:#8FB0F5;
	--bo-sky:#EAF0F8;
	--bo-ink:#0D1B36;
	--bo-soft:#566179;
	--bo-rule:#DCE3EE;
	--bo-on-dark:#F2F5FA;
	--bo-on-dark-soft:#A8B4CB;
	--bo-head:var(--wp--preset--font-family--archivo, "Archivo", "Arial Narrow", sans-serif);
	--bo-body:var(--wp--preset--font-family--public-sans, "Public Sans", system-ui, sans-serif);
	--bo-gutter:max(24px, env(safe-area-inset-left, 0px));
}

body{margin:0;background:#fff;color:var(--bo-ink);font-family:var(--bo-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.wp-site-blocks{padding:0}
html{scroll-padding-top:96px;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
a:focus-visible,.wp-element-button:focus-visible{outline:2px solid var(--bo-blue);outline-offset:3px}

/* Reset WP block defaults inside the theme */
.bo-header p,.bo-footer p,:is(.bo-hero,.bo-sec) p{margin:0}
:is(.bo-hero,.bo-sec) .wp-block-columns{margin:0;gap:0;flex-wrap:nowrap}
:is(.bo-hero,.bo-sec) .wp-block-heading{margin:0}
:is(.bo-hero,.bo-sec) figure{margin:0}
:is(.bo-hero,.bo-sec) .wp-block-list{margin:0;padding:0;list-style:none}
:is(.bo-hero,.bo-sec) .wp-block-quote{margin:0;padding:0;border:0}
:is(.bo-hero,.bo-sec) .wp-block-buttons{gap:14px}
:is(.bo-hero,.bo-sec) .wp-block-button__link{border-radius:0}
:is(.bo-hero,.bo-sec) .wp-block-group{margin-top:0}

.bo-in{max-width:1200px;margin:0 auto;padding-left:var(--bo-gutter);padding-right:max(24px, env(safe-area-inset-right, 0px))}

/* Shared type */
.bo-eyebrow{font-family:var(--bo-head);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#2257C4;display:flex;align-items:center;gap:12px}
.bo-eyebrow::before{content:"";width:32px;height:2px;background:currentColor;flex:none}
.bo-h2{font-family:var(--bo-head);font-weight:800;font-stretch:112%;font-size:clamp(32px,4.2vw,52px);line-height:1.04;letter-spacing:-.02em;margin-top:16px!important;text-wrap:balance}
.bo-intro{color:var(--bo-soft);max-width:30em}
.bo-sec{padding-block:96px}

/* Header */
.bo-header{position:sticky;top:var(--wp-admin--admin-bar--height, 0px);z-index:50;background:var(--bo-navy);color:var(--bo-on-dark);border-bottom:1px solid rgba(255,255,255,.08)}
.bo-bar{max-width:1200px;margin:0 auto;padding-left:var(--bo-gutter);padding-right:max(24px, env(safe-area-inset-right, 0px));height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.bo-brand{margin:0;font-family:var(--bo-head);font-weight:700;font-size:17px;letter-spacing:.01em;line-height:1.2}
.bo-brand a{text-decoration:none;color:#fff}
.bo-nav{font-size:14.5px;font-weight:500;gap:30px}
.bo-nav .wp-block-navigation-item__content{text-decoration:none;color:var(--bo-on-dark-soft)}
.bo-nav .wp-block-navigation-item__content:hover{color:#fff}
.bo-nav .bo-nav-cta .wp-block-navigation-item__content{background:#fff;color:var(--bo-navy);font-family:var(--bo-head);font-weight:700;font-size:14px;padding:10px 18px}
.bo-nav .wp-block-navigation__responsive-container-open,.bo-nav .wp-block-navigation__responsive-container-close{color:#fff}
.bo-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--bo-navy);color:#fff;padding:24px}
.bo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{color:#fff;font-size:22px;font-family:var(--bo-head);font-weight:700}
.bo-nav .wp-block-navigation__responsive-container.is-menu-open .bo-nav-cta .wp-block-navigation-item__content{color:var(--bo-navy)}

/* Hero */
.bo-hero{background:var(--bo-navy);color:var(--bo-on-dark)}
.bo-hero .bo-hero-cols{min-height:600px;align-items:stretch}
.bo-hero .bo-hero-txt{flex:1 1 50%;display:flex;flex-direction:column;justify-content:center;padding:72px 56px 72px max(24px, calc((100vw - 1200px) / 2 + 24px))}
.bo-hero .bo-eyebrow{color:var(--bo-blue-light)}
.bo-h1{font-family:var(--bo-head);font-weight:800;font-stretch:112%;font-size:clamp(46px,6vw,86px)!important;line-height:.95;letter-spacing:-.03em;margin:22px 0!important;color:#fff;text-wrap:balance}
.bo-lead{font-size:19px;line-height:1.55;color:var(--bo-on-dark-soft);max-width:30em}
.bo-btns{margin-top:36px}
.bo-btns .wp-block-button__link{font-family:var(--bo-head);font-weight:700;font-size:15px;padding:15px 26px;transition:background .2s,border-color .2s}
.bo-b1 .wp-block-button__link{background:var(--bo-blue);color:#fff}
.bo-b1 .wp-block-button__link:hover{background:#3B74E6}
.bo-b1 .wp-block-button__link::after{content:"→";margin-left:10px}
.bo-b2 .wp-block-button__link{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.bo-b2 .wp-block-button__link:hover{border-color:#fff}
.bo-hero .bo-hero-pic{flex:1 1 50%;position:relative;overflow:hidden;background:#D8D9E3;min-height:420px}
.bo-hero .bo-photo{position:absolute;inset:0}
.bo-hero .bo-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
.bo-hero .bo-hero-pic::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(to top, rgba(13,27,54,.5), transparent);pointer-events:none}

/* Qui je suis */
.bo-stmt-cols{gap:72px!important;align-items:flex-end}
.bo-stmt-txt{flex:1.4 1 0}
.bo-figs{flex:1 1 0;border-top:2px solid var(--bo-ink)}
.bo-big{font-family:var(--bo-head);font-weight:500;font-size:clamp(24px,2.6vw,33px);line-height:1.3;letter-spacing:-.01em;margin-top:18px!important}
.bo-big strong{font-weight:800;color:#2257C4}
.bo-fig{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--bo-rule)}
.bo-fig-n{font-family:var(--bo-head);font-weight:800;font-stretch:112%;font-size:40px;line-height:1;letter-spacing:-.02em}
.bo-fig-t{color:var(--bo-soft);font-size:15.5px}

/* Domaines */
.bo-domains{background:var(--bo-sky)}
.bo-cards{gap:24px!important;margin-top:52px!important}
.bo-card{flex:1 1 0;background:#fff;padding:34px 30px 30px;border-top:4px solid var(--bo-blue);display:flex;flex-direction:column;gap:14px;transition:transform .25s,box-shadow .25s}
.bo-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(13,27,54,.45)}
.bo-card::before{content:"";width:44px;height:44px;background:#2257C4;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.bo-ico-compta{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44' fill='none' stroke='black' stroke-width='2.2'%3E%3Crect x='7' y='5' width='30' height='34' rx='2'/%3E%3Cpath d='M13 13h18M13 20h18M13 27h8M26 27h5M13 33h8M26 33h5'/%3E%3C/svg%3E")}
.bo-ico-resto{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44' fill='none' stroke='black' stroke-width='2.2'%3E%3Cpath d='M8 30h28M10 30a12 12 0 0 1 24 0M22 14v4M6 36h32'/%3E%3Ccircle cx='22' cy='12' r='2' fill='black'/%3E%3C/svg%3E")}
.bo-ico-benev{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44' fill='none' stroke='black' stroke-width='2.2'%3E%3Cpath d='M22 36s-13-7.5-13-17a7 7 0 0 1 13-3.6A7 7 0 0 1 35 19c0 9.5-13 17-13 17z'/%3E%3C/svg%3E")}
.bo-card-title{font-family:var(--bo-head);font-weight:800;font-size:24px!important;letter-spacing:-.01em;line-height:1.15;margin-top:4px!important}
.bo-card > p{color:var(--bo-soft);font-size:16px}
.bo-card .bo-card-list{margin-top:auto!important;padding-top:16px!important;border-top:1px solid var(--bo-rule);display:grid;gap:6px;font-size:15px}
.bo-card-list li::before{content:"—";color:#2257C4;margin-right:8px}

/* Engagement */
.bo-eng{background:var(--bo-blue);color:#fff;position:relative;overflow:hidden}
.bo-eng::before{content:"";position:absolute;right:-120px;top:-120px;width:480px;height:480px;border:70px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}
.bo-eng .bo-in{position:relative}
.bo-eng-cols{gap:72px!important;align-items:center!important}
.bo-eng-cols > .wp-block-column{flex:1 1 0}
.bo-eng .bo-eyebrow{color:#fff}
.bo-quote{margin-top:22px!important}
.bo-quote p{font-family:var(--bo-head);font-weight:500;font-size:clamp(24px,2.6vw,32px);line-height:1.32}
.bo-quote::before{content:"«";display:block;font-family:var(--bo-head);font-weight:800;font-size:72px;line-height:.6;margin-bottom:14px;opacity:.5}
.bo-facts{display:grid;gap:16px}
.bo-fact{background:rgba(255,255,255,.1);padding:22px 24px;border-left:3px solid #fff}
.bo-fact-k{font-family:var(--bo-head);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.bo-fact-t{font-family:var(--bo-head);font-weight:800;font-size:22px!important;margin:4px 0!important;line-height:1.2;color:#fff}
.bo-fact > p:last-child{font-size:15.5px;opacity:.9}

/* Parcours */
.bo-head-cols{gap:40px!important;align-items:flex-end!important}
.bo-head-cols > .wp-block-column{flex:1 1 0}
.bo-tl{margin-top:60px!important;position:relative}
.bo-tl::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--bo-rule);transform:translateX(-1px)}
.bo-step{position:relative;width:50%;padding:0 48px 36px 0;text-align:right}
.bo-step:nth-child(even){margin-left:50%;padding:0 0 36px 48px;text-align:left}
.bo-step::before{content:"";position:absolute;top:6px;right:-8px;width:16px;height:16px;background:#fff;border:3px solid var(--bo-blue);border-radius:50%;box-sizing:border-box}
.bo-step:nth-child(even)::before{right:auto;left:-8px}
.bo-step.is-now::before{background:var(--bo-blue)}
.bo-yr{font-family:var(--bo-head);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#2257C4}
.bo-step-title{font-family:var(--bo-head);font-weight:800;font-size:21px!important;line-height:1.2;margin:4px 0 2px!important}
.bo-org{font-weight:600;font-size:15px}
.bo-step > p:not(.bo-yr):not(.bo-org){margin-top:6px;color:var(--bo-soft);font-size:15.5px}

/* Formation */
.bo-edu{background:var(--bo-sky);padding-block:88px}
.bo-edu-cols{gap:24px!important;margin-top:48px!important;align-items:stretch!important}
.bo-panel{flex:1 1 0;background:#fff;padding:32px 30px}
.bo-panel-wide{flex:1.5 1 0}
.bo-panel-k{font-family:var(--bo-head);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--bo-soft);margin-bottom:18px!important}
.bo-deg{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:16px;padding:16px 0;border-top:1px solid var(--bo-rule)}
.bo-panel-k + .bo-deg{border-top:0;padding-top:0}
.bo-deg-y{grid-row:span 2;font-family:var(--bo-head);font-weight:800;color:#2257C4;font-size:15px}
.bo-deg-t{font-family:var(--bo-head);font-weight:700;font-size:18px!important;line-height:1.3}
.bo-deg-s{color:var(--bo-soft);font-size:15px}
.bo-lang{position:relative;padding:16px 140px 16px 0;border-top:1px solid var(--bo-rule)}
.bo-panel-k + .bo-lang{border-top:0;padding-top:0}
.bo-lang-n{font-family:var(--bo-head);font-weight:800;font-size:22px!important}
.bo-lang-l{color:var(--bo-soft);font-size:13.5px}
.bo-lang::after{content:"";position:absolute;right:0;top:50%;width:126px;height:6px;margin-top:-3px;background:linear-gradient(90deg,var(--bo-blue) 0 var(--lvl),var(--bo-rule) var(--lvl));-webkit-mask:repeating-linear-gradient(90deg,#000 0 22px,transparent 22px 26px);mask:repeating-linear-gradient(90deg,#000 0 22px,transparent 22px 26px)}
.bo-panel-k + .bo-lang::after{margin-top:-11px}
.bo-lvl-1{--lvl:26px}.bo-lvl-2{--lvl:52px}.bo-lvl-3{--lvl:78px}.bo-lvl-4{--lvl:104px}.bo-lvl-5{--lvl:130px}

/* Contact */
.bo-contact{background:var(--bo-navy);color:var(--bo-on-dark)}
.bo-contact .bo-eyebrow{color:var(--bo-blue-light)}
.bo-contact .bo-h2{color:#fff}
.bo-contact .bo-intro{color:var(--bo-on-dark-soft);margin-top:20px}
.bo-contact-cols{gap:72px!important}
.bo-contact-cols > .wp-block-column:first-child{flex:1.2 1 0}
.bo-contact-cols > .wp-block-column:last-child{flex:1 1 0}
.bo-cls{border-top:1px solid rgba(255,255,255,.18)}
.bo-cl{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.bo-cl-k{font-family:var(--bo-head);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bo-on-dark-soft)}
.bo-cl-v{font-family:var(--bo-head);font-weight:700;font-size:20px;margin-top:4px!important;word-break:break-word}
.bo-cl-v a{color:#fff;text-underline-offset:4px}

/* Footer */
.bo-footer{background:var(--bo-navy);color:var(--bo-on-dark-soft);border-top:1px solid rgba(255,255,255,.1)}
.bo-foot{max-width:1200px;margin:0 auto;padding:24px max(24px, env(safe-area-inset-right, 0px)) 24px var(--bo-gutter);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:14px}

/* Simple pages (mentions légales, etc.) */
.bo-page{max-width:760px;margin:0 auto;padding:72px var(--bo-gutter)}
.bo-page-title{font-family:var(--bo-head);font-weight:800;font-stretch:112%;font-size:clamp(32px,4vw,48px);line-height:1.05;margin:0 0 32px}
.bo-page-content > * + *{margin-top:1em}

/* Responsive */
@media (max-width:900px){
	.bo-sec{padding-block:68px}
	:is(.bo-hero,.bo-sec) .wp-block-columns{flex-wrap:wrap!important}
	:is(.bo-hero,.bo-sec) .wp-block-columns > .wp-block-column{flex-basis:100%!important}
	.bo-hero .bo-hero-cols{min-height:0}
	.bo-hero .bo-hero-pic{order:-1;min-height:440px}
	.bo-hero .bo-hero-txt{padding:48px max(24px, env(safe-area-inset-right, 0px)) 48px var(--bo-gutter)}
	.bo-stmt-cols,.bo-eng-cols,.bo-contact-cols,.bo-head-cols{gap:40px!important}
	.bo-cards,.bo-edu-cols{gap:20px!important}
	.bo-tl::before{left:7px}
	.bo-step,.bo-step:nth-child(even){width:auto;margin-left:0;padding:0 0 30px 40px;text-align:left}
	.bo-step::before,.bo-step:nth-child(even)::before{left:0;right:auto}
}
@media (max-width:480px){
	.bo-fig{grid-template-columns:90px minmax(0,1fr)}
	.bo-fig-n{font-size:32px}
	.bo-deg{grid-template-columns:1fr}
	.bo-deg-y{grid-row:auto}
	.bo-lang{padding-right:0}
	.bo-lang::after{position:static;display:block;margin-top:10px}
}
