/* Paavali presentation system: blue navigation, gold honours, cream reading panels. */
:root{--link-on-cream:#07547a;--muted:#c3cfda}
body{line-height:1.75}
h1,h2,h3,h4,p,a,summary{overflow-wrap:break-word}
.light-section h1,.light-section h2,.light-section h3,.tribute-story h2,.tribute-story h3{color:var(--ink)}
.light-section a:not(.button):not(.text-link):not(.source-link):not(.alphabet-directory a):not(.record-links a),.tribute-story a{color:var(--link-on-cream)}
.light-section a:hover,.light-section a:focus-visible{color:white;background:var(--ink)}
.light-section .eyebrow{color:#285d73}
.major-honours h3,.homepage-major>h2,.achievement-era h2{color:var(--gold)}
.honour-item{border-top-color:var(--gold)}
.light-section .honour-item p{color:var(--ink)}
.lead{color:var(--muted)}
.gallery figcaption,.home-family-photos .gallery figcaption{font-size:14px;line-height:1.55}
a,summary,button{transition:color .15s,background-color .15s}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
header{position:relative;gap:24px;padding:10px max(24px,calc((100vw - 1360px)/2));z-index:20}
header .desktop-navigation{display:flex;gap:22px;align-items:center;font-size:15px}
header .desktop-navigation>a,header summary{min-height:46px;display:flex;align-items:center}
header .desktop-navigation>a{white-space:nowrap}
header a[aria-current=page],header .current-group{color:var(--gold);text-decoration:underline;text-underline-offset:8px}
header .nav-group{position:relative}
header .nav-group>summary{color:var(--blue);cursor:pointer;list-style:none;gap:7px}
header .nav-group>summary:after{content:'⌄';font-size:16px}
header .nav-group[open]>summary:after{content:'⌃'}
header .nav-group-links{position:absolute;top:100%;left:-18px;min-width:230px;padding:12px 18px;background:#102035;border:1px solid #526579;box-shadow:0 15px 30px #0005;display:flex;flex-direction:column;gap:2px}
header .nav-group-links a{display:flex;align-items:center;min-height:44px;padding:8px 4px;color:var(--blue)}
header .nav-group-links a:hover,header summary:hover{color:white}
header .header-home,header .mobile-quick-links,header .mobile-menu{display:none}
header .brand img{height:120px}
@media(max-width:1150px){
 header{flex-wrap:wrap;gap:6px 15px;padding:8px 20px}
 header .desktop-navigation{display:none}
 header .brand,header .brand img{width:155px;height:100px}
 header .mobile-menu{display:block;margin-left:auto;position:relative}
 header .mobile-menu>summary{padding:10px;color:var(--blue);cursor:pointer}
 header .mobile-menu>nav{position:absolute;right:0;top:100%;width:min(330px,calc(100vw - 32px));max-height:75vh;overflow:auto;display:flex;align-items:stretch;flex-direction:column;background:#102035;border:1px solid #526579;padding:14px;gap:0}
 header .mobile-menu nav>a{padding:10px;min-height:46px}
 header .mobile-menu .nav-group>summary{padding:10px;min-height:46px}
 header .mobile-menu .nav-group-links{position:static;border:0;border-left:1px solid var(--gold);box-shadow:none;margin:0 10px 10px;padding:0 12px;min-width:0}
 header .mobile-quick-links{display:flex;order:3;width:100%;justify-content:center;gap:12px;border-top:1px solid var(--line);padding-top:6px}
 header .mobile-quick-links a{min-height:44px;padding:6px 12px;display:flex;align-items:center;color:var(--blue);text-decoration:none}
}
.profile-hero{padding-top:45px;padding-bottom:40px;align-items:start;gap:50px}
.profile-introduction{font-size:18px;line-height:1.8;margin:24px 0!important;color:var(--cream)!important}
.profile-reading-nav{position:sticky;top:0;z-index:12;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 26px;padding:10px 24px;background:#102035f5;border-block:1px solid #41546a;backdrop-filter:blur(8px)}
.profile-reading-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-size:15px}
.profile-reading-nav a:hover{color:white}
body[data-page=dog]{scroll-padding-top:84px}
body[data-page=dog] section[id]{scroll-margin-top:90px}
.major-honours{padding-top:35px;padding-bottom:40px}
.archive-entry{padding:24px 0}
.archive-entry h3{font-size:25px;line-height:1.4}
.archive-entry p{max-width:72ch}
.year-group summary small{font-size:14px}
.source-notes summary,.wording-variants summary,.profile-information summary{min-height:44px}
.memory-companions{align-items:start;grid-auto-rows:auto}
.memory-companions>article{height:auto;min-height:var(--closed-memory-height,500px)}
.memory-companions .memorial-more{margin-top:auto}
.memory-companions .memorial-more summary{font-size:15px;min-height:44px;display:flex;align-items:center;gap:8px}
.memory-companions .memorial-more summary:before{content:'▸'}
.memory-companions .memorial-more[open] summary:before{content:'▾'}
.memory-companions .memorial-more[open]{margin-top:auto}
.memory-companions .text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.memory-companions .memorial-extra-photos{padding-top:6px}
.legacy-stories{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;grid-auto-rows:auto!important}
.legacy-stories>.legacy-story{grid-row-end:auto!important}
.legacy-story{background:#fffdf8;border:1px solid #d5d7d4;border-top:2px solid #a78a48;padding:28px;min-width:0}
.legacy-story h2{font-size:32px;line-height:1.25}
.legacy-dog-photos{grid-auto-rows:auto!important;align-items:start;gap:18px!important}
.legacy-dog-photos>figure{grid-row-end:auto!important}
.legacy-dog-photos img{width:100%;height:180px;object-fit:contain}
.legacy-dog-photos figcaption{font-size:16px;line-height:1.4;margin-top:12px;color:var(--ink)}
.legacy-profile-links a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.legacy-dog-photos.bee-family-photos>figure:first-child{max-width:270px;width:100%;justify-self:center}
.shared-photo-reference{display:flex;align-items:center;justify-content:center;min-height:130px;padding:18px;border:1px solid #8799a8;text-align:center;font-size:14px;line-height:1.6}
.latest-litter .shared-photo-reference{color:var(--blue)}
.litter-generation-line li{position:relative}
.litter-generation-line li:not(:last-child):after{content:'→';position:absolute;right:-14px;top:6px;color:var(--gold);z-index:1}
.litter-generation-line a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;color:var(--blue)}
.litter-generation-line h4{font-family:Georgia,serif;font-weight:400}
.generation-photo-pending{font-size:14px}
.section-nav a,.record-links a,.record-card-links a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:800px){.legacy-stories{grid-template-columns:1fr}.profile-hero{gap:28px}.profile-reading-nav{gap:0 18px;padding:6px 18px}}
@media(max-width:600px){
 .profile-hero{padding-top:30px}.profile-introduction{font-size:17px}.profile-reading-nav a{font-size:14px}.profile-reading-nav a:last-child{display:none}
 .legacy-story{padding:22px}.legacy-story h2{font-size:29px}.legacy-dog-photos img{height:150px}
 .litter-generation-line ol{grid-template-columns:1fr;gap:25px}
 .litter-generation-line li{display:grid;grid-template-columns:105px 1fr;column-gap:18px;padding:16px}
 .litter-generation-line li .generation-number{grid-column:1/-1}
 .litter-generation-line li img,.litter-generation-line li .generation-photo-pending{grid-column:1;grid-row:2/4;height:110px}
 .litter-generation-line li h4{grid-column:2;grid-row:2;margin:8px 0}
 .litter-generation-line li>a{grid-column:2;grid-row:3}
 .litter-generation-line li:not(:last-child):after{content:'↓';top:auto;bottom:-27px;right:50%}
 .memorial-treasured-story{padding:28px 20px}.memorial-treasured-story .prose p{font-size:18px}
}

.archive-entry[id],figure[id],img[id]{scroll-margin-top:100px}.litter-generation-line li>.shared-photo-reference{grid-column:1;grid-row:2/4;font-size:13px}@media(min-width:601px){.litter-generation-line li>.shared-photo-reference{min-height:145px}}

.light-section .legacy-dog-photos figure>a{background:transparent;color:var(--link-on-cream);border:0;padding:0;display:block}.light-section .legacy-dog-photos figure>a:hover,.light-section .legacy-dog-photos figure>a:focus-visible{background:#e8edf0;color:var(--ink)}.light-section .legacy-dog-photos figcaption{color:var(--ink)}.light-section .legacy-profile-links a{background:var(--ink);color:var(--blue);padding:8px 12px}.light-section .legacy-profile-links a:hover{color:white}.legacy-dog-photos .shared-photo-reference{background:#edf1f2;color:var(--link-on-cream)}

.light-section .legacy-profile-links a{color:var(--blue)!important}.light-section .legacy-profile-links a:hover,.light-section .legacy-profile-links a:focus-visible{color:white!important}

.era-second-dog{margin-top:28px}.era-second-dog figcaption{font-size:14px;margin-top:12px}@media(max-width:650px){.achievement-era:has(.era-second-dog) .era-photo{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.achievement-era:has(.era-second-dog) .era-photo>a{grid-column:1;grid-row:1}.achievement-era:has(.era-second-dog) .era-photo>p{grid-column:1;grid-row:2}.era-second-dog{grid-column:2;grid-row:1/3;margin:0}.era-second-dog img{height:180px;object-fit:contain}}

/* Give the Contest of Winners introduction a stronger visual presence. */
#contest-2022>.eyebrow{font-size:18px;line-height:1.5;letter-spacing:2px;margin-bottom:18px}@media(max-width:600px){#contest-2022>.eyebrow{font-size:16px;letter-spacing:1.7px}}

.danni-show-album{border-top:1px solid var(--gold);margin-top:30px;padding-top:15px}.danni-show-album>summary{font:24px/1.5 Georgia,serif;color:var(--blue);min-height:50px;cursor:pointer}.danni-show-album .gallery img{max-height:400px;object-fit:contain}

/* Reversible display corrections; untouched originals remain available. */
img.owner-colour-jake{filter:sepia(.16) saturate(.88) brightness(1.08)}
img.owner-colour-tyson{filter:saturate(.92) brightness(1.025)}

/* Owner requested a more noticeable existing logo; redesign deferred. */
header .brand{width:265px;flex:0 0 265px}header .brand img{width:265px;height:170px;object-fit:contain}
@media(max-width:1150px){header .brand{width:210px;height:140px;flex-basis:210px}header .brand img{width:210px;height:140px}}
@media(max-width:360px){header .brand{width:190px;flex-basis:190px}header .brand img{width:190px;height:130px}}

/* Honour cards must read in owner order, never dense masonry order. */
.homepage-major .winner-features{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;grid-auto-rows:auto;align-items:stretch;gap:32px 24px}
.homepage-major .winner-features article{min-width:0;display:flex;flex-direction:column}
.homepage-major .winner-features article>a:first-child img{height:240px;width:100%;object-fit:contain}
.homepage-major .winner-features article h3{font-size:29px}
.homepage-major .winner-features article li,.homepage-major .winner-features article p{font-size:15px}
@media(max-width:1050px){.homepage-major .winner-features{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.homepage-major .winner-features{grid-template-columns:1fr}}

/* Fully outlined, content-sized achievement cards. */
.honours-grid{grid-auto-flow:row;grid-auto-rows:auto;align-items:stretch}
.honour-item{border:1px solid #60717c;border-top:2px solid var(--gold);border-left:2px solid var(--gold);height:auto;min-height:0;overflow:visible;padding:22px}
.honour-item:last-child:nth-child(odd){grid-column:1/-1}
.honour-item p{margin:0;line-height:1.65}

/* Owner requested another modest increase in logo size. */
header .brand{width:310px;flex-basis:310px}header .brand img{width:310px;height:195px}
@media(max-width:1150px){header .brand{width:240px;height:155px;flex-basis:240px}header .brand img{width:240px;height:155px}}
@media(max-width:400px){header .brand{width:215px;height:140px;flex-basis:215px}header .brand img{width:215px;height:140px}}

/* Align the brand edge with the main .wrap content column. */
header{padding-left:max(42px,calc((100vw - 1240px)/2 + 42px));padding-right:max(42px,calc((100vw - 1240px)/2 + 42px))}
@media(max-width:1150px){header{padding-left:42px;padding-right:42px}}
@media(max-width:600px){header{padding-left:22px;padding-right:22px}}
/* Balanced navigation around the centred family logo. */
@media(min-width:1151px){
 header{display:grid;grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);gap:20px;padding:10px max(24px,calc((100vw - 1360px)/2));align-items:center}
 header .brand{grid-column:2;grid-row:1;width:280px;justify-self:center;margin:0;transform:none}
 header .brand img{width:280px;height:180px}
 header .nav-left{grid-column:1;grid-row:1;justify-content:space-between}
 header .nav-right{grid-column:3;grid-row:1;justify-content:space-between}
 header .desktop-navigation{gap:12px;font-size:14px;min-width:0}
}
@media(max-width:1150px){
 header{display:grid;grid-template-columns:1fr auto 1fr;justify-items:center;gap:4px 0}
 header .brand{grid-column:2;grid-row:1;margin:0;transform:none}
 header .mobile-menu{grid-column:3;grid-row:1;justify-self:end;margin:0}
 header .mobile-quick-links{grid-column:1/-1;grid-row:2}
}
.home-contact-panel .contact-links{display:flex;flex-wrap:wrap;gap:18px 36px}
.home-contact-panel .contact-links a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1150px){header{grid-template-columns:1fr}header .brand{grid-column:1}header .mobile-menu{position:absolute;right:12px;top:12px;grid-column:auto;grid-row:auto}header .mobile-quick-links{grid-column:1}}
.partnership-wins{padding-left:24px}.partnership-wins li{padding:14px 0;border-bottom:1px solid #c8ccc9;line-height:1.65}
/* Matching full-photo frames for four winning moments. */
.home-winning-moments .winner-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto!important;grid-auto-flow:row;align-items:start;gap:28px}
.home-winning-moments .winner-features article{grid-row-end:auto!important;min-width:0}
.home-winning-moments .winning-photo-frame{width:100%;height:340px;display:flex;align-items:center;justify-content:center;background:#122234}
.home-winning-moments .winning-photo-frame img{width:100%;height:100%;max-height:none;object-fit:contain}
@media(max-width:1050px){.home-winning-moments .winner-features{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-winning-moments .winner-features{grid-template-columns:1fr}.home-winning-moments .winning-photo-frame{height:360px}}
/* Keep wrapped pedigree links clickable across their complete touch target. */
.family-profile-link{display:inline-block;max-width:100%;min-height:44px;vertical-align:middle;line-height:1.6;padding:4px 0}
