:root {
  --green: #82c540;
  --green-dark: #438829;
  --ink: #15231e;
  --muted: #5a6b62;
  --line: #dfe6df;
  --paper: #f7f9f6;
  --night: #102b2e;
  --body: 'Inter', Arial, sans-serif;
  --head: 'Manrope', 'Inter Display', 'Inter', Arial, sans-serif;
  --ease: cubic-bezier(.22,1,.36,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin:0; min-width:320px; background:white; color:var(--ink); font-family:var(--body); font-size:15px; line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:clip; }
body.no-scroll { overflow: hidden; }
a {color:inherit;text-decoration:none;} button{font:inherit;cursor:pointer;} img {max-width:100%;display:block;}
h1,h2,h3,p { margin:0; } h1,h2,h3 { font-family:var(--head); } p {line-height:1.78;}
.container { width:min(1320px,calc(100% - 112px)); margin-inline:auto; }
.section { padding-block:110px; }
.skip-link { position:fixed;z-index:999;top:-80px;left:20px;background:var(--green);padding:10px 15px; }
.skip-link:focus{top:15px;} a:focus-visible,button:focus-visible {outline:3px solid var(--green);outline-offset:4px;}
.stop{color:inherit;}.color-word{color:var(--green-dark);}
.kicker { display:flex; flex-wrap:wrap; align-items:center; gap:11px; margin:0 0 26px; color:var(--green-dark); font-weight:750; font-size:10px; line-height:1.6; letter-spacing:.16em; text-transform:uppercase; }
.kicker-muted { color:#93a097; font-size:9px; margin-left:10px; }
.green-rule { flex:none; display:inline-block; width:27px; height:2px; background:var(--green); }
.kicker-light{color:#d8e9d6;}
h2 { font-weight:750; font-size:clamp(40px,4vw,62px); line-height:1.17; letter-spacing:-.035em; margin:0 0 26px; }
.lead{font-size:19px;font-weight:550;color:#344c40;line-height:1.65;margin-bottom:21px;}
.btn { display:inline-flex;align-items:center;justify-content:space-between; gap:34px; min-height:56px; padding:14px 22px; font-size:12px; font-weight:750; transition:background .25s var(--ease),transform .25s var(--ease),color .25s var(--ease); }
.btn:hover{transform:translateY(-2px);}.btn span{font-size:19px;font-weight:400;}
.btn-green { color:#112d17; background:var(--green); }
.btn-green:hover{background:#a0d46b;}.btn-outline{border:1px solid #bfcdbf;background:white;}.btn-outline:hover{border-color:var(--green);}
.underlined-link { display:inline-flex;align-items:center;gap:38px;border:0;border-bottom:2px solid var(--green);padding:10px 0;color:var(--ink);font-size:13px;font-weight:750;background:none; }
.underlined-link:hover{color:var(--green-dark);}.underlined-link span{color:var(--green-dark);font-size:18px;}
/* navigation */
.header { height:90px;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(20,44,28,.095);backdrop-filter:blur(18px); }
.header-inner{height:100%;display:flex;align-items:center;gap:26px;}
.logo-link {width:124px;flex:none;display:flex;align-items:center;}.logo-link img{width:93px;height:auto;}
.desktop-nav{display:flex;align-items:center;gap:clamp(14px,1.75vw,28px);margin-left:auto;white-space:nowrap;}
.desktop-nav a{font-size:12px;font-weight:650;transition:color .2s;position:relative;}
.desktop-nav a:after{content:'';height:2px;position:absolute;bottom:-11px;left:0;width:0;background:var(--green);transition:width .2s;}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--green-dark);}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%;}
.header-contact{display:flex;align-items:center;gap:22px;flex:none;background:var(--green);font-weight:750;font-size:11px;padding:14px 19px;white-space:nowrap;}
.header-contact:hover{background:#a0d46b;}
.menu-button{display:none;margin-left:auto;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:51px;height:49px;border:1px solid var(--line);background:white;z-index:111;}
.hamburger{display:flex;flex-direction:column;gap:6px;}.hamburger i{width:23px;height:2px;background:var(--ink);transition:transform .22s;}
.menu-button small{font-size:7px;letter-spacing:.13em;font-weight:800;}.menu-button[aria-expanded=true] .hamburger i:first-child{transform:translateY(4px) rotate(45deg);}.menu-button[aria-expanded=true] .hamburger i:last-child{transform:translateY(-4px) rotate(-45deg);}
.mobile-nav{position:fixed;inset:90px 0 0;background:#fff;z-index:95;visibility:hidden;opacity:0;pointer-events:none;overflow-y:auto;transition:opacity .25s,visibility .25s;}
.mobile-nav.open{visibility:visible;opacity:1;pointer-events:auto;}.mobile-nav-body{min-height:100%;padding-top:32px;padding-bottom:35px;display:flex;flex-direction:column;}
.mobile-nav nav{display:flex;flex-direction:column;}.mobile-nav nav a{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:16px 0;font:750 clamp(24px,5vw,39px)/1.25 var(--head);letter-spacing:-.025em;}
.mobile-nav nav a small{width:27px;color:var(--green-dark);font:700 10px var(--body);}.mobile-nav nav a span{margin-left:auto;color:var(--green-dark);font-size:20px;}.mobile-nav nav a:hover{color:var(--green-dark);}.nav-email{margin-top:auto;padding-top:32px;color:var(--green-dark);font-weight:750;}
/* hero: full-bleed photograph, carefully protected text */
.hero{position:relative;isolation:isolate;min-height:700px;display:flex;align-items:center;overflow:hidden;background:#fff;}
.hero-image{position:absolute;inset:0;z-index:-2;}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:64% 54%;}
.hero-wash{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.87) 24%,rgba(255,255,255,.81) 35%,rgba(255,255,255,.62) 47%,rgba(255,255,255,.22) 63%,rgba(255,255,255,0) 86%);}
.hero-content{padding:92px 0 102px;}.hero-left{width:min(660px,60%);}
.hero h1{font-weight:750;font-size:clamp(53px,5.2vw,81px);line-height:1.12;letter-spacing:-.045em;margin:0 0 28px;text-wrap:balance;}
.hero h1>span{color:var(--green-dark);}.hero-description{max-width:515px;font-size:17px;line-height:1.75;color:#45584c;margin-bottom:32px;}
.button-group{display:flex;align-items:center;flex-wrap:wrap;gap:12px;}
.trust-bar{background:#fff;border-block:1px solid var(--line);}.hero-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:31px 0;}
.hero-points>div{display:flex;align-items:flex-start;gap:15px;}.point-icon{font-size:30px;line-height:1;color:var(--green-dark);}.hero-points p{margin:0;}.hero-points strong{font-size:12px;line-height:1.4;display:block;}.hero-points small{color:#74867b;display:block;font-size:11px;margin-top:5px;line-height:1.5;}
/* about: text can breathe; full-width photography is an editorial chapter break */
.about-section{padding:112px 0 0;background:#fff;}
.about-copy-grid{display:grid;grid-template-columns:1fr .82fr;gap:13%;align-items:center;}
.about-copy-lead h2{max-width:720px;}.about-copy-lead .lead{max-width:590px;}
.about-copy-text{padding-top:26px;}.about-copy-text p{font-size:15px;color:var(--muted);margin:0 0 19px;max-width:540px;}.about-copy-text .underlined-link{margin-top:11px;}
.photo-band{position:relative;overflow:hidden;width:100%;isolation:isolate;}
.about-photo-band{height:460px;margin-top:86px;background:#e1eae6;}.photo-band img{width:100%;height:100%;object-fit:cover;object-position:center 51%;}
.photo-band:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,24,27,.4),transparent 49%);pointer-events:none;}
.photo-band-caption{position:absolute;z-index:1;left:max(55px,calc((100vw - 1320px)/2));bottom:33px;display:flex;align-items:center;gap:14px;color:white;font-size:11px;font-weight:750;letter-spacing:.14em;text-shadow:0 1px 5px #15232b;}
.photo-band-line{width:24px;height:2px;background:var(--green);}.photo-band-separator{color:var(--green);}
/* expertise */
.expertise-section{background:var(--paper);}.expertise-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:10%;align-items:center;}
.expertise-head h2{font-size:clamp(36px,3.3vw,54px);}.expertise-head p:not(.kicker){font-size:15px;color:var(--muted);margin:0 0 17px;max-width:515px;}.expertise-head .underlined-link{margin-top:7px;}
.practice-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.practice{border:1px solid var(--line);min-height:172px;background:#fff;padding:24px 19px;display:flex;flex-direction:column;gap:12px;transition:transform .25s,border-color .25s;}
.practice:hover{transform:translateY(-4px);border-color:var(--green);}.practice-symbol{color:var(--green-dark);font-size:28px;line-height:1;}.practice strong{font-size:13px;line-height:1.4;font-weight:650;}.practice small{margin-top:auto;font-size:9px;font-weight:700;letter-spacing:.07em;color:#7c8e82;}
/* founder: standalone portrait section with softer image treatment */
.founder-section{padding:88px 0 92px;background:#f1f5f0;margin-bottom:clamp(40px,4vw,64px);}
.founder-layout{display:grid;grid-template-columns:1.02fr .88fr;gap:7%;align-items:center;}
.founder-copy{padding:12px 0;}.founder-copy h2{max-width:650px;}.founder-copy h2 span{color:var(--green-dark);}.founder-copy p:not(.kicker){font-size:15px;max-width:555px;color:var(--muted);margin-bottom:20px;}.founder-copy .lead{font-size:18px;color:#314f3e;}
.founder-image{position:relative;align-self:center;min-width:0;display:flex;align-items:flex-end;justify-content:center;overflow:visible;background:none;padding:8px 0 8px 12px;}
.founder-image::before{content:'';position:absolute;inset:9% 8% 5% 6%;border-radius:36px;background:radial-gradient(circle at 28% 24%,rgba(130,197,64,.12),rgba(130,197,64,0) 35%),linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.28));filter:blur(0.5px);z-index:0;}
.founder-image img{position:relative;z-index:1;width:min(100%,470px);height:auto;max-height:650px;object-fit:contain;object-position:center bottom;border-radius:28px;box-shadow:0 24px 55px rgba(16,43,46,.12);}
.founder-tag{position:absolute;z-index:2;bottom:22px;left:0;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);padding:13px 18px;border-radius:18px;box-shadow:0 10px 25px rgba(16,43,46,.08);font-size:12px;font-weight:750;letter-spacing:.04em;}.founder-tag small{display:block;color:var(--muted);font-size:9px;letter-spacing:.1em;margin-top:3px;}
/* law firm: truly full-width photographic image */
.law-firms-section{position:relative;isolation:isolate;min-height:615px;display:flex;align-items:center;overflow:hidden;background:var(--night);color:#fff;padding:95px 0;}
.firms-photo,.firms-overlay{position:absolute;inset:0;z-index:-2;}.firms-photo img{height:100%;width:100%;object-fit:cover;object-position:center 52%;}.firms-overlay{z-index:-1;background:linear-gradient(90deg,rgba(7,29,35,.86) 0%,rgba(8,29,35,.72) 24%,rgba(10,31,37,.36) 46%,rgba(10,31,37,.14) 66%,rgba(10,31,37,.24) 100%),linear-gradient(270deg,rgba(7,29,35,.18) 0%,rgba(7,29,35,0) 26%);}
.firms-layout{width:min(1320px,calc(100% - 112px));display:block;}.firms-copy{max-width:610px;}.firms-copy h2{color:white;}.firms-copy p:not(.kicker){color:#e3edeb;max-width:535px;font-size:16px;}.firms-copy .btn{margin-top:18px;}
/* candidates: tighter transition into approach section */
.candidates-section{background:#fff;padding:92px 0 74px;}.candidates-layout{display:grid;grid-template-columns:1fr .82fr;gap:9%;align-items:start;}.candidate-heading h2{max-width:660px;}.candidate-copy{padding-top:18px;}.candidate-copy>p:not(.lead){max-width:535px;color:var(--muted);font-size:15px;}.candidate-copy .btn{margin-top:22px;}.candidate-note{display:flex;align-items:flex-start;gap:15px;max-width:450px;border-top:1px solid var(--line);padding-top:24px;margin-top:34px;font-weight:550;font-size:14px;color:#56715f;line-height:1.7;}.candidate-note-mark{font:750 55px/.8 var(--head);color:var(--green);}
/* approach */
.approach-section{background:var(--paper);padding-top:84px;padding-bottom:92px;}.approach-heading{max-width:750px;margin:0 0 38px;}.approach-heading h2{margin-bottom:14px;}.approach-heading p:not(.kicker){color:var(--muted);font-size:16px;}
.approach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}.approach-grid article{border:1px solid var(--line);min-height:225px;background:white;padding:29px 25px;}.approach-no{font-size:12px;font-weight:750;color:var(--green-dark);}.approach-grid h3{font-size:20px;letter-spacing:-.02em;font-weight:700;margin:40px 0 11px;}.approach-grid p{font-size:13px;color:var(--muted);}
/* contact: edge-to-edge skyline, text legible */
.contact-section{position:relative;isolation:isolate;min-height:590px;display:flex;align-items:center;overflow:hidden;background:#0b2930;color:#fff;}.contact-photo{position:absolute;inset:0;z-index:-2;}.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;}.contact-section:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,25,34,.90) 0%,rgba(7,30,39,.74) 26%,rgba(7,28,37,.28) 48%,rgba(7,28,37,.28) 60%,rgba(6,25,34,.70) 80%,rgba(6,25,34,.82) 100%);}
.contact-inner{display:grid;grid-template-columns:1fr .72fr;gap:13%;align-items:center;padding:105px 0;}.contact-inner h2{max-width:650px;color:#fff;font-size:clamp(40px,4.25vw,65px);}.contact-inner p:not(.kicker){font-size:16px;color:#e0e9e6;max-width:490px;}.contact-inner .btn{margin-top:25px;}
.contact-list{padding-left:35px;border-left:1px solid rgba(255,255,255,.38);display:grid;gap:27px;}.contact-list>div{display:flex;flex-direction:column;gap:8px;}.contact-list small{font-size:10px;font-weight:750;letter-spacing:.14em;color:var(--green);}.contact-list a,.contact-list strong{font-size:16px;line-height:1.65;font-weight:550;overflow-wrap:anywhere;}.contact-list a:hover{color:var(--green);}
/* map */
.map-section{background:#fff;}.map-head{display:flex;align-items:end;justify-content:space-between;gap:35px;padding-top:63px;padding-bottom:40px;}.map-head h2{font-size:44px;margin:0;}.map-head .kicker{margin-bottom:15px;}.map-embed{position:relative;height:350px;background:#deecea url('dubai-location-map-kh-20261018-v2.svg') center/cover;}.map-embed iframe{width:100%;height:100%;border:0;display:block;position:relative;z-index:2;}.map-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#28533d;}.map-fallback a{font-weight:750;text-decoration:underline;color:var(--green-dark);}
/* footer */
.footer{background:#0c282a;color:#fff;}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:54px 0;}.footer-top img{width:107px;height:auto;}.footer-top p{color:#cdded2;font-size:15px;}.footer-back{font-size:11px;font-weight:750;letter-spacing:.07em;}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px;border-top:1px solid #365457;padding:24px 0 31px;color:#a4bdb2;font-size:10px;font-weight:700;letter-spacing:.07em;}
.footer-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}.footer-linkedin{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}.footer-linkedin svg{display:block;flex:none;}.footer-bottom a:hover{color:var(--green);}.footer-bottom a:focus-visible{outline:2px solid var(--green);outline-offset:5px;}
/* Founder profile: edge-to-edge editorial portrait with equal-height biography */
.profile-modal[hidden]{display:none;}
.profile-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(12px,2vw,28px);}
.modal-backdrop{position:absolute;inset:0;background:rgba(6,22,28,.75);backdrop-filter:blur(5px);}
.profile-panel{position:relative;width:min(1170px,100%);height:min(760px,calc(100dvh - 38px));min-height:0;overflow:hidden;display:grid;grid-template-columns:43% 57%;background:#fff;box-shadow:0 28px 90px #0004;}
.modal-close{position:absolute;right:20px;top:20px;z-index:3;width:44px;height:44px;border:1px solid rgba(21,35,30,.15);background:#fff;border-radius:50%;font-size:28px;line-height:1;box-shadow:0 5px 20px #0001;}
.modal-portrait{height:100%;min-height:0;background:#ddd9d3;overflow:hidden;}
.modal-portrait img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center center;}
.modal-copy{min-width:0;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:clamp(65px,5vw,86px) clamp(32px,5vw,70px) 52px;}
.modal-copy h2{font-size:clamp(36px,3vw,50px);}
.modal-copy .lead{font-size:17px;}
.modal-copy p:not(.kicker){font-size:14px;color:var(--muted);margin-bottom:15px;}
.modal-copy .btn{margin-top:15px;}
@media(max-width:1160px){.container,.firms-layout{width:calc(100% - 80px);}.desktop-nav{gap:13px;}.desktop-nav a{font-size:11px;}.header-contact{gap:12px;padding-inline:13px;}.hero-left{width:62%;}.hero h1{font-size:clamp(52px,5.8vw,75px);}.practice{padding:22px 14px;}}
@media(max-width:990px){.header{height:79px;}.logo-link img{width:80px;}.desktop-nav,.header-contact{display:none;}.menu-button{display:flex;}.mobile-nav{inset:79px 0 0;}.hero{min-height:620px;}.hero-wash{background:linear-gradient(90deg,rgba(255,255,255,.91),rgba(255,255,255,.85) 27%,rgba(255,255,255,.70) 54%,rgba(255,255,255,.08) 96%);}.hero-left{width:67%;}.expertise-layout{gap:5%;}.practice-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.founder-layout{gap:5%;}.founder-image{padding-left:0;}.founder-image img{max-height:560px;width:min(100%,430px);}.about-copy-grid{gap:8%;}}
@media(max-width:740px){
 .container,.firms-layout{width:calc(100% - 44px);}html{scroll-padding-top:75px;}.header{height:75px;}.mobile-nav{inset:75px 0 0;}.section{padding:75px 0;}
 h2{font-size:clamp(34px,7.4vw,49px);line-height:1.2;letter-spacing:-.03em;}.lead{font-size:17px;}
 .hero{min-height:0;display:flex;flex-direction:column;}.hero-image{position:relative;inset:auto;order:2;width:100%;height:350px;z-index:0;}.hero-image img{object-position:63% center;}.hero-wash{display:none;}.hero-content{order:1;width:calc(100% - 44px);padding:62px 0 51px;}.hero-left{width:100%;max-width:none;}.hero h1{font-size:clamp(43px,9vw,67px);letter-spacing:-.045em;max-width:650px;}.hero-description{font-size:15px;max-width:490px;}
 .hero-points{grid-template-columns:1fr 1fr;gap:18px;padding:28px 0;}.hero-points>div:last-child{grid-column:1 / -1;}.hero-points strong{font-size:11px;}
 .about-section{padding:80px 0 0;}.about-copy-grid,.expertise-layout,.founder-layout,.candidates-layout,.contact-inner{grid-template-columns:1fr;gap:27px;}.about-copy-text{padding-top:0;}.about-copy-text p{font-size:14px;}.about-photo-band{margin-top:55px;height:340px;}.photo-band-caption{left:22px;bottom:21px;font-size:9px;gap:9px;letter-spacing:.08em;}
 .expertise-layout{gap:37px;}.practice-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.practice{min-height:150px;}.founder-section{padding:74px 0 78px;}.founder-layout{gap:18px;}.founder-copy{padding:8px 0 10px;}.founder-image{height:auto;min-height:0;padding:8px 0 0;justify-content:flex-start;}.founder-image::before{inset:6% 3% 3% 3%;border-radius:28px;}.founder-image img{height:auto;max-height:520px;width:min(100%,410px);object-fit:contain;}.founder-tag{bottom:12px;left:12px;}
 .law-firms-section{min-height:640px;padding:75px 0;}.firms-photo img{object-position:62% center;}.firms-overlay{background:linear-gradient(180deg,rgba(7,29,35,.88) 0%,rgba(7,29,35,.72) 28%,rgba(7,29,35,.38) 62%,rgba(7,29,35,.46) 100%);}.firms-copy h2{max-width:570px;}.firms-copy p:not(.kicker){font-size:15px;}
 .candidates-section{padding:72px 0 54px;}.candidate-copy{padding-top:0;}.candidate-note{margin-top:28px;}.approach-section{padding-top:64px;padding-bottom:74px;}
 .approach-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.approach-grid article{padding:22px;min-height:205px;}.approach-grid h3{font-size:18px;margin-top:35px;}
 .contact-section{min-height:0;}.contact-inner{gap:36px;padding:77px 0;}.contact-list{border-left:0;border-top:1px solid rgba(255,255,255,.38);padding:30px 0 0;gap:22px;}.contact-inner h2{font-size:clamp(38px,8vw,53px);}.map-head{padding-top:45px;padding-bottom:30px;}.map-head h2{font-size:39px;}.map-embed{height:300px;}
 .footer-top{gap:20px;flex-wrap:wrap;}.profile-panel{display:flex;flex-direction:column;height:min(92dvh,920px);max-height:none;overflow-y:auto;}.modal-portrait{order:1;min-height:0;height:clamp(320px,54dvh,480px);flex:none;}.modal-portrait img{height:100%;width:100%;object-fit:cover;object-position:center 36%;}.modal-copy{order:2;height:auto;overflow:visible;padding:34px 28px 40px;}.profile-modal{padding:12px;}.modal-close{right:12px;top:12px;}
}
@media(max-width:450px){.container,.firms-layout{width:calc(100% - 36px);}.hero-content{width:calc(100% - 36px);padding:51px 0 44px;}.hero h1{font-size:clamp(39px,10vw,49px);}.button-group{flex-direction:column;align-items:stretch;}.button-group .btn{width:100%;}.hero-image{height:295px;}.hero-points{grid-template-columns:1fr;}.hero-points>div:last-child{grid-column:auto;}.about-photo-band{height:270px;}.practice-area-grid{gap:9px;}.practice{padding:19px 13px;}.practice strong{font-size:12px;}.founder-image{height:auto;padding-top:0;}.founder-image::before{inset:4% 0 2% 0;border-radius:24px;}.founder-image img{height:auto;max-height:455px;width:min(100%,320px);}.founder-tag{left:10px;bottom:10px;padding:11px 14px;}.approach-grid article{min-height:205px;padding:19px 16px;}.approach-grid h3{font-size:17px;}.map-head{flex-direction:column;align-items:flex-start;gap:15px;}.footer-top{flex-direction:column;align-items:flex-start;}.mobile-nav nav a{font-size:26px;padding:14px 0;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}

@media(max-width:450px){.profile-panel{height:calc(100dvh - 20px);}.modal-portrait{height:clamp(330px,50dvh,450px);}.modal-portrait img{object-position:center 29%;}.modal-copy{padding:30px 22px 36px;}}

/* 2026-10-18 image treatment refinement */
@media(max-width:740px){.contact-section:before{background:linear-gradient(180deg,rgba(6,25,34,.86) 0%,rgba(6,25,34,.60) 34%,rgba(6,25,34,.36) 64%,rgba(6,25,34,.68) 100%);} .contact-photo img{object-position:center 42%;}}

/* KH-20261019-DESKTOP-HERO-007
   Approved desktop hero: more skyline visible on the left, with a soft wash
   preserving text contrast. Phones and tablets are deliberately unchanged. */
@media (min-width: 991px) {
  .hero-wash {
    background: linear-gradient(90deg,
      rgba(255,255,255,.72) 0%, rgba(255,255,255,.64) 24%,
      rgba(255,255,255,.55) 35%, rgba(255,255,255,.34) 47%,
      rgba(255,255,255,.10) 63%, rgba(255,255,255,0) 86%);
  }
}
