:root{--ink:#1d1b1a;--paper:#fbfaf7;--warm:#eee7df;--line:#d8d0c8;--header:72px;}*{box-sizing:border-box;}html{scroll-behavior:smooth;scroll-padding-top:var(--header);}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.55;}h1,h2,h3,blockquote{font-family:Georgia,'Times New Roman',serif;font-weight:400;}a{color:inherit;text-decoration:none;}.site-header{height:var(--header);position:fixed;inset:0 0 auto;z-index:50;background:rgba(251,250,247,.96);backdrop-filter:blur(10px);display:flex;align-items:center;padding:0 5vw;border-bottom:1px solid rgba(0,0,0,.08);gap:34px;}.brand{display:flex;flex-direction:column;line-height:1;}.brand strong{font-size:28px;letter-spacing:-1px;}.brand span{font-size:8px;letter-spacing:3px;margin-top:8px;}.site-header nav{display:flex;gap:28px;margin-left:auto;align-items:center;font-size:14px;}.site-header nav>a,.nav-drop>a{padding:26px 0;}.header-contact{display:flex;gap:18px;font-size:13px;}.nav-drop{position:relative;}.dropdown{display:none;position:absolute;top:58px;left:-20px;min-width:160px;background:var(--paper);box-shadow:0 10px 30px #0002;padding:10px;}.dropdown a{display:block;padding:9px 12px;}.nav-drop:hover .dropdown{display:block;}.menu{display:none;border:0;background:none;font-size:25px;}.hero{min-height:650px;margin-top:var(--header);background:linear-gradient(90deg,rgba(20,24,28,.78) 0%,rgba(20,24,28,.48) 43%,rgba(20,24,28,.05) 75%),url('assets/hero.jpg') center/cover no-repeat;display:flex;align-items:center;color:white;padding:7vw;}.hero-copy{max-width:650px;}.hero h1{font-size:clamp(52px,7vw,92px);line-height:.95;margin:15px 0 24px;}.hero p{font-size:18px;}.eyebrow,.caps{letter-spacing:4px;font-size:12px!important;}.button{display:inline-block;border:1px solid currentColor;padding:14px 24px;text-transform:uppercase;letter-spacing:2px;font-size:11px;margin-top:14px;background:transparent;color:inherit;cursor:pointer;}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px;}.services article{min-height:310px;background:linear-gradient(#0002,#0009),var(--bg) center/cover;display:flex;align-items:flex-end;justify-content:center;text-align:center;color:white;padding:35px;}.services h2{font-size:32px;text-transform:uppercase;margin:0;}.services article a{display:inline-block;border:1px solid white;padding:9px 18px;text-transform:uppercase;letter-spacing:2px;font-size:10px;}.section{max-width:1200px;margin:auto;padding:85px 5vw;}.about{display:grid;grid-template-columns:300px 1fr 260px;gap:45px;align-items:center;}.about>img{width:100%;height:430px;object-fit:cover;}.about h2,.portfolio h2,.pricing h2,.contact h2{font-size:clamp(32px,4vw,48px);line-height:1.1;margin:8px 0 22px;}.about blockquote{border-left:1px solid var(--line);padding:30px;font-size:24px;text-align:center;font-style:italic;}.about blockquote span{display:block;font:10px Arial;margin-top:25px;letter-spacing:2px;}.text-link{display:inline-block;margin-top:10px;border-bottom:1px solid;}.portfolio{max-width:1400px;}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:18px;}.gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd;}.gallery .wide{grid-column:span 2;}.gallery .tall{grid-row:span 2;}.gallery img{width:100%;height:100%;object-fit:cover;transition:.5s;}.gallery figure:hover img{transform:scale(1.035);}figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px 15px 12px;color:#fff;background:linear-gradient(transparent,#000b);font-family:Georgia;font-size:17px;}.pricing{text-align:center;}.pricing>p{max-width:720px;margin:0 auto 35px;}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;margin:35px 0;}.price-grid>div{border:1px solid var(--line);padding:30px;background:#fff;}.price-grid h3{font-size:27px;margin:0 0 12px;}.dark{background:var(--ink);color:#fff;}.contact{max-width:none;background:linear-gradient(90deg,#17202acc,#17202acc),url('assets/footer.jpg') center/cover;color:#fff;padding:90px 8vw;}.contact>div{max-width:850px;margin:auto;text-align:center;}.contact form{margin-top:35px;}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}.contact input,.contact textarea{width:100%;border:1px solid #ffffff77;background:#ffffff10;color:#fff;padding:15px;margin-bottom:14px;font:inherit;}.contact input::placeholder,.contact textarea::placeholder{color:#ffffffbb;}.direct{display:flex;justify-content:center;gap:35px;margin-top:28px;}footer{display:flex;align-items:center;justify-content:space-between;padding:35px 6vw;background:#171717;color:#fff;}footer p{font-size:12px;color:#bbb;}@media(max-width:900px){:root{--header:64px;}.site-header{padding:0 20px;}.site-header nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 10px 20px #0002;}.site-header nav.open{display:flex;}.site-header nav>a,.nav-drop>a{display:block;padding:12px 0;}.dropdown{display:block;position:static;box-shadow:none;padding:0 0 0 15px;background:transparent;}.menu{display:block;margin-left:auto;}.header-contact{display:none;}.brand strong{font-size:23px;}.hero{min-height:590px;padding:50px 24px;background-position:62% center;}.hero h1{font-size:54px;}.services{grid-template-columns:1fr;}.services article{min-height:360px;}.about{grid-template-columns:1fr;}.about>img{height:480px;}.about blockquote{border-left:0;border-top:1px solid var(--line);}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:220px;}.gallery .wide{grid-column:span 2;}.gallery .tall{grid-row:span 1;}.price-grid{grid-template-columns:1fr;}footer{flex-direction:column;gap:20px;text-align:center;}}@media(max-width:560px){.section{padding:65px 20px;}.hero h1{font-size:45px;}.hero p{font-size:16px;}.gallery{grid-template-columns:1fr;grid-auto-rows:250px;}.gallery .wide{grid-column:span 1;}.form-row{grid-template-columns:1fr;}.direct{flex-direction:column;gap:8px;}.about>img{height:390px;}}

/* Portfolio collage: preserve every image's original aspect ratio with no cropping. */
.portfolio{max-width:1600px;padding-top:55px;padding-bottom:70px;}
.gallery{display:block;columns:4 280px;column-gap:14px;}
.gallery figure,.gallery .wide,.gallery .tall{display:inline-block;width:100%;height:auto;margin:0 0 14px;break-inside:avoid;overflow:hidden;background:transparent;grid-column:auto;grid-row:auto;}
.gallery img{display:block;width:100%;height:auto;object-fit:contain;transition:.35s;}
.gallery figure:hover img{transform:scale(1.015);}
.gallery figcaption{display:none!important;}
@media(max-width:900px){.gallery{columns:2 240px;}}
@media(max-width:560px){.gallery{columns:1;}.portfolio{padding-left:14px;padding-right:14px;}}
