@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');:root{--ink:#282923;--muted:#77786e;--paper:#f8f6f0;--green:#69735b;--line:#dfded6;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.demo-ribbon{background:#19243b;color:white;display:flex;justify-content:space-between;align-items:center;padding:10px 5vw;font-size:11px;letter-spacing:.02em}.demo-ribbon a{color:#d8e5ff}.header{height:82px;max-width:1280px;margin:auto;padding:0 5vw;display:flex;justify-content:space-between;align-items:center}.wordmark{font-family:var(--serif);font-size:20px;line-height:1;letter-spacing:-.04em}.wordmark span{display:block;font-family:'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.19em;font-size:8px;margin-top:6px}.header nav{display:flex;gap:30px;align-items:center;font-size:11px}.nav-contact{border-bottom:1px solid var(--ink);padding:10px 0}.nav-contact b{padding-left:10px}.hero{max-width:1280px;margin:auto;padding:46px 5vw 80px;min-height:590px;position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center}.hero-copy{padding:10px 0 0 3vw;z-index:2}.kicker{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--green);font-weight:700}.hero h1{font:500 clamp(53px,7vw,91px)/.99 var(--serif);letter-spacing:-.055em;margin:22px 0}.hero h1 em,.section-heading h2 em,.intro-band em,.about h2 em,.contact h2 em{font-weight:500;color:var(--green)}.intro{color:#696a61;line-height:1.8;font-size:13px;max-width:390px}.button{display:inline-flex;align-items:center;gap:15px;background:var(--ink);color:white;border:0;padding:14px 18px;font-size:10px;text-decoration:none;cursor:pointer;margin-top:17px}.button span{font-size:14px}.hero-caption{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:11px;margin-top:30px}.hero-photo{height:485px;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.photo-note{position:absolute;right:-14px;bottom:20px;background:var(--paper);padding:12px 15px;font:italic 12px var(--serif)}.hero-scribble{position:absolute;z-index:2;right:4vw;top:30px;color:#f7f5ee;font:italic 13px var(--serif);text-align:right;text-shadow:0 1px 4px #3337}.intro-band{max-width:1100px;margin:auto;padding:54px 5vw;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:25px}.section-index{font-size:8px;letter-spacing:.15em;color:var(--muted)}.intro-band p{font:500 clamp(20px,2.9vw,34px)/1.4 var(--serif);margin:0}.intro-side{font-size:10px;line-height:1.7;color:var(--muted);justify-self:end}.portfolio{max-width:1160px;padding:100px 5vw;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading h2,.about h2,.contact h2{font:500 clamp(38px,5vw,58px)/1.04 var(--serif);letter-spacing:-.045em;margin:13px 0}.section-heading>p{max-width:250px;font-size:11px;color:var(--muted);line-height:1.7}.gallery{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:260px 235px;gap:15px}.gallery figure{position:relative;margin:0;overflow:hidden;background:#e5e2d7}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.035)}.gallery-large{grid-row:span 2}.gallery-tall img{object-position:center 60%}.gallery figcaption{position:absolute;left:16px;bottom:14px;background:var(--paper);font:14px var(--serif);padding:8px 11px}.gallery figcaption span{display:block;font:8px 'DM Sans',sans-serif;color:var(--muted);margin-top:3px}.about{background:#edece4;padding:80px max(5vw,calc((100vw - 1080px)/2));display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-image{height:370px}.about-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.about>div:last-child>p:not(.kicker){font-size:12px;color:#696a61;line-height:1.9;max-width:430px}.underlink{display:inline-block;border-bottom:1px solid var(--ink);padding:10px 0;font-size:10px;margin-top:13px}.underlink span{margin-left:10px}.contact{max-width:860px;margin:auto;padding:94px 5vw 100px;text-align:center}.contact>p:not(.kicker){font-size:12px;color:var(--muted)}.demo-form{max-width:520px;margin:35px auto 0;text-align:left;display:grid;gap:12px}.demo-form label{font-size:9px;font-weight:700}.demo-form input,.demo-form textarea{display:block;width:100%;margin-top:6px;background:transparent;border:1px solid #d2d1c8;padding:12px;font:11px 'DM Sans',sans-serif;color:var(--ink)}.demo-form .button{justify-self:center}.form-message{font-size:9px;color:var(--muted);text-align:center}footer{border-top:1px solid var(--line);padding:24px 5vw;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted)}footer>a:last-child{color:var(--green)}@media(max-width:700px){.demo-ribbon{font-size:9px;gap:10px}.header{height:70px}.header nav{gap:11px;font-size:9px}.header nav>a:first-child,.header nav>a:nth-child(2){display:none}.hero{padding-top:24px;grid-template-columns:1fr;gap:25px}.hero-copy{padding-left:0}.hero h1{font-size:62px}.hero-photo{height:370px}.hero-scribble{top:auto;bottom:405px;right:25px}.intro-band{grid-template-columns:1fr;gap:12px;padding-block:35px}.intro-side{justify-self:start}.portfolio{padding-block:65px}.section-heading{display:block}.section-heading>p{margin-top:15px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 180px}.gallery-large{grid-row:span 2}.about{padding:55px 7vw;grid-template-columns:1fr;gap:25px}.about-image{height:300px}.contact{padding-block:65px}footer{flex-wrap:wrap;gap:15px}footer>*{width:45%}footer>a:last-child{text-align:right}}


/* Demo ribbon: prominent and persistent on every screen. */
.demo-ribbon{position:sticky;top:0;z-index:1000;min-height:64px;padding:18px 5vw;background:#203b32;color:#fff;box-shadow:0 3px 12px #203b3233}
.demo-ribbon a{color:#fff;font-size:15px;font-weight:800;line-height:1.25;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
@media(max-width:600px){.demo-ribbon{min-height:58px;padding:14px 4vw;gap:12px}.demo-ribbon span{font-size:10px}.demo-ribbon a{font-size:13px}}
