/* Shared editorial identity. Loaded last so each page keeps its own layout and behaviour. */
@font-face{font-family:HomeEditorial;src:url('/assets/fonts/cormorant-garamond.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:HomeEditorial;src:url('/assets/fonts/cormorant-garamond-italic.ttf') format('truetype');font-weight:300 700;font-style:italic;font-display:swap}
:root{--paper:#f2efe7;--ink:#35372d;--muted:#66685b;--accent:#646b50;--line:#d4d0c5;--serif:HomeEditorial,Georgia,serif;--sans:'Helvetica Neue',Arial,sans-serif;--editorial-dark:#34392f;--editorial-stone:#e5e1d7}
body{font-family:var(--sans);background-color:var(--paper);color:var(--ink)}
body:not(.homepage-trial){background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%236f6858' opacity='.035' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
h1,h2,h3,h4,blockquote{font-family:var(--serif);font-weight:400}
h1,h2{letter-spacing:-.04em;line-height:1.06}h3,h4{letter-spacing:-.02em}
h1 em,h2 em{font-weight:400}
.header{background:var(--paper);min-height:88px;padding-block:15px;border-color:var(--line)}
.header .brand-logo img{height:56px;width:auto}.header .brand-logo{height:58px}
.header nav{font-size:12px}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:2px;line-height:1.7}
.prose,.article-body,.article-body:has(.magazine-section),.article-body:has(.magazine-gallery){font-family:var(--sans);font-size:15px;line-height:1.85}
.lead{font-size:16px;line-height:1.85}.text-link{font-size:12px;gap:45px;padding-bottom:10px}
.page-intro h1,.article-header h1,.product-hero h1,.contact-title{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:1.04}
.page-intro h1,.product-hero h1{font-size:clamp(48px,5.4vw,86px)}
.content-section h2,.form-section h2{font-size:clamp(42px,4.7vw,72px);margin-bottom:30px}
.page-intro.intro-split>figure{padding-left:12px;border-left:1px solid var(--line)}
.testimonial,.ap-dance{background:var(--editorial-dark);color:var(--paper)}
.testimonial blockquote{font-family:var(--serif);font-size:clamp(34px,3.8vw,58px);line-height:1.2;letter-spacing:-.035em}
.testimonial .eyebrow,.ap-dance .ap-deck{color:#d1d2c7}
.contact{background:var(--editorial-dark);color:var(--paper)}
.contact h2{font-size:clamp(48px,6vw,90px);line-height:1.04;letter-spacing:-.04em}
.contact-note{color:#d1d2c7}.contact-button{border-color:#b9bda9;font-size:13px}
.contact-button:hover{background:var(--paper);color:var(--editorial-dark)}
.pricing-section,.portfolio{background:var(--editorial-stone)}
.price-card{background:transparent;border-top:1px solid #b9b5a8}.price-card h3,.preset-grid h3,.journal-card h3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.journal-card h3{font-size:30px;line-height:1.15}.journal-card>.eyebrow{font-size:10px}
.journal-grid{gap:45px}.journal-card[href='/2026/01/14/isle-of-man-wedding-photographer/'] img{object-position:center 25%}
.education-nav,.category-nav{font-size:12px;letter-spacing:.02em}
footer{border-top:1px solid var(--line);background:var(--paper)}
/* Quote builder: keep the compact interaction layouts and sans-serif field labels. */
.step h1,.welcome h1,#quote h2,#quote h3,#thank-you-dialog h2,.photo-choice span,.film-caption,.summary h2,.total strong,.price,.price-tag{font-family:var(--serif)}
.photo-choice span{font-weight:400;letter-spacing:-.02em}.photo-choice small{font-family:var(--sans);letter-spacing:.025em}
#quote .included summary,#quote .included h3{font-family:var(--sans);letter-spacing:-.015em}
.button,.instagram-follow{background:var(--editorial-dark);border-color:var(--editorial-dark);color:var(--paper)}
.summary,.extra-hours,.hours-card{background:var(--editorial-stone)}
/* Broad editorial text sections use two columns only when there is room to read comfortably. */
@media(min-width:1000px){
 body:not(.homepage-trial) .section-pad,body:not(.homepage-trial) .page-intro,body:not(.homepage-trial) .product-hero{padding-inline:max(7.5%,calc((100% - 1320px)/2))}
 .content-section:not(.with-image)>div>.prose{columns:2;column-gap:clamp(40px,6vw,90px);max-width:1100px}
 .content-section:not(.with-image)>div>.prose p,.content-section:not(.with-image)>div>.prose ul{break-inside:avoid}
 .content-section:not(.with-image)>div>.prose h3{break-after:avoid}
}
@media(max-width:760px){
 .header{min-height:80px;padding-block:11px}.header .brand-logo{height:56px}.header .brand-logo img{height:50px}
 .page-intro h1,.product-hero h1{font-size:clamp(44px,10.5vw,66px)}
 .content-section h2,.form-section h2{font-size:43px}
 .contact h2{font-size:clamp(46px,11vw,66px)}
 .journal-grid{gap:35px}.journal-card h3{font-size:28px}
 .testimonial blockquote{font-size:36px}
 .prose,.article-body{font-size:15px;line-height:1.85}
}
.section-price,.upgrade-title>span,.gentle-note,.total-row>span,.total-row strong,.mobile-total strong,.number{font-family:var(--serif)}
.popular-choice,.photo-upgrade{border-color:#7c816c;box-shadow:0 0 0 2px #646b5018}
.corner-ribbon b{background:linear-gradient(#777e63,#505a41);border-top-color:#a5ac95;border-bottom-color:#303729}
.remove-addon:hover:not(:disabled){background:#646b5012}

/* Comfortable desktop navigation with generous vertical click targets. */
@media(min-width:761px){.header nav,.homepage-trial .header nav{font-size:14px}.header nav a{display:inline-flex;align-items:center;min-height:44px;padding-top:12px;padding-bottom:12px;line-height:20px}}
