:root{--navy:#0d1b2a;--ink:#18212b;--cream:#f7f4ee;--white:#fff;--gold:#b8955a;--muted:#6b7280;--line:#ddd7cc;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{font-size:.76rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);font-weight:700}.serif,h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:500}.topbar{background:var(--navy);color:#dfe6ed;font-size:.82rem;padding:8px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:20px}.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eee}.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px}.brand{font-family:Georgia,serif;font-size:1.45rem;letter-spacing:.03em;color:var(--navy)}.brand small{display:block;font-family:Arial,sans-serif;font-size:.58rem;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin-top:-4px}.links{display:flex;align-items:center;gap:26px;font-size:.92rem}.btn{display:inline-block;padding:13px 22px;border:1px solid var(--gold);background:var(--gold);color:#fff;text-transform:uppercase;letter-spacing:.09em;font-size:.75rem;font-weight:700}.btn.outline{background:transparent;color:var(--navy)}.hero{min-height:670px;background:linear-gradient(90deg,rgba(13,27,42,.96) 0%,rgba(13,27,42,.89) 45%,rgba(13,27,42,.18) 74%),url('../images/sam-portrait.jpg') 82% 24%/cover no-repeat;color:white;display:flex;align-items:center}.hero-copy{max-width:650px;padding:90px 0}.hero h1{font-size:clamp(3rem,6vw,5.4rem);line-height:.98;margin:14px 0 25px}.hero p{font-size:1.15rem;max-width:560px;color:#e4e8ec}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero .outline{color:white;border-color:#d8c49e}.section{padding:90px 0}.section.alt{background:var(--cream)}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.section h2{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.08;color:var(--navy);margin:10px 0 20px}.lead{font-size:1.12rem;color:#46515d}.portrait-card{position:relative}.portrait-card img{width:100%;height:520px;object-fit:cover;object-position:center 25%}.portrait-card:after{content:'';position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:-1}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}.card{border:1px solid var(--line);padding:34px 28px;background:white;min-height:280px;transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,27,42,.08)}.card .num{font-family:Georgia,serif;color:var(--gold);font-size:1.2rem}.card h3{font-size:1.55rem;color:var(--navy);margin:18px 0 12px}.text-link{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:4px}.quote{background:var(--navy);color:white;padding:80px 0;text-align:center}.quote blockquote{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.2;max-width:920px;margin:0 auto 20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split img{height:560px;width:100%;object-fit:cover}.bullets{padding:0;list-style:none}.bullets li{padding:13px 0;border-bottom:1px solid var(--line)}.cta{background:var(--cream);text-align:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.contact-box{background:var(--navy);color:white;padding:45px}.contact-box h2{color:white}.contact-box a{border-bottom:1px solid rgba(255,255,255,.35)}form{display:grid;gap:14px}input,textarea,select{width:100%;padding:14px;border:1px solid #d6d6d6;background:white;font:inherit}textarea{min-height:130px}.page-hero{background:var(--navy);color:white;padding:105px 0 80px}.page-hero h1{font-size:clamp(3rem,6vw,5rem);margin:8px 0 18px;line-height:1}.page-hero p{max-width:720px;color:#dce3e8;font-size:1.12rem}.article{max-width:820px}.article h2{margin-top:48px}.note{border-left:3px solid var(--gold);background:var(--cream);padding:20px 24px;margin:28px 0}.footer{background:#08131f;color:#b9c1c9;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer h3{color:white;margin-top:0}.footer small{display:block;border-top:1px solid #263441;margin-top:35px;padding-top:22px}.mobile{display:none}
@media(max-width:900px){.links{display:none}.mobile{display:block}.hero{min-height:600px;background:linear-gradient(rgba(13,27,42,.86),rgba(13,27,42,.86)),url('../images/sam-portrait.jpg') center/cover}.intro,.split,.contact-grid{grid-template-columns:1fr}.services{grid-template-columns:1fr 1fr}.portrait-card img,.split img{height:430px}.footer-grid{grid-template-columns:1fr}.topbar .wrap{display:block;text-align:center}.topbar span:last-child{display:none}}
@media(max-width:580px){.wrap{width:min(var(--max),calc(100% - 28px))}.section{padding:65px 0}.services{grid-template-columns:1fr}.hero-copy{padding:70px 0}.hero h1{font-size:3.2rem}.actions .btn{width:100%;text-align:center}}

/* About page photo story */
.about-story{align-items:start}
.about-gallery{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:250px 250px 250px;gap:12px;position:sticky;top:105px}
.about-gallery img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.about-gallery .gallery-main{grid-row:1 / span 2;object-position:center 25%}
.about-gallery img:nth-child(2){object-position:center top}
.about-gallery img:nth-child(3){object-position:center 35%}
.about-gallery img:nth-child(4){grid-column:1 / span 2;object-position:center 18%}
.about-gallery img:nth-child(5){display:none}
@media(max-width:900px){.about-gallery{position:static;grid-template-columns:1fr 1fr;grid-template-rows:330px 220px 260px}.about-gallery .gallery-main{grid-row:auto;grid-column:1 / span 2}.about-gallery img:nth-child(4){grid-column:auto}.about-gallery img:nth-child(5){display:block}.about-gallery img{height:100%}}
@media(max-width:580px){.about-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:310px 190px 230px;gap:8px}.about-gallery .gallery-main{grid-column:1 / span 2}.about-gallery img:nth-child(4){grid-column:1 / span 2}.about-gallery img:nth-child(5){display:none}}
