
/* SAMO 2026-09-15: real photography, feedback and social links. */
.samo-survey { position:fixed;right:20px;bottom:20px;z-index:40;padding:12px 20px;border:1px solid #cad989;border-radius:30px;background:#193d32;color:#fff;font:600 14px/1.4 "Segoe UI",sans-serif;text-decoration:none;box-shadow:0 4px 20px #0002; }
.samo-survey:hover,.samo-survey:focus-visible {background:#2f5546;outline:3px solid #cad989;outline-offset:3px}
.hero-visual.samo-photo {margin:0;min-height:0;background:none;display:block;overflow:hidden;aspect-ratio:4/5}
.samo-photo img {display:block;width:100%;height:100%;object-fit:cover}
.about-portrait.samo-photo {margin:0;min-height:0;aspect-ratio:4/5;background:none;overflow:hidden}
.samo-gallery {width:min(calc(100% - 64px),var(--max));margin:0 auto 5rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.samo-gallery figure {margin:0}.samo-gallery img {display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px}.samo-gallery figcaption {padding:1rem 0;color:var(--muted)}
.samo-social {width:min(calc(100% - 64px),var(--max));margin:0 auto;padding:3rem 0 5rem}.samo-social h2 {font:400 clamp(2rem,4vw,3rem)/1.2 Georgia,serif}.samo-social-links {display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.samo-social-links a {padding:14px 20px;border:1px solid currentColor;border-radius:12px;text-decoration:none}
.samo-privacy {grid-column:1/-1;font-size:12px;max-width:760px;line-height:1.6}.footer-links {flex-wrap:wrap}.site-footer {padding-bottom:100px}
@media(max-width:640px){.samo-gallery {width:calc(100% - 32px);grid-template-columns:1fr}.samo-social {width:calc(100% - 32px)}.samo-survey {right:12px;bottom:12px}.hero-visual.samo-photo {min-height:0}.about-portrait.samo-photo {min-height:0}}

.hero-visual.samo-photo::before {content:none}
.samo-photo {position:relative;align-self:start}
.samo-photo img {position:relative;height:auto;aspect-ratio:4/5}

.solo-practice {width:min(calc(100% - 64px),var(--max));margin:0 auto 5rem}.solo-practice .samo-gallery {width:100%;margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}.solo-note {color:var(--muted);font-size:.9rem;max-width:700px}.solo-practice img {border-radius:20px}
@media(max-width:640px){.solo-practice {width:calc(100% - 32px)}.solo-practice .samo-gallery {grid-template-columns:1fr}}

/* Complete practice photographs, no crop. */
.solo-practice .samo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-frame{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;background:#e3dfd6;border-radius:20px;overflow:hidden}.samo-gallery .practice-frame img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0}
.core-links,.landing{width:min(calc(100% - 64px),var(--max));margin:0 auto}.core-links{padding:3rem 0 5rem}.core-links h2,.landing h1,.landing h2{font-family:Georgia,serif;font-weight:400}.core-links h2{font-size:clamp(2rem,4vw,3.5rem)}.core-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.core-grid>a{padding:2rem;border:1px solid var(--line);border-radius:20px;text-decoration:none}.core-grid>a:hover{background:#e3dfd6}.core-grid h3{font-size:1.35rem}.core-grid p{color:var(--muted)}.landing{padding-top:130px}.landing-crumbs{font-size:.85rem;color:var(--muted);margin:1rem 0 3rem}.landing-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:center}.landing h1{font-size:clamp(2.6rem,5vw,5.3rem);line-height:1.06;margin:1rem 0 2rem}.landing-lead{font-size:1.2rem;color:var(--muted);line-height:1.7}.landing-hero figure{margin:0}.landing-hero img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;border-radius:20px}.landing-body{max-width:800px;margin:4rem auto 6rem}.landing-body section{margin:0 0 3.5rem}.landing h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2}.landing-body p,.landing-body li{font-size:1.08rem;line-height:1.8}.landing-body li{margin:.75rem 0}.landing-body details{padding:1rem 0;border-bottom:1px solid var(--line)}.landing-body summary{cursor:pointer;font-weight:600}.landing-cta{padding:2rem;background:#e3dfd6;border-radius:20px}.article-next{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:800px){.core-grid{grid-template-columns:1fr}.landing-hero{grid-template-columns:1fr;gap:2rem}.landing-hero figure{max-width:480px}.landing{padding-top:100px}}@media(max-width:640px){.solo-practice .samo-gallery{grid-template-columns:1fr}.landing,.core-links{width:calc(100% - 32px)}.landing-cta{padding:1.25rem}}

.booking-options{width:min(calc(100% - 64px),var(--max));margin:3rem auto 5rem}.booking-options h2{font:400 clamp(2rem,4vw,3.5rem)/1.15 Georgia,serif}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.booking-grid>div{padding:2rem;border:1px solid var(--line);border-radius:20px}.booking-grid h3{font-size:1.4rem}.booking-grid p{color:var(--muted)}.booking-cat{border:1px solid var(--forest);color:var(--forest)}.landing-body .booking-options{width:100%}.booking-options .button{white-space:normal;text-align:center}.site-nav{gap:1rem}@media(max-width:700px){.booking-grid{grid-template-columns:1fr}.booking-options{width:calc(100% - 32px)}.booking-grid>div{padding:1.4rem}}

/* Search guides: readable without script, responsive comparison and contents. */
.landing-hero>div{min-width:0}.landing-hero .button{white-space:normal;text-align:center;max-width:100%}
.seo-guide-head{max-width:950px}.seo-guide h1{font-size:clamp(2.25rem,4.5vw,4.6rem);overflow-wrap:break-word}.seo-byline{color:var(--muted);font-size:.9rem}.seo-toc{padding:1.5rem 2rem;background:#e3dfd6;border-radius:20px;margin-bottom:3rem}.seo-toc ol{margin-bottom:0}.seo-guide section{scroll-margin-top:110px}.seo-table-wrap{overflow-x:auto;max-width:100%;margin:1.5rem 0}.seo-table{border-collapse:collapse;width:100%;min-width:650px;font-size:.95rem;line-height:1.6}.seo-table caption{text-align:left;margin-bottom:1rem;font-weight:600}.seo-table th,.seo-table td{padding:1rem;border:1px solid var(--line);text-align:left;vertical-align:top}.seo-table thead{background:#e3dfd6}.seo-glossary dt{font-weight:700;margin-top:1.25rem}.seo-glossary dd{margin:.4rem 0;line-height:1.8}.seo-sources{font-size:.95rem}.seo-guide .landing-cta{margin:3rem 0}.seo-reading{padding-top:2rem}.seo-reading .core-grid>a{display:flex;flex-direction:column;gap:.7rem}.seo-reading .core-grid span{margin-top:auto;font-weight:600}.seo-reading .core-grid h3,.seo-reading .core-grid p{margin:0}.seo-guide .booking-options{margin-bottom:0}@media(max-width:640px){.seo-toc{padding:1.25rem}.seo-toc ol{padding-left:1.25rem}.landing h1{overflow-wrap:break-word}}
