@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Nunito:wght@500;600;700&display=swap');
:root{--ink:#142d3e;--muted:#687780;--paper:#f9faf8;--blue:#abc9d3;--line:#dce3e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}header{height:94px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:rgba(249,250,248,.97);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,Arial,sans-serif;font-size:35px;font-weight:800;letter-spacing:-3px;display:flex;align-items:center}.brand-dot{color:#819ea9}.brand-name{font-size:10px;letter-spacing:2px;margin-left:22px;font-weight:700}nav{display:flex;gap:36px;align-items:center;font-size:14px}nav a{padding:12px 0;border-bottom:1px solid transparent}nav a:hover,nav a.active{border-color:var(--ink)}nav a:last-child{margin-left:15px}nav span{margin-left:14px}.hero{height:min(660px,64vw);min-height:350px;background:#142d3e;overflow:hidden;position:relative}.hero-art{position:absolute;inset:0;background:radial-gradient(ellipse at 15% 60%,#344f5e 0,transparent 55%),linear-gradient(120deg,#193645,#101f2c)}.frame{position:absolute;width:28%;height:150%;top:-20%;transform:rotate(24deg);border-left:1px solid #70909d33;background:linear-gradient(90deg,#8ba9b611,transparent)}.one{left:8%}.two{left:42%}.three{left:77%}.video-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #b2c7cf88;border-radius:100%;width:90px;height:90px;display:grid;place-items:center}.video-mark svg{width:35px;fill:none;stroke:#d4e0e3;stroke-width:1}.hero-caption{padding:22px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:2px}.hero-caption a{font-size:24px}.draft{color:var(--muted);font-size:9px}.section{padding:100px 6%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;display:block;margin-bottom:27px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}h1,h2{font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-2px;margin:0;line-height:1.16}h1{font-size:clamp(34px,4.2vw,62px)}.section-heading h2{font-size:clamp(32px,3.5vw,52px)}p{font-size:16px;line-height:1.75;color:var(--muted)}.section-heading p{margin:0 0 3px;max-width:300px}.gallery{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.slide{flex:0 0 calc((100% - 50px)/3);scroll-snap-align:start}.photo-placeholder{aspect-ratio:16/10;position:relative;background:#d9e4e5;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#78909a}.photo-two{background:#d5dce0}.photo-three{background:#e3e3db}.photo-placeholder svg{width:49px;fill:none;stroke:currentColor;stroke-width:1}.photo-placeholder>span{font-size:8px;letter-spacing:2px;margin-top:15px}.photo-placeholder b{position:absolute;left:18px;bottom:15px;font-size:12px;font-weight:400}.slide-text{padding-top:24px}.slide-text h2{font-size:22px;letter-spacing:-.6px}.slide-text p{font-size:14px;margin:12px 0 0}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.gallery-count{font-size:11px;letter-spacing:3px}.gallery-bottom button{width:43px;height:43px;background:transparent;border:1px solid #bdcbd0;border-radius:50%;margin-left:8px;cursor:pointer;color:var(--ink);font-size:20px}.gallery-bottom button:hover{background:var(--ink);color:white}.motivation{background:#eaf0f1}.motivation-video{aspect-ratio:16/7;background:linear-gradient(125deg,#253f4c,#132c3d);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#b8cbd3;gap:23px}.play-outline{border:1px solid #819aa6;border-radius:50%;width:74px;height:74px;display:grid;place-items:center;font-size:32px;padding-left:4px}.motivation-video>span{font-size:9px;letter-spacing:2px}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}.about-image{background:#dde7e8;padding:32px;align-self:stretch;min-height:460px;display:flex;flex-direction:column}.about-image .eyebrow{font-size:9px}.portrait-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;color:#8ca2ab}.portrait-placeholder svg{width:150px;fill:none;stroke:currentColor;stroke-width:1}.portrait-placeholder span,.image-foot{font-size:8px;letter-spacing:2px}.image-foot{margin-top:35px}.about-copy h2{font-size:clamp(30px,3vw,46px);margin-bottom:28px}.about-copy p{font-size:15px}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;margin:28px 0;display:flex;gap:35px}.facts span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.facts strong{font-size:13px;font-weight:500}.button{display:inline-flex;align-items:center;gap:25px;padding:18px 23px;background:var(--ink);color:white;font-size:13px}.button:hover{background:#315b70}.download-info{display:block;font-size:10px;color:var(--muted);margin-top:12px}.contact{background:#132c3d;color:#fff;padding-top:85px;padding-bottom:70px}.contact .eyebrow{color:#abc9d3}.contact h2{font-size:clamp(55px,7.7vw,112px);letter-spacing:-4px}.contact h2>span{color:#abc9d3}.contact-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:50px;gap:35px}.contact p{color:#b7c7cf;font-size:16px}.contact-links{width:40%;min-width:260px}.contact-links a{display:flex;justify-content:space-between;padding:19px 0;border-bottom:1px solid #49616d;font-size:18px}.contact-links a:hover{color:#abc9d3}footer{padding:27px 6%;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}a:focus-visible,button:focus-visible{outline:3px solid #6ca2bc;outline-offset:5px}@media(max-width:800px){header{height:78px}.brand-name{display:none}nav{gap:22px;font-size:12px}nav a:last-child{margin-left:0}nav span{display:none}.section{padding:65px 6%}.section-heading{display:block}.section-heading p{margin-top:22px}.slide{flex-basis:78%}.hero{height:55vh;min-height:330px;max-height:560px}.hero-caption{letter-spacing:1px;font-size:8px;gap:12px}.draft{font-size:7px}.about{grid-template-columns:1fr;gap:35px}.about-image{min-height:360px}.motivation-video{aspect-ratio:16/10}.contact-bottom{display:block}.contact-links{width:100%;margin-top:25px}.contact h2{letter-spacing:-2px}footer{flex-wrap:wrap;line-height:1.6}footer>span:nth-child(2){order:3;flex-basis:100%}.facts{gap:25px}.eyebrow{font-size:9px}.slide-text h2{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Original portrait with a soft transition into the site's light palette. */
.about.portrait-about{display:flex;position:relative;isolation:isolate;min-height:820px;overflow:hidden;padding:110px 6%;background:var(--paper);color:var(--ink);align-items:center}
.portrait-background{position:absolute;z-index:-3;inset:0 0 0 auto;width:64%;height:100%;object-fit:contain;object-position:right bottom;mix-blend-mode:multiply}
.portrait-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#f9faf8 0%,#f9faf8 32%,rgba(249,250,248,.94) 43%,rgba(249,250,248,.35) 57%,transparent 72%)}
.portrait-about::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#eaf0f1 0%,rgba(234,240,241,0) 14%,transparent 88%,#f9faf8 100%)}
.portrait-about .about-copy{width:530px;max-width:46%}.portrait-about .about-copy h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-1.8px;font-weight:500;line-height:1.2}
.portrait-about .about-copy p{color:#536874;font-size:16px;line-height:1.8;margin:0 0 32px}.portrait-about .eyebrow{color:var(--ink)}.portrait-about .button{background:var(--ink);color:#fff}.portrait-about .button:hover{background:#315b70}.portrait-about .download-info{color:var(--muted)}
@media(max-width:800px){.about.portrait-about{min-height:0;padding:440px 6% 70px;align-items:flex-start}.portrait-background{width:100%;height:560px;object-fit:contain;object-position:center top}.portrait-shade{background:linear-gradient(180deg,transparent 0px,transparent 290px,rgba(249,250,248,.7) 390px,#f9faf8 490px)}.portrait-about::after{background:linear-gradient(180deg,#eaf0f1 0,transparent 70px)}.portrait-about .about-copy{max-width:100%;width:100%}.portrait-about .about-copy p{font-size:15px}.portrait-about .about-copy h2{font-size:32px}}

/* Landscape strengths gallery */
.strength-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eaf0f1;border-radius:3px}
.strength-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.photo-number{position:absolute;bottom:12px;left:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(19,44,61,.85);color:#fff;font-size:11px;font-weight:600;letter-spacing:1px}
.gallery:focus-visible{outline:2px solid #142d3e;outline-offset:6px}
.strengths .section-heading>div{min-width:0}.strengths .section-heading h1{font-size:clamp(32px,3.7vw,56px)}

/* All six strengths visible in two rows, with no carousel. */
.gallery.strengths-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px;overflow:visible;scroll-snap-type:none}
.strengths-grid .slide{min-width:0;scroll-snap-align:none}
@media(max-width:600px){.gallery.strengths-grid{grid-template-columns:1fr;gap:32px}}

/* Slightly larger body copy in the requested sections. */
.strengths .section-heading p,.motivation .section-heading p{font-size:18px;line-height:1.7}
.strengths-grid .slide-text p{font-size:16px;line-height:1.75}
.portrait-about .about-copy p{font-size:18px;line-height:1.75}
@media(max-width:800px){.portrait-about .about-copy p{font-size:17px}}

/* More legible header branding and CV button. */
.brand{font-size:38px}
.brand-name{font-size:14px}
.portrait-about .button{font-size:16px;padding:20px 25px}

/* Rounded, approachable headline typography. */
h1,h2{font-family:'Nunito','Arial Rounded MT Bold',sans-serif;font-weight:600;letter-spacing:-1.2px}
.portrait-about .about-copy h2{font-weight:600;letter-spacing:-1px}
.slide-text h2{letter-spacing:-.3px}
.contact h2{font-size:clamp(34px,5vw,72px);letter-spacing:-1.2px;line-height:1.16}

/* Clickable action sticker, overlapping the opening video. */
header{height:112px;gap:28px}
header .brand,header nav{flex-shrink:0}
.action-sticker{position:absolute;left:50%;top:12px;transform:translateX(-50%);width:clamp(320px,34vw,460px);display:block;line-height:0;border-radius:8px;box-shadow:0 8px 20px #102b3e22;transition:translate .2s ease;z-index:2}
.action-sticker>img{display:block;width:100%;height:auto;border-radius:8px}
.action-sticker .sticker-now{position:absolute;inset:0;clip-path:ellipse(9.5% 21% at 79% 68%);animation:now-pulse 1.8s ease-in-out infinite}
.action-sticker:hover{translate:0 -3px}
.action-sticker:focus-visible{outline:3px solid #00b9df;outline-offset:6px}
@keyframes now-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(.65)}}
html{scroll-padding-top:230px}
@media(max-width:1100px){header{height:210px;align-items:flex-start;padding-top:18px;gap:20px}.action-sticker{top:76px;width:min(360px,88vw)}html{scroll-padding-top:245px}}
@media(prefers-reduced-motion:reduce){.action-sticker .sticker-now{animation:none}.action-sticker{transition:none}}

/* Transparent sticker: its centre sits exactly on the video's top edge. */
.action-sticker{top:100%;transform:translate(-50%,-50%);border-radius:0;box-shadow:none;filter:drop-shadow(0 5px 7px #102b3e22)}
.action-sticker>img{border-radius:0}
@media(max-width:1100px){header{height:160px}.action-sticker{top:100%}html{scroll-padding-top:255px}}

/* Dimensional blue monogram replacing the text initials. */
.brand-logo{display:block;width:78px;height:78px;object-fit:contain;flex-shrink:0}
.brand .brand-name{margin-left:15px}
@media(max-width:1100px){.brand-logo{width:62px;height:62px}}
@media(max-width:600px){.brand-logo{width:56px;height:56px}}

/* Intro film, with its full picture visible on every screen. */
.hero{height:auto;min-height:0;max-height:none;aspect-ratio:16/9;background:#142d3e}
#intro-video{display:block;width:100%;height:100%;object-fit:contain}
.intro-toggle{position:absolute;right:20px;bottom:20px;width:44px;height:44px;border:1px solid #ffffff88;border-radius:50%;background:#142d3ecc;color:#fff;cursor:pointer;font-size:20px}
.contact-bottom p{max-width:560px}

/* On phones, keep the sticker mostly above the video. */
@media(max-width:600px){.action-sticker{transform:translate(-50%,-90%)}}
