/* Matt & Marie Photography — Heirloom Editorial.
   Rules below come from the owner-approved prototype (2026-11-08), in the same cascade order, with the
   styles for the two rejected concepts removed. The prototype's later override blocks are kept as-is so
   the approved look (light hero headline, thin awards row, 3/2/1 Kind Words) does not regress.
   Production additions are at the bottom of the file. */
:root{--navy:#243b51;--ink:#28333b;--muted:#61686b;--paper:#f8f6f1;--surface:#fff;--line:#e2e0d9;--accent:#bcaa98;--button:#253d52;--on-button:#fff;--font:"Segoe UI","Avenir Next","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
button,input,a{font:inherit}
button{cursor:pointer}
a{color:inherit}
button:focus-visible,a:focus-visible{outline:3px solid #9bcbe3;outline-offset:4px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.08;letter-spacing:-.055em;font-weight:500}
h1{font-size:clamp(3.2rem,6vw,6.5rem)}
h2{font-size:clamp(2rem,4.2vw,4.1rem)}
p{line-height:1.75;color:var(--muted)}
.section-wrap{width:min(1300px,calc(100% - 100px));margin:auto}
.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 max(36px,calc((100vw - 1370px)/2));border-bottom:1px solid var(--line);background:var(--surface);position:relative;z-index:20}
.brand{background:none;border:0;padding:0}
.brand img{width:198px;height:auto;max-height:75px;object-fit:contain}
.nav{display:flex;align-items:center;gap:clamp(12px,2.1vw,32px)}
.nav a:not(.book){border:0;background:none;padding:8px 0;color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.005em;white-space:nowrap}
.nav a[aria-current=page]:not(.book){border-bottom:2px solid var(--ink)}
.nav .book{background:var(--button);padding:13px 20px;color:var(--on-button);border:1px solid var(--button);font-size:12px}
.nav .book:hover,.btn:hover{filter:brightness(1.11)}
.menu-toggle{display:none;align-items:center;justify-content:center;border:1px solid var(--line);background:transparent;color:var(--ink);padding:6px 12px;font-size:22px}
.site-main>.view[hidden]{display:none!important}
.kicker{display:block;font-weight:700;font-size:11px;line-height:1.5;letter-spacing:.14em;color:var(--navy);margin-bottom:20px}
.btn{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;text-decoration:none;line-height:1.15;padding:17px 23px;font-weight:600;font-size:13px;border-radius:2px;white-space:nowrap}
.btn.primary{background:var(--button);color:var(--on-button);border:1px solid var(--button)}
.btn.outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:30px 0}
.hero p{max-width:505px}
.hero-editorial{width:min(1370px,calc(100% - 85px));margin:0 auto;min-height:690px;display:grid;grid-template-columns:53% 47%;align-items:center;padding:55px 0 72px}
.hero-copy{padding-right:48px}
.hero-editorial h1{max-width:700px}
.hero-editorial h1 .highlight{color:#8b7468}
.hero-copy>p{max-width:500px}
.hero-note{font-size:13px;color:#868079;margin-top:34px}
.editorial-images{position:relative;min-height:600px;padding-left:22%}
.editorial-images .hero-main{height:575px;width:100%;object-fit:cover;object-position:center}
.editorial-images .hero-detail{position:absolute;bottom:-16px;left:-3%;width:42%;height:225px;object-fit:cover;border:9px solid var(--paper);box-shadow:0 6px 20px #1a1a1a17}
.awards{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:45px 0}
.awards-wrap{display:grid;grid-template-columns:31% 69%;gap:25px;align-items:center}
.awards h2{font-size:clamp(2rem,3.1vw,3.1rem);margin-bottom:10px}
.awards h2 span{color:#88929c}
.awards p{font-size:13px}
.award-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.award{background:var(--surface);padding:21px 17px;min-height:180px;display:flex;flex-direction:column;gap:7px}
.award-year{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--navy)}
.award strong{font-weight:650;font-size:17px;line-height:1.25}
.award small{color:var(--muted);font-size:11px;line-height:1.5}
.path-section{padding:105px 0}
.section-heading{max-width:690px;margin-bottom:34px}
.section-heading h2{margin-bottom:14px}
.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.path{border:0;padding:0;position:relative;height:490px;overflow:hidden;background:#d6d6d6;text-align:left;color:white}
.path:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.7))}
.path>img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.path:hover>img{transform:scale(1.035)}
.path-content{position:absolute;inset:auto 30px 28px;z-index:1;display:flex;flex-direction:column;gap:9px}
.path-content span{font-size:11px;font-weight:650;letter-spacing:.08em}
.path-content strong{font-size:38px;font-weight:500;letter-spacing:-.04em}
.intro-block{display:grid;grid-template-columns:48% 52%;gap:70px;align-items:center;padding:20px 0 105px}
.intro-block>div:first-child{height:510px}
.intro-photo{width:100%;height:100%;object-fit:cover}
.intro-copy{padding:20px 60px 20px 0;max-width:640px}
.intro-copy p{font-size:16px}
.text-link{background:none;border:0;border-bottom:1px solid var(--ink);padding:5px 0;font-weight:700;color:var(--ink);margin-top:10px}
.featured-gallery{padding:0 0 95px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0 100px}
.gallery-four{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}
.photo-card{border:0;padding:0;position:relative;background:#d8d9d6;aspect-ratio:4/5;overflow:hidden}
.gallery-four .photo-card{aspect-ratio:3/4}
.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.photo-card:hover img{transform:scale(1.04)}
.photo-zoom{position:absolute;right:12px;bottom:12px;background:#fff;color:#26394c;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;font-size:15px}
.cta{background:#243b51;color:white;text-align:center;padding:83px 0 92px}
.cta .kicker{color:#cbd8e0}
.cta h2{font-size:clamp(2.6rem,4.5vw,4.6rem);margin:0 0 17px}
.cta p{color:#d4dde5;margin-bottom:28px}
.cta .btn.primary{background:white;border-color:white;color:#243b51}
.cta-mail{display:block;color:#d4dde5;margin-top:18px;font-size:13px}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px max(30px,calc((100vw - 1300px)/2));background:#182b3c;color:#e0e4e6;font-size:12px}
.site-footer a{color:inherit}
.secondary-hero{padding:80px 0;display:grid;grid-template-columns:46% 54%;gap:54px;align-items:center}
.secondary-hero h1{font-size:clamp(3rem,5vw,5.6rem);margin-bottom:26px}
.secondary-hero .btn{margin-top:20px}
.secondary-photo{height:570px;overflow:hidden}
.secondary-photo img{width:100%;height:100%;object-fit:cover}
.text-photo-grid{display:grid;grid-template-columns:50% 50%;gap:45px;padding:50px 0 110px;align-items:center}
.text-photo-grid img{width:100%;height:510px;object-fit:cover}
.text-col{max-width:590px;padding-right:58px}
.text-photo-grid.flip img{order:-1}
.text-photo-grid.flip .text-col{padding-left:50px;padding-right:0}
.text-col h2{font-size:clamp(2.2rem,4vw,3.9rem);margin-bottom:30px}
.text-col p{font-size:16px}
.about-bios{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:20px 0 100px}
.about-bios h2{font-size:2.4rem}
.about-bios p{max-width:470px}
.lightbox{border:0;max-width:min(95vw,1250px);max-height:94vh;padding:16px 16px 44px;background:#141619;color:white;box-shadow:0 15px 60px #0008}
.lightbox::backdrop{background:#050608e8}
.lightbox img{max-height:80vh;max-width:calc(95vw - 32px);width:auto;margin:auto;object-fit:contain}
.lightbox-close{position:absolute;right:15px;top:12px;border:0;border-radius:50%;width:37px;height:37px;background:#fff;color:#111;font-size:25px}
.lightbox-caption{color:#c9cdd0;font-size:13px;padding:10px 4px 0}
.layout-a{--paper:#f6f3ed;--surface:#fbfaf7;--ink:#3a3a34;--muted:#746f66;--line:#e1dbd0;--navy:#304e65;--button:#344a5c;--on-button:white}
.layout-a .hero-editorial h1{font-weight:450}
.layout-a .award-grid{border-color:#ddd6ca}
.layout-a .award{background:#fbfaf7}
@media(max-width:1050px){
  .section-wrap{width:calc(100% - 56px)}
  .site-header{padding:0 28px}
  .hero-editorial{width:calc(100% - 56px)}
  .hero-editorial{min-height:0}
  .editorial-images{min-height:440px;padding-left:15%}
  .editorial-images .hero-main{height:440px}
  .editorial-images .hero-detail{height:160px}
  .awards-wrap{grid-template-columns:1fr}
  .award-grid{max-width:100%}
  .intro-block{gap:35px}
  .secondary-photo{height:440px}
  .text-photo-grid img{height:440px}
}
@media(max-width:720px){
  .section-wrap{width:calc(100% - 38px)}
  .site-header{height:75px;padding:0 19px}
  .brand img{width:163px}
  .menu-toggle{display:flex}
  .nav{display:none;position:absolute;top:75px;left:0;right:0;padding:18px 20px 22px;background:var(--surface);box-shadow:0 16px 30px #0002;flex-direction:column;align-items:stretch;gap:4px}
  .nav.is-open{display:flex}
  .nav a:not(.book){font-size:15px;text-align:left;padding:13px 10px}
  .nav .book{text-align:center;margin-top:5px}
  .hero-editorial{display:flex;flex-direction:column;align-items:stretch;padding:55px 0 45px;width:calc(100% - 38px)}
  .hero-copy{padding:0}
  .hero-editorial h1{font-size:clamp(3.15rem,10.5vw,4.6rem)}
  .editorial-images{padding-left:0;min-height:0;margin:20px 0 0}
  .editorial-images .hero-main{width:88%;height:380px;margin-left:auto}
  .editorial-images .hero-detail{width:36%;height:170px;left:0;bottom:-18px;border-width:5px}
  .awards{padding:60px 0}
  .awards-wrap{gap:20px}
  .awards h2{font-size:2.7rem}
  .award-grid{grid-template-columns:repeat(2,1fr)}
  .award{min-height:158px}
  .path-section{padding:68px 0}
  .path-grid{grid-template-columns:1fr;gap:13px}
  .path{height:355px}
  .intro-block,.text-photo-grid{grid-template-columns:1fr;padding:10px 0 80px;gap:28px}
  .intro-block>div:first-child{height:380px}
  .intro-copy{padding:0 4px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:75px}
  .gallery-four{grid-template-columns:repeat(2,1fr)}
  .featured-gallery{padding-bottom:50px}
  .secondary-hero{display:flex;flex-direction:column;align-items:stretch;padding:48px 0 60px;gap:32px}
  .secondary-hero h1{font-size:clamp(3rem,10vw,4.4rem)}
  .secondary-photo{height:420px}
  .text-photo-grid img{height:350px}
  .text-col,.text-photo-grid.flip .text-col{padding:0}
  .text-photo-grid.flip img{order:0}
  .text-col h2{font-size:2.7rem}
  .about-bios{grid-template-columns:1fr;gap:20px}
  .cta{padding:70px 0}
  .site-footer{flex-direction:column;align-items:flex-start;padding:24px 20px}
  .actions{gap:10px}
  .actions .btn{width:auto}
  .btn{font-size:12px;padding:16px 18px}
}
@media(max-width:420px){
  .hero-editorial h1{font-size:3.1rem}
  .editorial-images .hero-main{height:320px}
  .editorial-images .hero-detail{height:130px}
  .award-grid{grid-template-columns:1fr}
  .award{min-height:0}
  .actions .btn{width:100%;justify-content:space-between}
  .site-header .brand img{width:155px}
  .path{height:310px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
/* Our Story – expanded photographer biographies */
.about-bios{align-items:start;gap:clamp(30px,6vw,94px);padding-top:34px;padding-bottom:74px}
.bio-entry{border-top:1px solid var(--line);padding-top:29px}
.bio-entry .kicker{margin-bottom:9px}
.bio-entry h2{font-size:clamp(3rem,4.4vw,4.8rem);font-weight:500;letter-spacing:-.055em;line-height:1.05;margin-bottom:7px}
.bio-entry .bio-role{color:var(--navy);font-weight:700;font-size:17px;line-height:1.5;margin-bottom:26px}
.bio-entry p{font-size:15px;line-height:1.85;max-width:570px;margin-bottom:16px}
.bio-entry p em{font-style:normal;font-weight:650}
.our-journey{border-top:1px solid var(--line);padding-top:65px;padding-bottom:108px;display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:start}
.our-journey .kicker{grid-column:1/-1;margin-bottom:20px}
.our-journey h2{font-size:clamp(2.5rem,4vw,4.5rem);max-width:650px}
.our-journey .journey-copy p{font-size:16px;max-width:570px}
.our-journey .journey-copy strong{color:var(--navy)}
.about-portrait-photo{object-position:50% 56%!important}
@media(max-width:720px){
  .about-bios{gap:36px;padding-bottom:62px}
  .our-journey{display:block;padding-top:55px;padding-bottom:76px}
  .our-journey h2{margin-bottom:24px}
  .bio-entry h2{font-size:3.1rem}
  .bio-entry p{font-size:15px}
}
/* Revisions — homepage voice, tighter leading, Kind Words, and social link */
.layout-a h1,.layout-a h2,.layout-a h3{line-height:1.025;letter-spacing:-.052em}
.layout-a .hero-editorial h1{line-height:1.015;letter-spacing:-.057em;font-weight:500;margin-bottom:19px;font-size:clamp(3.3rem,5.35vw,5.9rem)}
.layout-a .secondary-hero h1{line-height:1.03}
.layout-a .intro-copy h2{line-height:1.07;margin-bottom:21px}
.layout-a p{line-height:1.55}
.layout-a .hero-editorial{min-height:700px;grid-template-columns:53% 47%;padding:55px 0 72px}
.layout-a .hero-copy{padding-right:55px}
.layout-a .hero-introduction{max-width:590px}
.layout-a .hero-introduction p{font-size:15px;line-height:1.52;margin:0 0 10px}
.layout-a .hero-introduction strong{color:var(--ink);font-weight:650}
.layout-a .hero-introduction .hero-ident{font-size:16px}
.layout-a .hero-introduction .hero-belief{font-size:17px;line-height:1.4;font-weight:500;color:var(--ink);max-width:540px}
.layout-a .hero-introduction .hero-belief em{font-style:normal;color:var(--navy);font-weight:750}
.layout-a .hero-introduction .hero-invite{font-size:14px;color:#625f58}
.layout-a .hero-copy .actions{margin:18px 0 15px}
.layout-a .hero-copy .hero-note{margin-top:8px}
.layout-a .path-section{padding-bottom:74px}
.layout-a .intro-block{grid-template-columns:minmax(0,0.95fr) minmax(0,1fr);gap:clamp(28px,5vw,70px)}
.layout-a .intro-copy{min-width:0;padding-right:clamp(4px,2vw,28px)}
.layout-a .kind-words{padding:76px 0 86px;background:#fffefa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.layout-a .kind-header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}
.layout-a .kind-header .kicker{margin-bottom:12px}
.layout-a .kind-header h2{font-size:clamp(2.3rem,4.1vw,4.3rem);margin:0 0 8px;line-height:1.035}
.layout-a .kind-header p{font-size:15px;margin:0}
.layout-a .kind-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.layout-a .kind-count{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.1em;margin-right:8px;min-width:84px}
.layout-a .kind-controls button{width:45px;height:45px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:22px;color:var(--ink);display:grid;place-items:center}
.layout-a .kind-controls button:hover{background:#f2eee8}
.layout-a .kind-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.layout-a .kind-card{border:1px solid #e5ddd0;background:var(--paper);padding:32px 33px 26px;display:flex;flex-direction:column;min-height:270px}
.layout-a .kind-card:before{content:'“';font-size:47px;font-family:Georgia,serif;line-height:1;color:#a18e7d;height:31px}
.layout-a .kind-quote{color:var(--ink);font-size:16px;line-height:1.56;margin:15px 0 24px;flex:1}
.layout-a .kind-author{color:var(--navy);font-size:13px;font-weight:750;letter-spacing:.01em;margin-top:auto}
.layout-a .kind-words + .intro-block{padding-top:96px}
.layout-a .site-footer a:last-child{text-underline-offset:3px}
@media(max-width:1050px){
  .layout-a .hero-editorial{grid-template-columns:55% 45%;gap:4px}
  .layout-a .hero-copy{padding-right:28px}
  .layout-a .hero-editorial h1{font-size:clamp(3rem,5.2vw,5rem)}
  .layout-a .hero-introduction p{font-size:14px}
  .layout-a .hero-introduction .hero-ident{font-size:15px}
}
@media(max-width:720px){
  .layout-a .hero-editorial{display:flex;flex-direction:column;min-height:0;padding:43px 0 52px;gap:0}
  .layout-a .hero-copy{padding-right:0}
  .layout-a .hero-editorial h1{font-size:clamp(3rem,10vw,4.3rem);line-height:1.035}
  .layout-a .hero-introduction p{font-size:15px}
  .layout-a .hero-introduction .hero-belief{font-size:17px}
  .layout-a .hero-copy .actions{margin:20px 0}
  .layout-a .path-section{padding-bottom:60px}
  .layout-a .kind-words{padding:57px 0 64px}
  .layout-a .kind-header{align-items:start;flex-direction:column;gap:17px}
  .layout-a .kind-header h2{font-size:2.65rem}
  .layout-a .kind-cards{grid-template-columns:1fr}
  .layout-a .kind-card{min-height:0;padding:25px 23px}
  .layout-a .kind-words + .intro-block{padding-top:60px;grid-template-columns:1fr}
  .layout-a .kind-quote{font-size:15px}
}
/* Matt & Marie · Heirloom refinement, 2026-11-08 */
.layout-a .hero-editorial h1{font-weight:400!important;line-height:.995!important;letter-spacing:-.054em!important;margin-bottom:22px}
.layout-a .hero-editorial h1 .highlight{font-weight:400!important}
.layout-a .hero-introduction p,.layout-a .hero-introduction .hero-ident,.layout-a .hero-introduction .hero-belief,.layout-a .hero-introduction .hero-invite{font-weight:400!important;font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 11px}
.layout-a .hero-introduction .hero-belief{color:var(--ink);font-size:15px}
.layout-a .hero-introduction .hero-belief em{font-weight:400!important;font-style:italic;color:var(--ink)}
.layout-a .hero-copy .actions{margin-top:25px}
.layout-a .hero-editorial{padding-top:56px;padding-bottom:66px}
/* Awards · one restrained botanical wreath per year */
.layout-a .awards{padding:72px 0 78px;background:#fffefa;border-color:#e5ded4}
.layout-a .awards-wrap{display:block;max-width:1290px}
.layout-a .awards-heading{text-align:center;max-width:740px;margin:0 auto 33px}
.layout-a .awards-heading .kicker{margin-bottom:12px}
.layout-a .awards h2{font-size:clamp(2rem,3.35vw,3rem);font-weight:400;line-height:1.13;letter-spacing:-.045em;margin:0 0 10px}
.layout-a .awards h2 span{color:#958579}
.layout-a .awards-heading p{font-size:13px;margin:0;color:#726b61}
.layout-a .award-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;border:0;background:transparent}
.layout-a .award{min-height:236px;text-align:center;align-items:center;justify-content:flex-start;background:#f8f6f1;border:1px solid #e6dfd3;padding:19px 14px 19px;gap:7px;transition:transform .2s ease,border-color .2s ease}
.layout-a .award:hover{transform:translateY(-3px);border-color:#bdb0a2}
.layout-a .award-mark{position:relative;width:158px;height:108px;flex-shrink:0;display:grid;place-items:center}
.layout-a .award-year{position:relative;z-index:1;font-size:23px;font-weight:400;letter-spacing:-.035em;color:#2b4357;margin-top:8px}
.layout-a .award strong{font-size:17px;line-height:1.3;font-weight:600;color:#283944}
.layout-a .award small{font-size:12px;line-height:1.45;max-width:195px;color:#736d64}
/* Testimonial area: navy canvas and short previews, always expandable to full review */
.layout-a .kind-words{background:#243a4d;padding:48px 0 54px;border:0;color:#faf9f5}
.layout-a .kind-header{align-items:end;margin-bottom:22px}
.layout-a .kind-header .kicker{color:#c3d1d9;margin-bottom:6px}
.layout-a .kind-header h2{font-size:clamp(2.1rem,3.5vw,3.3rem);font-weight:400;color:#fff;margin:0 0 3px;line-height:1.08}
.layout-a .kind-header p{color:#cad4dc;font-size:14px}
.layout-a .kind-count{color:#e3e6e8}
.layout-a .kind-controls button{border-color:#6a7e8e;background:transparent;color:#fff;width:39px;height:39px}
.layout-a .kind-controls button:hover{background:#365166}
.layout-a .kind-cards{gap:16px}
.layout-a .kind-card{background:#fbfaf7;border:1px solid #f1eee8;border-radius:2px;padding:19px 23px 18px;min-height:220px;color:#273d4f;display:flex;flex-direction:column}
.layout-a .kind-card::before{font-size:34px;color:#a6907d;height:20px}
.layout-a .kind-quote{font-size:14px;line-height:1.55;color:#3d4850;margin:10px 0 7px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden;flex:initial}
.layout-a .kind-author{font-size:12px;font-weight:650;color:#29445a;margin-top:auto}
.layout-a .kind-words + .intro-block{padding-top:85px}
@media(max-width:1100px){
  .layout-a .award-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:790px;margin:auto}
  .layout-a .award{min-height:222px}
}
@media(max-width:720px){
  .layout-a .hero-editorial h1{font-size:clamp(3rem,10vw,4.3rem);line-height:1!important}
  .layout-a .hero-introduction p,.layout-a .hero-introduction .hero-ident,.layout-a .hero-introduction .hero-belief,.layout-a .hero-introduction .hero-invite{font-size:15px;line-height:1.59}
  .layout-a .awards{padding:51px 0 58px}
  .layout-a .awards-heading{margin-bottom:26px}
  .layout-a .award-grid{gap:9px}
  .layout-a .award{min-height:211px;padding:10px 8px 15px}
  .layout-a .award-mark{height:101px;width:137px}
  .layout-a .award-year{font-size:21px}
  .layout-a .award strong{font-size:15px}
  .layout-a .award small{font-size:11px}
  .layout-a .kind-words{padding:43px 0 47px}
  .layout-a .kind-header{gap:14px;margin-bottom:18px}
  .layout-a .kind-header h2{font-size:clamp(2rem,7vw,2.6rem)}
  .layout-a .kind-card{min-height:215px;padding:17px 19px}
  .layout-a .kind-quote{font-size:14px}
  .layout-a .kind-words + .intro-block{padding-top:62px}
}
@media(max-width:360px){
  .layout-a .award-grid{grid-template-columns:1fr;gap:10px}
  .layout-a .award{min-height:195px}
}
/* FINAL REVIEW 2026-11-08 — preserve the original side-by-side thin awards layout. */
.layout-a .awards{padding:52px 0 56px;background:#fffefa;border-color:#e5ded4}
.layout-a .awards-wrap{display:grid;grid-template-columns:minmax(255px,30%) minmax(0,1fr);gap:32px;align-items:center;max-width:1290px}
.layout-a .awards-heading{text-align:left;max-width:none;margin:0}
.layout-a .awards-heading .kicker{margin-bottom:14px}
.layout-a .awards h2{font-size:clamp(2rem,3.1vw,2.9rem);font-weight:400;line-height:1.11;letter-spacing:-.043em;margin:0 0 12px}
.layout-a .awards h2 span{color:#8e999f}
.layout-a .awards-heading p{font-size:12px;line-height:1.5;color:#756c62;margin:0}
.layout-a .award-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #ded8cd;background:transparent;max-width:none;margin:0}
.layout-a .award{min-width:0;min-height:174px;text-align:left;align-items:flex-start;justify-content:flex-start;background:transparent;border:0;border-right:1px solid #ded8cd;border-radius:0;padding:15px 12px 13px;gap:5px;transform:none;box-shadow:none;transition:none}
.layout-a .award:last-child{border-right:0}
.layout-a .award-mark{width:96px;height:67px;position:relative;display:flex;align-items:center;justify-content:center;align-self:flex-start;margin-left:0;flex-shrink:0}
.layout-a .award-laurel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.86}
.layout-a .award-year{position:relative;z-index:1;top:7px;margin:0;font-size:15px;font-weight:650;letter-spacing:.012em;line-height:1;color:#243b51}
.layout-a .award strong{display:block;font-size:15px;line-height:1.2;font-weight:650;color:#273a48;margin:0}
.layout-a .award small{display:block;font-size:10.5px;line-height:1.5;color:#685f56;margin:0}
/* Compact 3-across Kind Words; each complete card launches a full-text modal. */
.layout-a .kind-words{background:#243a4d;padding:43px 0 49px;border:0;color:#faf9f5}
.layout-a .kind-header{margin-bottom:18px}
.layout-a .kind-header h2{font-size:clamp(2rem,3.5vw,3rem);margin:4px 0 5px;font-weight:400}
.layout-a .kind-header p{font-size:13px;margin:0}
.layout-a .kind-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.layout-a .kind-card{width:100%;min-width:0;min-height:183px;max-height:214px;background:#fbfaf7;border:1px solid #e5ddd1;border-radius:2px;padding:17px 18px 14px;color:#263c50;display:flex;flex-direction:column;gap:3px;text-align:left;box-shadow:none;cursor:pointer;position:relative}
.layout-a .kind-card::before{content:'“';font-size:30px;font-family:Georgia,serif;line-height:.7;height:20px;color:#a18c7c;flex-shrink:0}
.layout-a .kind-quote{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-clamp:4;overflow:hidden;flex:1;min-height:0;max-height:none;font-size:13px;line-height:1.48;margin:7px 0 6px;color:#36444b}
.layout-a .kind-card .kind-author{font-weight:650;color:#243b51;font-size:12px;font-style:normal;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.layout-a .kind-card .kind-open{font-size:10.5px;font-weight:600;color:#355a73;margin-top:3px}
.layout-a .kind-card:hover{border-color:#8b9ca8;transform:translateY(-2px)}
.layout-a .kind-card:focus-visible{outline:3px solid #b3d3e6;outline-offset:4px}
.layout-a .kind-words + .intro-block{padding-top:82px}
.review-dialog{width:min(650px,calc(100vw - 30px));max-height:min(85vh,760px);border:1px solid #d9d2c7;border-radius:7px;background:#fbfaf7;color:#263640;padding:0;box-shadow:0 24px 80px #10213166;overflow:auto}
.review-dialog::backdrop{background:rgba(20,34,47,.74)}
.review-modal-inner{position:relative;padding:clamp(25px,5vw,48px)}
.review-modal-inner .kicker{display:block;color:#243b51;font-size:11px;letter-spacing:.12em;font-weight:700;margin:0 0 10px}
.review-modal-inner h2{font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-.045em;font-weight:450;margin:0 40px 25px 0}
.review-full-quote{font-size:clamp(15px,2vw,17px);line-height:1.72;white-space:pre-line;color:#3c4246;margin:0 0 28px}
.review-full-author{font-size:14px;font-weight:700;color:#243b51;margin:0}
.review-modal-close{position:absolute;top:14px;right:17px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ddd5cb;background:white;color:#243b51;border-radius:50%;font-size:27px;line-height:1;cursor:pointer}
@media(max-width:1100px){
  .layout-a .awards-wrap{grid-template-columns:1fr;gap:20px}
  .layout-a .awards-heading{max-width:none}
  .layout-a .awards-heading h2 br{display:none}
  .layout-a .awards-heading h2 span:before{content:' '}
  .layout-a .award-grid{max-width:none}
}
@media(max-width:900px){
  .layout-a .kind-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .layout-a .kind-card{min-height:178px}
}
@media(max-width:720px){
  .layout-a .awards{padding:42px 0 46px}
  .layout-a .awards-heading{text-align:left;margin:0}
  .layout-a .awards h2{font-size:2.1rem;line-height:1.12}
  .layout-a .award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .layout-a .award:nth-child(2){border-right:0}
  .layout-a .award:nth-child(-n+2){border-bottom:1px solid #ded8cd}
  .layout-a .award{min-height:160px;padding:13px 11px 12px}
  .layout-a .award-mark{height:62px;width:88px}
  .layout-a .kind-words{padding:37px 0 42px}
  .layout-a .kind-cards{grid-template-columns:1fr}
  .layout-a .kind-card{min-height:158px;max-height:200px;padding:16px 18px 15px}
  .layout-a .kind-header{gap:14px}
  .layout-a .kind-words + .intro-block{padding-top:60px}
}

/* ---- Production additions ---- */
/* Navigation and page links are real links now (were JS buttons in the prototype). */
a.brand,.nav a,a.path,a.text-link{text-decoration:none}
a.brand{display:flex;align-items:center}
a.path{display:block}
a.text-link{display:inline-block}
.nav a.book{text-decoration:none}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--button);color:var(--on-button);padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px}
.photo-card:focus-visible,.path:focus-visible,.kind-controls button:focus-visible{outline:3px solid #9bcbe3;outline-offset:4px}
.kind-noscript{display:grid;gap:12px}
.not-found{padding:110px 0 120px;max-width:720px}
.not-found h1{font-size:clamp(2.8rem,5vw,4.6rem);font-weight:400;line-height:1.03;margin-bottom:20px}
.layout-a .kind-card[hidden]{display:none}
/* Prototype fix: percentage columns + gap overflowed the page on tablets (721–1050px). */
@media(max-width:1050px) and (min-width:721px){
  .secondary-hero{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
  .text-photo-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* Our Story only: both stacked photos end exactly at the right margin (owner request). Other pages keep the
   approved prototype layout, where photos overhang the margin slightly. */
@media(min-width:721px){
  .page-about .secondary-hero{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
  .page-about .text-photo-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* Awards refinement (owner feedback 2026-11-08): centred boxes, larger wreath with the year sitting inside it,
   and a small accent rule under the award level. Same thin four-box row; 2x2 on phones. */
.layout-a .award{align-items:center;text-align:center;justify-content:flex-start;padding:22px 16px 20px;gap:0}
.layout-a .award-mark{align-self:center;width:122px;height:94px;margin:0 0 12px}
.layout-a .award-laurel-image{opacity:.8}
.layout-a .award-year{top:-3px;font-size:19px;font-weight:600;letter-spacing:.03em;color:#243b51}
.layout-a .award strong{font-size:16px;letter-spacing:-.01em}
.layout-a .award strong::after{content:'';display:block;width:26px;height:1px;background:#bcaa98;margin:10px auto 9px}
.layout-a .award small{max-width:200px;font-size:11.5px;line-height:1.5}
@media(max-width:720px){
  .layout-a .award{padding:18px 10px 16px}
  .layout-a .award-mark{width:104px;height:80px;margin-bottom:10px}
  .layout-a .award-year{font-size:17px;top:-2px}
  .layout-a .award strong{font-size:15px}
  .layout-a .award strong::after{margin:8px auto 7px}
  .layout-a .award small{font-size:11px}
}
/* Our Story: Matt & Marie bios on a full-width band so they stand apart from the surrounding paper sections.
   Default is navy (same colour as Kind Words); add class "light" to .bios-band for the white version. */
.bios-band{background:#243a4d;padding:84px 0 70px}
.bios-band .about-bios{padding-top:0;padding-bottom:0}
.bios-band .bio-entry{border-top-color:rgba(255,255,255,.2)}
.bios-band .kicker{color:#c3d1d9}
.bios-band .bio-entry h2{color:#fff;font-weight:400}
.bios-band .bio-entry .bio-role{color:#e3d3c1}
.bios-band .bio-entry p{color:#d6dee5}
.bios-band .bio-entry p em{color:#fff}
.bios-band + .our-journey{border-top:0}
.bios-band.light{background:#fffefa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bios-band.light .bio-entry{border-top-color:var(--line)}
.bios-band.light .kicker{color:var(--navy)}
.bios-band.light .bio-entry h2{color:var(--ink);font-weight:500}
.bios-band.light .bio-entry .bio-role{color:var(--navy)}
.bios-band.light .bio-entry p{color:var(--muted)}
.bios-band.light .bio-entry p em{color:var(--ink)}
@media(max-width:720px){.bios-band{padding:56px 0 50px}}
/* Enlargeable photos: no arrow badge (owner request); a zoom cursor hints they open larger. */
.photo-card{cursor:zoom-in}
.lightbox{cursor:zoom-out}
.lightbox:focus{outline:none}
/* No caption under enlarged photos (owner request); the photo description stays as alt text. */
.lightbox{padding:16px}
/* Galleries: square tiles (owner request 2026-11-08), was 4:5 and 3:4. */
.photo-card,.gallery-four .photo-card{aspect-ratio:1/1}
/* Bios: no "Meet Matt/Marie" label or rule above the names (owner request). */
.bio-entry,.bios-band .bio-entry{border-top:0;padding-top:0}
/* Footer: email plus Instagram and Facebook icons (owner request). */
.footer-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.footer-social{display:inline-flex;align-items:center;gap:14px}
.footer-social a{display:inline-flex;color:#e0e4e6;opacity:.85;transition:opacity .2s ease}
.footer-social a:hover{opacity:1}
.footer-social svg{display:block}
/* Between ~1050 and ~1310px the prototype photo overhang is wider than the page margin; stop sideways scroll. */
html{overflow-x:clip}
/* Families & Newborns: the photo under the hero ends at the same right edge as the hero photo (owner request).
   The hero overhangs the margin by its 54px gap and this row by its 45px gap, so match the gap; the hero is untouched. */
@media(min-width:1051px){.page-families .text-photo-grid:not(.flip),.page-newborns .text-photo-grid:not(.flip){column-gap:54px}}
/* Closing section: same light headline weight as the rest of the site, balanced two-line wrap for long
   headlines, and a slightly larger line underneath. */
.cta h2{font-weight:400;max-width:900px;margin-left:auto;margin-right:auto;text-wrap:balance}
.cta p{font-size:17px;max-width:620px;margin:0 auto 30px;text-wrap:balance}
.cta h2{margin-bottom:20px}
@media(max-width:720px){.cta p{font-size:16px}}
.cta h2 .cta-line{display:block;text-wrap:balance}
