@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--navy:#0a2338;--navy2:#061520;--blue:#183f5e;--red:#8c2f24;--gold:#c5a45f;--paper:#f5f0e5;--ink:#22292d;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7}a{color:inherit}img{display:block;max-width:100%}
.siteHeader{position:sticky;top:0;z-index:20;min-height:74px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(6,21,32,.96);border-bottom:2px solid var(--gold);box-shadow:0 5px 22px #0004}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font:700 1.3rem var(--serif)}.brand em{color:#ded2bf}.brand img{width:48px;height:48px;object-fit:cover;object-position:center 45%;border-radius:50%;border:2px solid var(--gold);background:#eee3d2}.siteHeader nav{display:flex;gap:24px}.siteHeader nav a{color:#e9eef1;text-decoration:none;font-size:.83rem;font-weight:700}.siteHeader nav a:hover{color:#e5c678}
.hero{min-height:760px;padding:80px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:80px;color:white;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 30%,#234f70 0,#0d2d45 32%,#061520 72%)}.hero:before{content:"";position:absolute;inset:22px;border:1px solid #c5a45f55;pointer-events:none}.hero:after{content:"";position:absolute;width:700px;height:700px;border:1px solid #c5a45f33;border-radius:50%;right:-260px;bottom:-360px;box-shadow:0 0 0 90px #c5a45f0d,0 0 0 180px #c5a45f08}.heroCopy,.crest{position:relative;z-index:1}.heroCopy{padding-left:28px;border-left:3px solid var(--gold)}.eyebrow{margin:0 0 12px;color:var(--gold);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em}.hero h1{font:700 clamp(3.5rem,7vw,6.6rem)/.92 var(--serif);letter-spacing:-.04em;margin:0}.hero h1 i{display:inline-block;margin-top:15px;font-size:.51em;color:#e9dfd0;font-weight:600}.lede{max-width:670px;margin:28px 0 0;color:#d5e0e6;font-size:1.12rem}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.actions a{padding:13px 22px;text-decoration:none;font-weight:700;font-size:.88rem}.primary{background:var(--gold);color:#132536}.secondary{border:1px solid #ffffff66}.crest{margin:0;padding:16px;background:#eadfce;border:1px solid #d2b773;box-shadow:0 30px 70px #0008}.crest:before{content:"";position:absolute;inset:8px;border:1px solid #8c2f2477}.crestInner{overflow:hidden;position:relative}.crest img{width:100%}.crest figcaption{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--red);border:1px solid var(--gold);padding:7px 22px;font:700 .72rem var(--serif);letter-spacing:.13em;text-transform:uppercase}.motto{min-height:62px;display:flex;justify-content:center;align-items:center;gap:28px;background:var(--red);color:#f4dfaa;border-block:3px double #d5b96f;font:600 1.1rem var(--serif);letter-spacing:.04em}
.section{padding:105px max(24px,calc((100vw - 1180px)/2))}.sectionHead{max-width:820px;margin-bottom:46px}.sectionHead h2,.rivisondoli h2{font:700 clamp(2.7rem,5vw,4.6rem)/1 var(--serif);letter-spacing:-.025em;color:var(--navy);margin:0 0 18px}.sectionHead h2:after,.rivisondoli h2:after{content:"";display:block;width:84px;height:3px;margin-top:16px;background:linear-gradient(90deg,var(--red) 28%,var(--gold) 28%)}.sectionHead>p:last-child{color:#59646a;font-size:1.05rem}.storyGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.storyLead{font:500 1.45rem/1.55 var(--serif);color:#34424a}.journey{list-style:none;margin:0;padding:0;border-left:1px solid #b9a77e}.journey li{position:relative;display:grid;grid-template-columns:110px 1fr;gap:20px;padding:0 0 26px 30px}.journey li:before{content:"";position:absolute;left:-6px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--paper)}.journey b{color:var(--red);font-family:var(--serif);font-size:1.15rem}.journey span{color:#5d676d}
.dark{background:var(--navy);color:white}.dark .sectionHead h2{color:white}.dark .sectionHead>p:last-child{color:#bac8d0}.peopleGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff22;border:1px solid #ffffff22}.person{padding:30px;background:#0d2b42}.person>span{font:600 2.7rem var(--serif);color:#c5a45f66}.person .years{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.person h3{font:700 1.8rem/1.05 var(--serif);margin:10px 0 14px}.person b{display:block;color:#e7d9c4;font-size:.82rem;line-height:1.4}.person>p:last-child{color:#b9c7cf;font-size:.9rem}
.stone{background-color:#e4dac8;background-image:repeating-linear-gradient(0deg,#493e2f08 0 1px,transparent 1px 7px)}.companyGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.companyGrid article{background:#f8f4eb;border:1px solid #c8b998;border-top:4px solid var(--gold);padding:30px}.companyGrid article:nth-child(2){border-top-color:var(--red)}.companyGrid small{color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.companyGrid h3,.projectWrap h3,.sourceCard h3,.openQuestions h3{font:700 2rem/1.1 var(--serif);color:var(--navy);margin:12px 0}.companyGrid p{color:#5e676b}.projectWrap{margin-top:30px;padding:34px;background:#f8f4eb;border:1px solid #c8b998}.tableScroll{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:22px;font-size:.86rem}th{text-align:left;background:var(--navy);color:white;padding:12px}td{padding:12px;border-bottom:1px solid #ddd4c4}tr:nth-child(even) td{background:#eee7da}.note{font-size:.82rem;color:#697177;margin:18px 0 0}
.rivisondoli{display:grid;grid-template-columns:280px 1fr;gap:70px;align-items:center;background:#fbfaf7}.placeMark{width:260px;height:320px;display:grid;place-items:center;background:var(--red);color:#ead28e;border:6px double #d8b96c;font:700 13rem/.8 var(--serif);box-shadow:18px 18px 0 var(--navy)}.placeLead{font:500 1.45rem var(--serif);max-width:720px}.researchCards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.researchCards article{padding:22px;border-left:3px solid var(--gold);background:var(--paper)}.researchCards article:last-child{border-left-color:var(--red)}.researchCards b{color:var(--navy);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.researchCards p{margin:8px 0 0;color:#5f686e;font-size:.92rem}
.archive{background:var(--navy2);color:white}.archive .sectionHead h2{color:white}.archive .sectionHead>p:last-child{color:#b7c4cb}.archiveGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.stoneworkCard{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;align-items:stretch;background:#ded2be;color:var(--navy);text-decoration:none;border:1px solid var(--gold);overflow:hidden}.stoneworkCard>img{width:100%;height:100%;min-height:310px;object-fit:cover;filter:sepia(.12)}.stoneworkCard>div{padding:38px}.stoneworkCard small{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.stoneworkCard h3{font:700 2rem/1.05 var(--serif);margin:8px 0}.stoneworkCard p{color:#4f5a60}.stoneworkCard b{color:var(--red);font-size:.85rem}.sourceCard{grid-column:1/-1;padding:28px;border:1px solid #ffffff22;background:#ffffff09}.sourceCard h3{color:white;margin-top:0}.sourceCard ul{list-style:none;padding:0;margin:0;columns:2;column-gap:36px}.sourceCard li{break-inside:avoid;border-bottom:1px solid #ffffff16}.sourceCard a{display:block;padding:10px 0;color:#c8d4da;text-decoration:none;font-size:.87rem}.sourceCard a:hover{color:var(--gold)}.openQuestions{margin-top:22px;padding:24px 28px;border-left:4px solid var(--gold);background:#ffffff0b}.openQuestions h3{color:white;margin:0 0 8px}.openQuestions p{margin:0;color:#b8c6ce}
.familyProjects{padding:62px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;background:#e4dac8;border-top:1px solid #cbbd9e}.familyProjects h2{margin:0 0 10px;color:var(--navy);font:700 2.3rem/1.05 var(--serif)}.familyProjects>div>p:last-child{max-width:620px;color:#606a6f;font-size:.9rem}.familyProjects>a{display:flex;align-items:center;gap:16px;padding:15px 18px;background:#f5efe4;border:1px solid #c8b998;color:var(--navy);text-decoration:none}.familyProjects>a img{width:54px;height:54px;object-fit:contain}.familyProjects>a span{display:grid}.familyProjects>a small{color:#8c2f24;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:700}.familyProjects>a b{font:700 1.25rem var(--serif)}.familyProjects>a em{margin-left:auto;color:var(--red);font-size:.78rem;font-style:normal;font-weight:700}
footer{padding:36px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:20px;background:#040e15;color:#c7d0d4}footer img{width:70px;height:70px;object-fit:cover;object-position:center 45%;border-radius:50%;border:2px solid var(--gold)}footer strong{font:700 1.35rem var(--serif);color:white}footer p{margin:2px 0 0;color:#83949e;font-size:.78rem}footer a{margin-left:auto;color:#e3c678;text-decoration:none;font-size:.85rem}
.galleryPage{background:#ece5d8}.galleryHero{padding:80px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;background:var(--navy);color:white}.galleryHero h1{margin:0;font:700 clamp(3.7rem,7vw,6.8rem)/.86 var(--serif);letter-spacing:-.04em}.galleryHero h1 i{color:#e2c57d;font-size:.58em;font-weight:600}.galleryHero>div>p:last-child{max-width:620px;color:#c3d0d6;font-size:1.08rem}.galleryHero figure{margin:0;border:1px solid var(--gold);padding:10px;background:#e6dccb;box-shadow:0 24px 60px #0007}.galleryHero figure img{width:100%;max-height:500px;object-fit:cover}.galleryHero figcaption{padding:9px 5px 2px;color:#5c554a;font:600 .78rem var(--serif);text-align:center;letter-spacing:.06em}.archiveNotice{margin:0;padding:22px max(24px,calc((100vw - 1180px)/2));display:flex;gap:24px;background:var(--red);color:#f1e5cc;border-block:3px double var(--gold)}.archiveNotice b{white-space:nowrap;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.archiveNotice span{font-size:.88rem}.photoSection{padding:95px max(24px,calc((100vw - 1180px)/2));scroll-margin-top:85px}.photoSection:nth-of-type(even){background:#f8f5ee}.photoSectionHead{position:relative;max-width:850px;margin-bottom:36px}.photoSectionHead h2,.researchCallout h2{margin:0 0 16px;color:var(--navy);font:700 clamp(2.6rem,5vw,4.2rem)/1 var(--serif);letter-spacing:-.025em}.photoSectionHead>p:not(.eyebrow){color:#5d676c}.photoSectionHead>span{display:inline-block;margin-top:8px;padding:4px 10px;border:1px solid #b7a77f;color:var(--red);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.photoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photoGrid figure{margin:0;background:white;border:1px solid #cec4b2;box-shadow:0 10px 25px #1526360b}.photoGrid figure.photoFeature{grid-column:span 2;grid-row:span 2}.photoGrid a{display:block;overflow:hidden;background:#161616}.photoGrid img{width:100%;height:280px;object-fit:cover;transition:transform .25s ease}.photoGrid .photoFeature img{height:calc(560px + 64px)}.photoGrid a:hover img{transform:scale(1.018)}.photoGrid figcaption{padding:13px 15px;color:#596267;font-size:.78rem}.photoGrid figcaption span{display:block;margin-bottom:4px;color:var(--red);font-weight:700;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.researchCallout{padding:75px max(24px,calc((100vw - 900px)/2));background:var(--red);color:white}.researchCallout h2{color:white}.researchCallout>p:last-child{color:#f0dfd1;font-size:1.04rem}
.fightingYank{padding:90px max(24px,calc((100vw - 1050px)/2));background:var(--red);color:white}.fightingYankHead{max-width:850px;margin-bottom:36px}.fightingYankHead h2{margin:0 0 16px;color:white;font:700 clamp(2.8rem,5vw,4.5rem)/1 var(--serif);letter-spacing:-.025em}.fightingYankHead>p:last-child{color:#f0dfd1;font-size:1.02rem}.yankPhotos{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.yankPhotos figure{margin:0;padding:10px;background:#eee4d2;border:1px solid var(--gold);box-shadow:0 18px 40px #3d080844}.yankPhotos img{width:100%;height:620px;object-fit:cover;object-position:center}.yankPhotos figure:first-child img{object-position:center top}.yankPhotos figcaption{padding:12px 8px 5px;color:#4e5559;font-size:.8rem}.yankPhotos figcaption span{display:block;margin-bottom:3px;color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem}
@media(max-width:950px){.siteHeader{align-items:flex-start;padding-block:12px;flex-direction:column}.siteHeader nav{width:100%;overflow:auto;padding-bottom:3px}.hero,.galleryHero{grid-template-columns:1fr;gap:50px}.crest{max-width:530px}.storyGrid,.rivisondoli,.archiveGrid,.familyProjects{grid-template-columns:1fr}.stoneworkCard{grid-column:auto}.sourceCard{grid-column:auto}.peopleGrid{grid-template-columns:1fr 1fr}.companyGrid{grid-template-columns:1fr}.placeMark{width:190px;height:210px;font-size:9rem}.photoGrid{grid-template-columns:1fr 1fr}.photoGrid figure.photoFeature{grid-row:auto}.photoGrid .photoFeature img{height:400px}}
@media(max-width:620px){.siteHeader nav{gap:18px}.siteHeader nav a{white-space:nowrap}.hero{min-height:auto;padding-block:70px}.hero h1{font-size:3.5rem}.motto{padding:15px 20px;text-align:center}.section{padding-block:75px}.peopleGrid,.researchCards,.stoneworkCard,.photoGrid,.yankPhotos{grid-template-columns:1fr}.journey li{grid-template-columns:1fr;gap:2px}.projectWrap{padding:22px}.sourceCard ul{columns:1}.familyProjects{padding-block:48px;gap:24px}.familyProjects>a{align-items:flex-start;flex-wrap:wrap}.familyProjects>a em{margin-left:70px}.galleryHero{padding-block:60px}.galleryHero h1{font-size:3.8rem}.archiveNotice{display:block}.archiveNotice span{display:block;margin-top:8px}.photoSection,.fightingYank{padding-block:70px}.photoGrid figure.photoFeature{grid-column:auto}.photoGrid img,.photoGrid .photoFeature img,.yankPhotos img{height:auto;max-height:none}footer{align-items:flex-start;flex-wrap:wrap}footer a{margin-left:0;width:100%}}
