/* Patricia Hedges | concept site on top of Hugo Introduction
   Palette: ivory #F8F5EC, turquoise #229F9A, teal #204C61,
   soft pink #E7B9CD, periwinkle #738BB5. No remote fonts. */
:root { --ph-ivory:#F8F5EC; --ph-turquoise:#229F9A; --ph-teal:#204C61; --ph-pink:#E7B9CD; --ph-periwinkle:#738BB5; --ph-ink:#304e54; --ph-muted:#62747a; --ph-paper:#fffdfa; --ph-line:rgba(32,76,97,.16); }
html { scroll-behavior:smooth; background:var(--ph-ivory); }
body.ph-site { background:var(--ph-ivory); color:var(--ph-teal); font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif; font-size:16px; line-height:1.65; margin:0; overflow-x:hidden; }
.ph-site *, .ph-site *::before, .ph-site *::after { box-sizing:border-box; }
.ph-site a { color:inherit; text-decoration:none; }
.ph-site button, .ph-site input, .ph-site textarea { font:inherit; }
.ph-site button { cursor:pointer; }
.ph-site p { margin:0 0 1.05rem; }
.ph-site h1, .ph-site h2, .ph-site h3 { color:var(--ph-teal); }
.ph-site img { display:block; width:100%; }
.ph-site :focus-visible { outline:3px solid var(--ph-turquoise); outline-offset:4px; }
.ph-site [hidden] { display:none !important; }
.ph-skip { position:absolute; left:12px; top:-90px; z-index:100; background:var(--ph-teal); color:white!important; padding:8px 16px; border-radius:5px; }
.ph-skip:focus { top:12px; }
.ph-container { max-width:1160px; margin:0 auto; padding:0 30px; }
.ph-header { background:rgba(248,245,236,.97); border-bottom:1px solid var(--ph-line); z-index:40; position:sticky; top:0; backdrop-filter:blur(14px); }
.ph-header-inner { max-width:1280px; margin:auto; padding:12px 30px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ph-wordmark { display:flex; align-items:center; gap:11px; flex:0 0 auto; }
.ph-mark { display:inline-flex; height:47px; width:47px; align-items:center; justify-content:center; border:1.5px solid var(--ph-turquoise); border-radius:50%; font:bold 22px Georgia,serif; letter-spacing:-2px; line-height:1; }
.ph-mark span { color:var(--ph-pink); font-size:24px; padding:0 2px; }
.ph-brand-name { font:600 18px Georgia,"Times New Roman",serif; letter-spacing:.02em; }
.ph-nav { display:flex; gap:clamp(12px,2vw,29px); align-items:center; font-size:13px; font-weight:700; letter-spacing:.025em; }
.ph-nav a { position:relative; white-space:nowrap; transition:color .2s; }
.ph-nav a:not(.ph-nav-contact):hover { color:var(--ph-turquoise); }
.ph-nav-contact { padding:10px 17px; border:1px solid var(--ph-turquoise); border-radius:100px; }
.ph-nav-contact:hover { background:#e2f1eb; }
.ph-hero { position:relative; overflow:hidden; isolation:isolate; }
.ph-hero::before { content:""; position:absolute; width:590px; height:590px; background:#f5e2e0; border-radius:48% 52% 54% 46%; left:-320px; top:-240px; opacity:.53; z-index:-1; }
.ph-hero::after { content:""; position:absolute; width:430px; height:430px; border-radius:50%; border:70px solid rgba(115,139,181,.08); right:-200px; bottom:-220px; z-index:-1; }
.ph-hero-inner { max-width:1280px; margin:auto; padding:67px 30px 73px; display:grid; grid-template-columns:minmax(320px,1fr) minmax(380px,1.02fr); gap:clamp(35px,7vw,92px); align-items:center; }
.ph-eyebrow { text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.23em; color:var(--ph-turquoise); display:inline-flex; gap:12px; align-items:center; }
.ph-spark { font-size:22px; color:var(--ph-periwinkle); line-height:1; }
.ph-hero h1 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.075em; line-height:.99; font-size:clamp(67px,7.3vw,110px); margin:29px 0 19px; max-width:630px; }
.ph-subheading { font:italic 24px/1.42 Georgia,serif; max-width:500px; color:#327485; }
.ph-introduction { max-width:475px; font-size:15.5px; line-height:1.9; color:var(--ph-muted); margin-top:23px!important; }
.ph-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:31px; }
.ph-button { display:inline-flex; gap:27px; align-items:center; justify-content:space-between; border:1px solid transparent; border-radius:3px; padding:14px 21px; font-size:13px; font-weight:800; letter-spacing:.02em; transition:transform .15s, background .15s; }
.ph-button:hover { transform:translateY(-2px); }
.ph-button-primary { background:var(--ph-teal); color:#fff!important; }
.ph-button-primary:hover { background:#286579; }
.ph-button span { font-size:18px; font-weight:400; }
.ph-text-link { color:var(--ph-teal); font-size:13px; font-weight:800; border-bottom:1px solid var(--ph-turquoise); padding-bottom:6px; }
.ph-text-link span { color:var(--ph-turquoise); margin-left:8px; }
.ph-hero-small { margin-top:55px!important; text-transform:uppercase; font-size:10px; letter-spacing:.16em; font-weight:700; color:#829497; }
.ph-carousel-wrap { position:relative; padding:0 0 10px 20px; }
.ph-carousel-wrap::before { content:""; position:absolute; width:83%; height:87%; background:#e6dfe7; border-radius:46% 52% 45% 49%; transform:rotate(13deg); left:4%; top:9%; z-index:-1; }
.ph-carousel { width:100%; padding:17px 15px 15px; border-radius:160px 160px 9px 9px; background:var(--ph-paper); border:1px solid rgba(32,76,97,.10); box-shadow:0 15px 55px rgba(32,76,97,.09); }
.ph-carousel-stage { position:relative; background:#eae7e4; overflow:hidden; border-radius:147px 147px 4px 4px; }
.ph-slide img { width:100%; aspect-ratio:1.07/1; object-fit:cover; border-radius:147px 147px 4px 4px; }
.ph-slide-info { display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:0 14px; padding:17px 18px 9px; background:var(--ph-paper); }
.ph-slide-type { grid-column:1/-1; font-size:9px; color:var(--ph-turquoise); letter-spacing:.16em; text-transform:uppercase; font-weight:800; }
.ph-slide-title { font:italic 20px Georgia,serif; white-space:normal; }
.ph-slide-note { font-size:11px; color:var(--ph-muted); }
.ph-carousel-controls { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:4px 12px 0; }
.ph-dots { display:flex; gap:7px; align-items:center; }
.ph-dot { background:#c9d6d7; border:0; padding:0; height:9px; width:9px; border-radius:100%; }
.ph-dot.is-current { background:var(--ph-turquoise); width:24px; border-radius:20px; }
.ph-carousel-arrows { display:flex; align-items:center; gap:9px; }
.ph-counter { font:700 10px "Trebuchet MS", sans-serif; color:var(--ph-muted); margin-right:5px; letter-spacing:.1em; }
.ph-arrow { width:35px; height:35px; border:1px solid var(--ph-line); border-radius:50%; background:transparent; color:var(--ph-teal); font-size:19px; }
.ph-arrow:hover { background:#e8f4ef; border-color:var(--ph-turquoise); }
.ph-hero-bottom { border-top:1px solid var(--ph-line); border-bottom:1px solid var(--ph-line); text-align:center; padding:12px; font:700 10px "Trebuchet MS",sans-serif; text-transform:uppercase; letter-spacing:.21em; color:#768e93; }
.ph-hero-bottom span { padding:0 15px; color:var(--ph-pink); font-size:17px; vertical-align:middle; }
.ph-section { padding:105px 0 111px; scroll-margin-top:85px; }
.ph-section-number { display:block; font-size:10px; font-weight:800; letter-spacing:.23em; color:var(--ph-turquoise); text-transform:uppercase; margin-bottom:18px; }
.ph-site h2 { font:400 clamp(44px,5vw,66px)/1.06 Georgia,serif; letter-spacing:-.055em; margin:0; }
.ph-site h2 em { font-weight:400; color:var(--ph-turquoise); }
.ph-about-grid { display:grid; grid-template-columns:1fr 1.06fr; gap:75px; }
.ph-about-grid .ph-prose { padding-top:15px; }
.ph-about-decoration { margin-top:29px; display:flex; align-items:center; justify-content:center; width:190px; height:190px; border:1px solid #d7d0d7; background:#f6e9e7; border-radius:48% 52% 54% 46%; transform:rotate(-14deg); }
.ph-about-decoration span { color:var(--ph-periwinkle); font-size:110px; transform:rotate(14deg); line-height:1; }
.ph-prose { font-size:16px; line-height:1.9; color:#516a70; }
.ph-prose p { margin-bottom:17px; }
.ph-prose em { color:#7b7b87; font-size:13px; }
.ph-section-books { background:#f1f2ed; }
.ph-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; margin-bottom:44px; }
.ph-section-intro { padding:0 12px 0 0; }
.ph-books-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px; }
.ph-book-card { background:#fffefa; border:1px solid var(--ph-line); box-shadow:0 9px 30px rgba(32,76,97,.035); }
.ph-book-art { padding:24px 34px 0; background:#ebe8e7; display:grid; place-items:center; }
.ph-book-art img { height:265px; max-width:220px; object-fit:contain; filter:drop-shadow(3px 7px 6px rgba(32,76,97,.12)); }
.ph-book-details { padding:25px 26px 30px; }
.ph-card-kicker { color:var(--ph-turquoise); font-size:10px; font-weight:800; letter-spacing:.19em; }
.ph-book-details h3 { font:400 27px/1.22 Georgia,serif; letter-spacing:-.03em; margin:11px 0 10px; }
.ph-book-details p { font-size:13px; line-height:1.75; color:#596e72; min-height:90px; }
.ph-card-footnote { display:block; border-top:1px solid var(--ph-line); padding-top:14px; font-size:11px; color:#7b8d91; }
.ph-questionnaire-grid { display:grid; grid-template-columns:1fr 1.13fr; gap:65px; align-items:center; }
.ph-questionnaire-grid h2 { max-width:430px; }
.ph-questionnaire-card { padding:45px 48px; background:#e7edf0; border:1px solid #d6e0e5; position:relative; }
.ph-document-icon { font:60px/1 Georgia,serif; color:var(--ph-periwinkle); display:block; margin-bottom:17px; }
.ph-questionnaire-card .ph-button { margin-top:15px; }
.ph-demo-note { margin-top:23px!important; margin-bottom:0!important; font-size:11px; color:#667b83; line-height:1.7; }
.ph-section-gallery { background:#fffdf9; }
.ph-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ph-gallery-item { border:0; text-align:left; padding:0; background:#f2ece9; overflow:hidden; position:relative; }
.ph-gallery-item img { aspect-ratio:1/1.12; object-fit:cover; transition:transform .25s; }
.ph-gallery-item:hover img { transform:scale(1.04); }
.ph-gallery-label { display:flex; justify-content:space-between; gap:12px; padding:9px 11px; background:#f5f0ea; font-size:11px; font-weight:700; color:var(--ph-teal); }
.ph-gallery-label span { color:var(--ph-turquoise); }
.ph-gallery-footer { text-align:center; color:#8b9b9e; font:italic 17px Georgia,serif; margin:32px 0 0!important; }
.ph-section-contact { background:#e6efec; }
.ph-contact-grid { display:grid; grid-template-columns:1fr 1.04fr; gap:80px; align-items:start; }
.ph-contact-grid h2 { margin-bottom:25px; }
.ph-contact-grid .ph-prose { max-width:370px; }
.ph-contact-flower { display:block; margin-top:40px; font-size:125px; line-height:1; color:#a9bdbe; }
.ph-form-card { background:var(--ph-paper); padding:36px 39px 38px; border:1px solid #dbe2dd; box-shadow:0 12px 35px rgba(32,76,97,.055); }
.ph-form-row { margin-bottom:21px; }
.ph-form-row label { display:block; margin-bottom:7px; font-size:12px; font-weight:800; color:var(--ph-teal); }
.ph-form-row input, .ph-form-row textarea { background:#fff; border:1px solid #d0dcd9; color:var(--ph-teal); width:100%; border-radius:2px; padding:13px 14px; font-size:14px; }
.ph-form-row textarea { resize:vertical; min-height:140px; }
.ph-form-row input:focus, .ph-form-row textarea:focus { border-color:var(--ph-turquoise); }
.ph-form-status { margin:14px 0 0!important; color:#668080; font-size:11px; }
.ph-footer { padding:28px 0; background:var(--ph-teal); color:#e8f3ed; font-size:11px; }
.ph-footer-inner { display:flex; gap:20px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.ph-footer a { color:#fff; }
.ph-footer-name { font:20px Georgia,serif; }
.ph-footer-dot { margin:0 9px; color:var(--ph-pink); }
.ph-lightbox { border:0; padding:20px; width:min(780px,92vw); max-height:92vh; background:var(--ph-paper); color:var(--ph-teal); box-shadow:0 22px 90px rgba(0,0,0,.2); position:fixed; }
.ph-lightbox::backdrop { background:rgba(19,46,59,.8); }
.ph-lightbox img { max-height:70vh; width:100%; object-fit:contain; background:var(--ph-ivory); }
.ph-lightbox p { margin:12px 36px 0 0; font:italic 18px Georgia,serif; }
.ph-lightbox-close { position:absolute; right:10px; top:8px; border:0; background:var(--ph-teal); color:white; width:32px; height:32px; border-radius:50%; font-size:25px; line-height:1; }
@media (max-width: 1000px) { .ph-hero-inner { gap:35px; grid-template-columns:1fr 1fr; } .ph-hero h1 { font-size:clamp(61px,8vw,86px); } .ph-nav { gap:12px; } .ph-header-inner { gap:12px; padding:12px 20px; } .ph-brand-name { font-size:16px; } .ph-book-art { padding:15px 20px 0; } .ph-book-details { padding:21px; } }
@media (max-width: 760px) { .ph-header { position:relative; } .ph-header-inner { flex-direction:column; padding:12px 16px 16px; gap:12px; } .ph-nav { width:100%; justify-content:center; flex-wrap:wrap; gap:10px 17px; font-size:12px; } .ph-nav-contact { padding:6px 12px; } .ph-hero-inner { grid-template-columns:1fr; padding:53px 23px 65px; gap:26px; } .ph-hero h1 { font-size:clamp(67px,15vw,92px); margin-top:21px; } .ph-hero-small { margin-top:26px!important; } .ph-carousel-wrap { max-width:560px; width:100%; margin:auto; padding:0 5px; } .ph-container { padding:0 22px; } .ph-section { padding:75px 0; scroll-margin-top:25px; } .ph-about-grid, .ph-section-heading, .ph-questionnaire-grid, .ph-contact-grid { grid-template-columns:1fr; gap:25px; } .ph-about-decoration { display:none; } .ph-books-grid { gap:14px; } .ph-book-art img { height:185px; } .ph-book-details h3 { font-size:21px; } .ph-book-details p { min-height:130px; } .ph-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ph-questionnaire-card { padding:30px; } .ph-contact-flower { display:none; } .ph-form-card { padding:25px; } }
@media (max-width: 520px) { .ph-nav { gap:9px 13px; font-size:11px; } .ph-hero h1 { font-size:70px; } .ph-subheading { font-size:21px; } .ph-introduction { font-size:14px; } .ph-slide img { aspect-ratio:1/1.08; } .ph-carousel { border-radius:115px 115px 9px 9px; } .ph-carousel-stage, .ph-slide img { border-radius:105px 105px 4px 4px; } .ph-slide-info { grid-template-columns:1fr; } .ph-slide-note { margin-top:3px; } .ph-section-heading { margin-bottom:23px; } .ph-books-grid { grid-template-columns:1fr; gap:19px; } .ph-book-card { display:grid; grid-template-columns:37% 1fr; } .ph-book-art { padding:15px; } .ph-book-art img { height:190px; } .ph-book-details p { min-height:auto; } .ph-book-details { padding:20px 16px; } .ph-gallery-grid { gap:9px; } .ph-gallery-label { font-size:10px; } .ph-footer-inner { flex-direction:column; align-items:flex-start; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .ph-site *, .ph-site *::before, .ph-site *::after { transition:none!important; animation:none!important; } }

/* Simplified homepage hero: one download action and an uncropped photograph. */
.ph-hero-download { width:min(100%, 420px); min-height:54px; }
.ph-portrait-wrap { width:100%; padding:12px; border:1px solid rgba(32,76,97,.10); border-radius:10px; background:var(--ph-paper); box-shadow:0 15px 55px rgba(32,76,97,.09); }
.ph-portrait { height:auto; aspect-ratio:1672/941; object-fit:contain; border-radius:5px; }
.ph-hero-bottom { min-height:22px; padding:0; }
@media (max-width:760px) { .ph-portrait-wrap { max-width:620px; margin:auto; } }
