
/* Revision 2: preserve the existing site's red/white, photographic and collage direction. */
.homepage .branding-strip img:nth-child(2){object-position:50% 15%}
.homepage header .logo-brand{display:none}.homepage header{padding:17px 5%}.homepage .hero-logo{position:absolute;z-index:2;left:5%;top:30px;width:190px;mix-blend-mode:multiply}.homepage .hero-logo img{width:100%;height:auto}.homepage .branding-strip{grid-template-columns:repeat(4,1fr)}@media(max-width:760px){.homepage .hero-logo{width:130px;top:20px}.homepage .branding-strip{grid-template-columns:repeat(2,1fr)}}
header{flex-direction:column}header .logo-brand{display:block;background:white;width:100%;margin:-17px -5% 0;padding:14px;text-align:center}header .logo-brand img{width:180px;height:auto;margin:auto}header nav{padding:3px 0 0}
:root{--paper:#fff;--ink:#292726;--red:#b82828;--line:#ded7d1}
img{height:auto;aspect-ratio:auto;object-fit:contain}
.hero-visual img,.triptych img,.split img,.destinations img,.gallery-grid img,.wide img{height:auto;aspect-ratio:auto;max-height:none}
header{background:var(--red);color:white;justify-content:center;padding:17px 5%;flex-wrap:wrap}header .brand{font-size:27px}header a:hover{color:#f5d5c9}nav{font-family:Georgia,serif;gap:30px}h1{font-size:clamp(35px,4.5vw,65px)}h2{font-size:clamp(32px,3.7vw,52px)}.section{padding:65px 8%}.button{border-radius:6px}.home-banner{position:relative;height:540px;overflow:hidden}.home-banner .banner-photo{height:100%;width:100%;object-fit:cover;object-position:50% 61%;filter:brightness(.78)}.banner-copy{position:absolute;right:6%;bottom:50px;color:white;text-align:right}.banner-copy p{margin-left:auto}.banner-copy h1{font-size:clamp(32px,3.6vw,52px);text-shadow:0 2px 12px #0008}.personality-row{display:flex;justify-content:space-around;text-align:center;color:var(--red);padding:23px 6%;gap:25px}.personality-row p{font:14px Georgia;letter-spacing:.22em;text-transform:uppercase}.personality-row em{font:italic 30px Georgia;text-transform:none;letter-spacing:0}.branding-panel{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;background:#f0e8e2;padding:40px;gap:45px;align-items:center}.branding-collage{position:relative;min-height:440px}.branding-collage h2{font-size:34px;color:var(--red);text-transform:uppercase;margin:0 0 20px}.branding-collage h2 span{font:16px Arial;letter-spacing:.18em}.branding-collage .standing{width:53%;margin-left:42%;border:4px solid #393632}.branding-collage .camera{position:absolute;left:0;bottom:0;width:43%;border:4px solid #393632;border-radius:150px 150px 0 0}.branding-copy{background:#fffc;padding:30px;border-radius:28px}.branding-copy h2{font-size:30px;text-transform:uppercase;letter-spacing:.04em}.branding-copy p{font-size:15px;line-height:1.85}.branding-strip{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.branding-strip img{height:235px;object-fit:cover;object-position:50% 55%}.services-home{padding:45px 8% 65px}.services-home>h2{text-align:center;font-size:clamp(28px,3vw,44px);text-transform:uppercase;letter-spacing:.18em;color:var(--red)}.services-frame{border:8px solid #282522;background:#f3f1ee;padding:25px;text-align:center}.service-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-photos img{height:auto;width:100%}.service-photos h3{font:11px Arial;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}.services-frame p{margin:20px auto}.destination-feature{margin:0 8%;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;background:#f3ece6}.destination-feature>img{max-height:520px;width:100%;object-fit:cover;object-position:50% 68%}.destination-feature>div{padding:35px}.triptych{align-items:start}.triptych figure:nth-child(2){margin-top:0}.cta{background:#f7f1ec}.gallery-grid{align-items:start}.split>img{max-width:450px;justify-self:center}.about{background:#f3ece6}
@media(max-width:760px){header{gap:16px}nav{gap:15px}.home-banner{height:440px}.banner-copy{right:6%;left:6%;bottom:30px}.banner-copy h1{font-size:33px}.personality-row{gap:12px;padding:20px 4%;flex-wrap:wrap}.personality-row p{font-size:10px;letter-spacing:.13em}.personality-row em{font-size:24px}.branding-panel{margin:0 5%;padding:22px;grid-template-columns:1fr;gap:20px}.branding-collage{min-height:350px}.branding-copy{padding:22px}.branding-strip{margin:0 5%}.branding-strip img{height:155px}.services-home{padding:35px 5%}.services-frame{padding:14px;border-width:5px}.service-photos{grid-template-columns:repeat(2,1fr)}.destination-feature{grid-template-columns:1fr;margin:0 5%;gap:0}.destination-feature>img{max-height:440px;object-fit:contain}.destination-feature>div{padding:25px}.triptych{grid-template-columns:1fr 1fr}.triptych>img:last-child{display:none}.section{padding:45px 6%}}
.homepage-closing-photo{margin:0}.homepage-closing-photo img{display:block;width:100%;height:auto;object-fit:contain}
.homepage-photo-cta{position:relative;isolation:isolate;min-height:590px;display:grid;place-items:center;padding:85px 6%;text-align:center;color:#fff;background:#171514}
.homepage-photo-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.homepage-photo-cta:before{content:"";position:absolute;inset:0;background:#0007;z-index:-1;pointer-events:none}
.homepage-photo-cta-copy{max-width:850px;text-shadow:0 2px 10px #0008}
.homepage-photo-cta-copy h2{font-size:clamp(38px,4.5vw,65px);margin:24px auto}
.homepage-photo-cta-copy em{color:#fff}
.homepage-photo-cta-copy p{margin:0 auto 28px;max-width:600px}
.homepage-photo-cta-copy .button{text-shadow:none}
@media(max-width:760px){.homepage-photo-cta{min-height:480px;padding:60px 6%}.homepage-photo-cta-copy h2{font-size:clamp(34px,8vw,48px)}}
.homepage .home-banner .banner-photo{object-position:50% 72%}
/* Place the homepage mark against the sky rather than the foliage. */
.homepage .hero-logo{left:20%;top:16px;width:185px;mix-blend-mode:normal}
.homepage .hero-logo img{mix-blend-mode:multiply;filter:drop-shadow(0 1px 1px #ffffff55)}
@media(max-width:760px){.homepage .hero-logo{left:6%;top:18px;width:145px;padding:9px 12px;background:#fffaf2ed;border:1px solid #fff5;border-radius:2px;box-shadow:0 3px 14px #0002}.homepage .hero-logo img{filter:none}}
.homepage .hero-logo{mix-blend-mode:multiply}
.homepage .hero-logo img{mix-blend-mode:normal;filter:none}
.homepage .hero-wordmark{position:absolute;z-index:2;left:5%;top:28px;color:#fff;font:40px/1 Georgia,serif;letter-spacing:-.03em;text-shadow:0 2px 10px #000c}
.homepage .hero-wordmark span{display:block;margin-top:10px;font:12px/1.3 Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase}
.homepage .hero-wordmark:hover{color:#fff}
@media(max-width:760px){.homepage .hero-wordmark{left:6%;top:25px;font-size:34px}.homepage .hero-wordmark span{font-size:10px}}
.homepage .hero-wordmark.logo-lettering{width:230px;line-height:0;top:25px;text-shadow:none;filter:drop-shadow(0 2px 5px #0007)}
.hero-wordmark.logo-lettering svg{display:block;width:100%;height:auto;overflow:visible}
@media(max-width:760px){.homepage .hero-wordmark.logo-lettering{width:175px;top:22px}}
/* Subtle vintage finish for the existing homepage. */
.homepage{background:#fffaf3}
.homepage .personality-row{position:relative;background:#fffaf3;border-bottom:1px solid #d7c4ab;padding-top:28px;padding-bottom:28px}
.homepage .personality-row:after{content:"❧";position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);padding:0 14px;background:#fffaf3;color:var(--red);font:30px Georgia;line-height:1}
.homepage .branding-panel{background:#efe6da;border:1px solid #d7c4ab;margin-top:35px;padding:40px;box-shadow:inset 0 0 0 7px #fff8ed,inset 0 0 0 8px #d7c4ab}
.homepage .branding-copy{background:#fffbf4;border-radius:5px;border:1px solid #dacbb6;box-shadow:4px 5px 0 #e4d6c4}
.homepage .branding-collage .standing,.homepage .branding-collage .camera{border:5px double #806a55;box-shadow:3px 5px 12px #4b34241c}
.homepage .branding-strip{border-bottom:5px double #b9a58c;padding-bottom:7px;background:#fff8ed}
.homepage .services-home>h2{font-family:Georgia,serif;font-size:clamp(26px,3vw,40px);letter-spacing:.09em}
.homepage .services-frame{position:relative;border:5px double #806a55;background:#f7f0e6;padding:28px 25px 55px}
.homepage .services-frame:after{content:"";position:absolute;left:0;right:0;bottom:0;height:35px;background:url('assets/vintage-lace.svg') repeat-x top left;background-size:60px 40px;transform:rotate(180deg);pointer-events:none}
.homepage .service-photos img{border:1px solid #b9a58c;padding:4px;background:#fffaf3}
.homepage .destination-feature{background:#eee4d7;border-top:1px solid #d7c4ab;border-bottom:1px solid #d7c4ab}
.homepage .section-heading h2{font-style:italic}
.homepage .triptych img{border:1px solid #d7c4ab;padding:7px;background:#fffbf4;box-shadow:3px 5px 0 #e8ddcc}
.homepage .button{border-radius:2px;border:1px solid #fff6e566;outline:1px solid var(--red);outline-offset:3px}
.homepage .homepage-photo-cta:after{content:"";position:absolute;left:0;right:0;top:0;height:40px;background:url('assets/vintage-lace.svg') repeat-x top left;background-size:60px 40px;pointer-events:none}
.homepage footer{background:#fffaf3;border-top:5px double #d7c4ab}
@media(max-width:760px){.homepage .branding-panel{padding:25px;margin-top:30px}.homepage .services-frame{padding:20px 15px 48px}.homepage .triptych img{padding:4px}.homepage .personality-row{padding-top:24px;padding-bottom:24px}}
/* Trim excess space above the branding portraits so the poses fill the frames. */
.homepage .branding-collage .standing,.homepage .branding-collage .camera{aspect-ratio:4/5;height:auto;object-fit:cover;object-position:50% 100%}
.homepage .personality-row:after{content:"";width:56px;height:56px;bottom:-28px;padding:0;background:#fffaf3 url('assets/vintage-cake.svg') center/46px 46px no-repeat}
.homepage .home-banner .banner-photo{object-position:50% 66%}
.homepage .home-banner .banner-photo{object-position:50% 56%}
.homepage .home-banner .banner-photo{object-position:50% 50%}
.homepage .home-banner .banner-photo{object-position:50% 62%}
.homepage .home-banner .banner-photo{object-position:50% 64%}
/* The content panel scrolls over a stationary opening photograph. */
.homepage #main{position:relative;isolation:isolate}
.homepage .home-banner{position:sticky;top:0;z-index:0}
.homepage .home-banner .banner-photo{object-position:50% 64%}
.homepage .homepage-content-panel{position:relative;z-index:1;background:#fffaf3}
@media(prefers-reduced-motion:reduce){.homepage .home-banner{position:relative}}
/* Taller opening frame keeps both faces visible on wide screens. */
.homepage .home-banner{height:clamp(680px,80vh,1000px)}
.homepage .home-banner .banner-photo{object-position:50% 57%}
@media(max-width:760px){.homepage .home-banner{height:640px}}
.homepage .home-banner .banner-photo{object-position:50% 62%}
.homepage .home-banner .banner-photo{object-position:50% 67%}
/* Lift service photographs to make their links clear. */
.homepage .service-photos>a{position:relative;display:block;cursor:pointer;transition:transform .25s ease}
.homepage .service-photos>a img{transition:box-shadow .25s ease}
.homepage .service-photos>a:focus-visible{transform:translateY(-7px) scale(1.035);z-index:2}
.homepage .service-photos>a:focus-visible img{box-shadow:0 12px 24px #29282040}
.homepage .service-photos>a:focus-visible h3{text-decoration:underline;text-underline-offset:5px}
@media(hover:hover){.homepage .service-photos>a:hover{transform:translateY(-7px) scale(1.035);z-index:2}.homepage .service-photos>a:hover img{box-shadow:0 12px 24px #29282040}.homepage .service-photos>a:hover h3{text-decoration:underline;text-underline-offset:5px}}
@media(prefers-reduced-motion:reduce){.homepage .service-photos>a,.homepage .service-photos>a img{transition:none}.homepage .service-photos>a:hover,.homepage .service-photos>a:focus-visible{transform:none}}.homepage .branding-strip img:nth-child(3){object-position:50% 65%}

.italy-travel-dates{margin:26px 0 28px}
.italy-travel-dates h3{font-size:12px;line-height:1.6;letter-spacing:.14em;color:var(--red);margin:0 0 14px}
.italy-travel-dates ul{list-style:none;padding:0;margin:0}
.italy-travel-dates li{font:17px/1.8 Georgia,serif;margin:4px 0}
